Infraestructura tecnológica
Dos aplicaciones de cliente, dos procesos, una sola base de datos. Ninguna tiene backend propio para los datos: el navegador habla directo con Firebase, y eso explica la mayor parte de sus virtudes y de sus límites.
Arquitectura
Componentes
| Pieza | Estable (oficial) | v1 |
|---|---|---|
| Proceso | polariscore-estable | polariscore |
| Puerto interno | 3121 | 3101 |
| Código | apps/polariscore-estable | apps/polariscore |
| Dominio | planitone.co/polariscore/ | polariscore.planitone.co |
| Servidor | Node.js con Express: estáticos + rutas limpias. Sin lógica de datos. | |
| Frontend | HTML monolítico, Bootstrap, Chart.js y ECharts por CDN. | Vite + Tailwind con design system propio, Chart.js empaquetado. |
| Compilación | Ninguna: se edita el HTML y listo. | Requiere build; la salida va a public/dist/. |
| Correo | — | Nodemailer sobre un relé SMTP, con endpoint propio. |
| Instalable | — | Sí: manifiesto y trabajador de servicio. |
| Datos | Firebase RTDB, Storage y Auth del proyecto sigunitropico. | |
Lo que implica no tener backend de datos
A favor
- Los cambios se ven en tiempo real, sin API intermedia que mantener.
- Las dos versiones comparten datos sin ningún esfuerzo de sincronización.
- Publicar una corrección en la estable es copiar un archivo.
En contra
- La seguridad real depende de las reglas de la base, no del código de la página.
- La lógica de cálculo vive duplicada: cada versión la implementa por su cuenta y pueden divergir —y divergen—.
- Los totales se persisten desde el navegador de quien abre la ficha.
Despliegue y operación
| Tarea | Estable | v1 |
|---|---|---|
| Publicar un cambio de vista | Editar el HTML; se ve al recargar. | Editar src/, compilar y reiniciar el proceso. |
| Cambiar rutas | Editar server.js y reiniciar. | Editar el mapa de vistas y reiniciar. |
| Comprobar salud | /polariscore/health | /health y /api/version |
| Ver versión desplegada | — | /api/version reporta versión y arranque. |
Dependencias externas
La estable carga todas sus librerías por CDN —Firebase, Bootstrap, Chart.js, ECharts, SheetJS—, así que no funciona sin conexión aunque el servidor esté disponible. La v1 empaqueta la mayoría en su compilación y solo va a la red para Firebase y para cargar SheetJS bajo demanda.
Copias de seguridad
Las intervenciones grandes sobre datos dejan respaldo fechado en una carpeta de respaldos del repositorio, con la copia de los archivos y de los subárboles afectados antes del cambio. Es la convención esperada antes de cualquier migración: los cambios de horizonte de una política y las cargas masivas son irreversibles sin ella.
Relacionado: Las dos versiones · Rutas de acceso · Permisos.