Proyecto: Aplicación móvil para gestión de rutas de entregas en zona rural (modo offline) Objetivo principal Desarrollar una aplicación móvil que permita a los conductores de vehículos de transporte de leche registrar, seguir y sincronizar sus recorridos diarios y puntos de entrega, en zonas rurales sin conexión a internet y de difícil acceso. La app debe funcionar en modo offline, registrar las rutas recorridas mediante GPS, guiar al conductor por rutas predefinidas y sincronizar automáticamente los datos cuando haya conexión. Detalles técnicos Plataforma: Flutter o a criterio del desarrollador (Buscando eficiencia y robustez) - Soporte de la App en IOS/Android. Funcionalidades principales: - Modo Admin : El dueño de los vehículos tiene stats del negocio (rutas completadas, entregas confirmadas/fallidas) disponibles cuando los datos se carguen usando sincronización diferida. - Notificaciones al Admin: si el vehículo permanece quieto por 30 minutos o si se sale de la ruta y enviar notificación de alerta al dueño de los vehículos (admin), cuando se recupere conexión, es decir, los eventos se guardan localmente y se alertan al sincronizarse el teléfono a WiFi o Datos móviles. Ejemplo: “El conductor Juan Pérez se desvió de la ruta 1 a las 10:32 a.m. (evento recibido 20 min después por reconexión)” “El conductor Juan Pérez se mantuvo sin movimiento aproximadamente 25 minutos en una zona diferente a la de las entregas en la ruta 2 a las 9:24 a.m. (evento recibido 1 hora 30 min después por reconexión)” - Modo “Grabar Ruta”: registrar trazado GPS del recorrido que el conductor haga y generar una polilínea optimizada, posteriormente esa ruta guardada será guía para nuevos conductores. - Guía de ruta offline: mostrar rutas pre-cargadas (incluyendo las guardadas en modo "Grabar Ruta") y ubicación del conductor en tiempo real sin depender de conexión, la idea es guiarlo a través del camino, considere un radio de error aceptable inferior a 20m en torno a la ubicación del conductor. - Detección de paradas automáticas (por velocidad = 0 o < 1 m/s durante un tiempo determinado). - Registro de entregas: permitir ingresar datos, fotos, campo para firmar (utilizando el dedo o un lápiz en teléfonos que lo soportan) y cantidad entregada en esa parada. - Sincronización diferida: subir los datos al servidor cuando el dispositivo vuelva a tener conexión. - Mapa offline con rutas visibles y puntos de entrega. - Bases de datos locales: SQLite, Hive o Realm (según stack elegido por el desarrollador). - Backend (referencial): Node.js + PostgreSQL/PostGIS o equivalente REST API. Entregables esperados: Aplicación móvil funcional (APK lista para ejecutar y probar). Código fuente documentado y estructurado (listo para mantenimiento futuro). Manual técnico breve (instalación, dependencias, ejecución). Lógica completa de grabación de ruta, detección de paradas y sincronización offline. Implementación de mapa offline y vista de rutas pre-cargadas.