PWA_UTT
Problema y alcance
El proyecto aborda el registro de inspecciones en laboratorios donde la conectividad puede ser intermitente. El alcance incluye capturar y consultar información localmente y coordinar su envío posterior.
La aplicación es un proyecto académico y sus datos de muestra son sintéticos; no representa un despliegue institucional validado.
Arquitectura y recorrido
IndexedDB separa los registros locales, la cola de sincronización y los conflictos. Cada operación queda asociada a una cuenta y conserva un identificador estable para que un reintento pueda reconocer una solicitud ya recibida.
Al recuperar conexión, la cola procesa dependencias y envía cambios a las rutas del servidor. Supabase Auth, Postgres y RLS participan en la sesión, los datos y la autorización por rol. Las rutas distinguen los permisos de técnico y coordinador.
Decisiones técnicas
La política conserva una copia local y una intención de sincronización en una transacción IndexedDB. Las operaciones usan una solicitud congelada e idempotencia para que una pérdida de respuesta no duplique escrituras.
- Los fallos transitorios se reintentan con espera creciente y un máximo documentado; los datos locales permanecen si se agotan los intentos.
- Una discrepancia de versión abre un conflicto explícito. La persona puede conservar su captura o adoptar una versión remota autorizada; no hay sobrescritura silenciosa.
Validación documentada
El repositorio describe pruebas automatizadas con IndexedDB en memoria y transporte simulado para persistencia, pérdida de ACK, reintentos, aislamiento por cuenta y resolución de conflictos.
La URL de demo responde y redirige a `/login`. Eso confirma que la ruta está disponible, no el funcionamiento de flujos autenticados; la última documentación tampoco acredita validación contra Supabase remoto.
Límites conocidos
Los tests simulados no reproducen la red física, concurrencia real entre navegadores ni políticas remotas. Esas validaciones y una sesión de demo con acceso autorizado siguen pendientes.