Primer proyecto de principio a fin · equipo a cargo · Tecon (Ekiba) · 2021-2022
GICA, sistema de gestión de incendios para GEACAM
El sistema con el que las cuadrillas de GEACAM reportan su trabajo desde el campo, incluso sin cobertura móvil, mientras una web de gestión orquesta turnos y campañas y convierte la jornada en informes de gestión.
GEACAM es la empresa pública encargada de prevenir y combatir los incendios forestales en Castilla-La Mancha. Sobre el terreno, cada cuadrilla la dirige un capataz que tiene que reportar el trabajo del día, y esa información es la que después alimenta la gestión de la campaña.
El problema es que las cuadrillas trabajan en plena montaña, muchas veces sin nada de cobertura móvil, y el parte hay que darlo igual cada día. GICA es el sistema que construí para que eso funcionara. Fue también el primer proyecto que llevé de principio a fin: los requisitos con el cliente, la arquitectura, el desarrollo y un pequeño equipo a mi lado. Lo que sigue es una vista general, a propósito poco detallada.
Cómo funciona #s1
En el centro hay unos datos comunes (turnos, campañas, cuadrillas) que tienen que mantenerse actualizados desde una web de gestión. Esa web es donde el personal de GEACAM orquesta los turnos y las campañas que bajan a la app de campo, y donde el trabajo del día, una vez vuelve, se convierte en los informes que sirven para la gestión de la jornada laboral.
Al otro lado está una app móvil, lo único que tocan los capataces. Como una cuadrilla puede pasar el día entero en una zona sin cobertura, está pensada para funcionar del todo sin conexión: captura el trabajo del día en el dispositivo y lo sincroniza con los datos comunes en cuanto vuelve a haber conexión. La app móvil se delegó en un compañero; mi alcance era la plataforma completa que hay detrás: la web de gestión y los datos sobre los que se apoya todo.
Del parte diario a los informes #s2
Donde el sistema aporta más valor es en los informes. De esos partes diarios del campo, GEACAM tiene que sacar los informes con los que gestiona la jornada: quién ha trabajado en cada unidad, en qué presencia y con qué relevos.
La parte difícil son los cambios de turno. Una cuadrilla no es una lista fija: a lo largo del día y del mes hay titulares, sustituciones y personas que cambian de turno, y el informe tiene que reflejar quién cubrió de verdad cada puesto. Cuadrar eso a mano, unidad por unidad y día tras día, era lento y fácil de equivocar.
GICA lo agiliza automatizándolo: a partir de los datos del campo reconstruye quién estuvo en cada puesto, contando esos relevos, y genera los informes ya listos como archivos descargables, un fichero por unidad y empaquetados juntos cuando se piden varias. Lo que antes era un trabajo manual y propenso a errores pasó a ser un par de clics.
A escala real #s3
GICA no fue nunca un piloto. Más de 2.200 usuarios daban su parte cada día, en toda Castilla-La Mancha: uso real y sostenido, no una demo. Esa escala es también la razón de que automatizar los informes importara tanto, porque con ese volumen cuadrar los turnos a mano no se sostiene.
La tecnología, a grandes rasgos #s4
Por debajo es un montaje clásico en tres capas, que aquí dejo a propósito muy por encima: los dos clientes (la app móvil de campo y la web de gestión en Angular) hablan por HTTP con una API en Node.js y Express escrita en TypeScript, que se apoya en una base de datos relacional MySQL.
Qué me llevé #s5
GICA fue donde por primera vez llevé un producto sobre mis propios hombros: hablar con el cliente, decidir la arquitectura, escribir el código y liderar un pequeño equipo. La libertad para moverme rápido y ser dueño del resultado sigue siendo una de las cosas que más he disfrutado en mi carrera.
También creció mucho más allá de su alcance inicial, lo que me enseñó pronto cuánto se rentabiliza una arquitectura limpia en cuanto un sistema tiene que crecer hacia algo que su primera especificación nunca mencionó.