Saltar al contenido
Full-Stack + Mobile Operaciones Industriales

Ecosistema de gestión para operaciones en energía renovable

18 de junio de 2024
Portada de Ecosistema de gestión para operaciones en energía renovable

Panel para coordinar al equipo técnico, sitio cliente con evidencias y avance del servicio, y app móvil que captura evidencias en campo con sincronización offline-first.

PHPVueJavaScriptMySQLREST APIsReact Native +3
Plataformas

multicanal

Full
Tipo

Full-Stack + Mobile

Vindgroup
Ecosistema

proyecto central

Contexto

Desarrollé un ecosistema integral para coordinar servicios de mantenimiento e inspección en parques eólicos: un panel administrativo donde se planea y controla el trabajo del equipo técnico, un sitio cliente donde se consultan evidencias y avance real del servicio, y una app móvil con la que los técnicos capturan evidencias y reportes desde campo, incluso sin internet.

Reto

Cerrar el ciclo entre planeación, ejecución en campo y entrega de evidencias al cliente, sin perder fotos ni reportes en zonas de conectividad intermitente y respetando reglas estrictas de roles dentro del equipo técnico.

Tipo de colaboración

Desarrollo y mantenimiento evolutivo full-stack del panel y el sitio cliente, más participación en el rediseño y estabilización de la app móvil en su segunda versión.

Mi aporte

  • En el panel: módulos para organizar al equipo técnico por proyecto y turbina, asignación de responsables, control de avance y consolidación de reportes.
  • En el sitio cliente: vistas para que el cliente acceda a evidencias y al avance real de los trabajos contratados, sin depender de envíos manuales.
  • En la app móvil: hice que funcione sin internet y que ninguna foto o reporte se pierda cuando vuelve la señal, con control de permisos por rol, sello automático de contexto en cada evidencia (proyecto, técnico, turbina, fecha) y firma digital integrada.

Resultado

Un ecosistema operativo coherente donde el equipo planea desde el panel, ejecuta y evidencia desde la app, y entrega visibilidad al cliente desde el sitio, con menos pérdidas de información, mejor trazabilidad por servicio y operación continua incluso sin conectividad.

Stack

PHP, Vue, JavaScript, MySQL y APIs REST en panel/sitio. React Native con Expo, TypeScript y SQLite en la app móvil.

Cómo se conectan panel, sitio cliente y app móvil Mostrar más
Panel administrativo organiza al equipo técnico, asigna y reporta Sitio cliente visibilidad del avance y evidencias verificables App móvil offline-first · captura watermark · firma digital
  • Panel administrativo es la pieza coordinadora: define proyectos, asigna técnicos y ayudantes a turbinas, y consolida reportes diarios y procesos.
  • Sitio cliente lee del mismo flujo operativo, así que el cliente ve avance y evidencias reales, no resúmenes manuales.
  • App móvil es la herramienta que ejecutan los técnicos en campo. Recibe del panel sus permisos (proyecto, turbina, rol) y devuelve evidencias y reportes que terminan visibles en panel y sitio cliente.
Panel administrativo: cómo organiza al equipo técnico Mostrar más
  • Proyectos como contenedor de trabajo. Cada servicio a un parque eólico se modela como proyecto, con sus turbinas, técnicos, ayudantes y procesos asociados.
  • Asignación de equipo y roles. El panel define quién entra como Técnico, quién como Ayudante, y a qué proyecto y turbina está habilitado.
  • Procesos y evidencias por turbina. Cada turbina tiene sus inspecciones, daños, palas y evidencias asociadas, todo trazable.
  • Avance y reportes. El panel consolida reportes diarios y procesos completados para tener visibilidad operativa real, no estimaciones.
  • Permisos por módulo y vista. Solo quien debe coordinar ve coordinación; solo quien debe operar ve operación.
Sitio cliente: visibilidad para el cliente final Mostrar más
  • Vista de servicios contratados. El cliente entra a su zona privada y ve los servicios activos sobre sus turbinas.
  • Avance real, no reportes maquillados. La información proviene del mismo flujo que ejecuta el equipo técnico, sin desfase entre lo reportado y lo ejecutado.
  • Evidencias verificables. Las fotos de campo llegan al cliente con su contexto (proyecto, técnico, turbina, evidencia, fecha) gracias al watermark embebido desde la app.
  • Cierre y entregables. El cliente accede a los entregables consolidados sin esperar correos ni archivos sueltos.
App móvil: qué hace en campo Mostrar más
  • Herramienta oficial del equipo técnico para inspecciones, mantenimientos y reporte diario, construida en Expo + React Native + TypeScript.
  • Roles dentro de la app: Técnico (procesos sobre turbina) y Ayudante (reporte diario), con cambio de rol controlado y bloqueado offline.
  • Captura de evidencias desde cámara y galería, con watermark embebido (proyecto, técnico, turbina, evidencia y fecha) generado completamente offline.
  • Firma digital integrada en pantalla y generación de documentos de cierre.
  • Autenticación biométrica para evitar reabrir sesión completa cada turno.
  • Selector de proyecto y turbina que respeta los permisos definidos en el panel.
Sincronización offline-first Mostrar más

La app está pensada para parques eólicos sin conectividad estable. Por eso:

  • Persistencia local en SQLite con un mutex propio para serializar escrituras y evitar bloqueos cuando hay múltiples flujos activos.
  • Cola de sincronización con trabajos procesados por lotes acotados y debounce, para no saturar el dispositivo ni el servidor.
  • Control de sesión: la cola solo corre cuando hay sesión válida y token vigente.
  • Clasificación de errores:
    • Reintentables: red caída, timeouts y errores transitorios del servidor.
    • Bloqueantes: payload inválido o errores de validación; el trabajo se bloquea y la cola sigue avanzando.
  • Resultado visible: un elemento con problema nunca atora toda la cola, las fotos no se pierden y el técnico puede seguir trabajando aunque no haya señal.
Reglas de negocio críticas Mostrar más
  • Un rol activo a la vez. El usuario opera bloqueado dentro del rol que eligió al iniciar sesión.
  • Cambio de rol explícito y con conexión. No hay cambio automático: requiere acción del usuario y conexión a internet.
  • Datos pendientes antes de cambiar. Si hay sincronizaciones pendientes, la app intenta enviarlas; si no es posible, el usuario debe confirmar el descarte con acción explícita.
  • No se mezclan datos entre roles. Al cambiar de rol se limpia el contexto local del rol anterior.
  • Evidencias siempre con contexto. Toda foto que llega al servidor lleva el watermark generado desde datos locales, así no se desligan del proyecto y de la turbina.
Detalles técnicos del ecosistema Mostrar más
  • Panel y sitio cliente: PHP, Vue/JavaScript, MySQL y APIs REST sobre el mismo backend para mantener una sola fuente de datos.
  • App móvil: Expo, React Native, TypeScript, SQLite, manipulación de imágenes para watermarking, firma digital en pantalla y autenticación biométrica.
  • Generación de evidencias con watermark embebido en la imagen final antes de subir, para que la prueba sea auto-suficiente.
  • Resiliencia operativa: validaciones por capa, mutex para concurrencia local, retry con backoff y guardas anti-loop.