appxdata — App de campo multiplataforma (OFITECO)
Reescritura sobre stack moderno de la app de auscultación de OFITECO: campo, calibraciones, incidencias, alarmas y SCADA, offline-first, para Android e iOS.
El problema
Los equipos de auscultación toman lecturas en campo —presas, túneles, puentes— a menudo en ubicaciones sin cobertura fiable. La app legacy (Angular + Ionic) arrastraba deuda técnica y defectos de seguridad. El objetivo: una reescritura multiplataforma, offline-first, fiel en funcionalidad pero sólida en seguridad y mantenible.
Qué construí
Una app Capacitor (Android e iOS) que digitaliza el trabajo de campo de principio a fin, funcionando sin conexión y sincronizando cuando vuelve la red:
- Lecturas manuales: rutas planificadas, numpad con sanitización en vivo, foto, lectura de QR, histórico por sensor (gráficas).
- Calibraciones e inspecciones: formularios de campos dinámicos por tipo de equipo, completitud de tarea, incidencias con validación.
- Alarmas (valor vs umbral) y SCADA (presas → esquemas → sinóptico interactivo con valores en tiempo real).
- Sincronización offline: cola FIFO, resolución de conflictos (HTTP 409, last-write-wins), indicador de red, token persistente.
- Multivariante por tipo de infraestructura (presas / túneles / puentes), con app id, nombre e icono propios por variante.
- 4 idiomas (es / ca / en / fr) con autodetección por navegador.
Seguridad (vs legacy)
HTTPS por defecto (HTTP solo con consentimiento explícito) · token JWT cifrado en reposo (nunca en localStorage) · base de datos local cifrada (SQLCipher, passphrase en el Keystore del dispositivo) · CSP estricta en build · allowBackup=false · 0 vulnerabilidades en npm audit.
Métricas técnicas (verificables)
- ~768 tests (Vitest), cobertura 100/100/100/94, lint + type-check + a11y limpios.
- Clean Architecture 4 capas (
domain / application / infrastructure / presentation), enforced poreslint-plugin-boundariescon canary anti-regresión. - Verificado en dispositivo real (flujos end-to-end, 0 errores en logcat). WCAG 2.1 AA (axe + Playwright).
Stack
Svelte 5 (runes) · TypeScript estricto · Vite 7 · Tailwind 4 · flowbite-svelte · Capacitor 8 (Android/iOS) · SQLite cifrada (SQLCipher) · ApexCharts.
Proyecto profesional en OFITECO (Grupo VINCI) · repositorio privado. En curso: terminando la versión Android; siguiente paso, compilación para iOS (Capacitor comparte la base de código).
Otros trabajos con un enfoque técnico afín:
Dashboard ejecutivo de monitorización (OFITECO)
Panel de gestión para monitorización de infraestructura: tabla avanzada, filtros en cascada, KPIs reactivos y mapas interactivos, en 4 idiomas y WCAG AA.
Pulso — Monitorización de salud estructural (OFITECO)
Plataforma web que ausculta puentes y edificios desde vibraciones: análisis modal operacional (OMA) automático, seguimiento y alertas de daño. En producción.
xdata-bim — Gemelo Digital de Infraestructura (OFITECO)
Plataforma web de gemelo digital (BIM + GIS + IoT) para monitorizar infraestructura crítica en tiempo real, en solitario de la arquitectura a producción.