OmniManager
Proyectos
(06/11)
Cross-Platform Mobile
Descripción & Contexto
App de gestión para negocios que funciona hasta sin internet, hecha con Flutter y Supabase.
Desarrollé OmniManager para resolver un problema concreto: llevar el inventario y las operaciones de un negocio en tiempo real, incluso cuando se cae el internet. Mi prioridad era que la app fuera fluida y que trabajara sin conexión, sincronizando todo apenas vuelve la red.
Características Clave
-
Autenticación y Permisos
Control de accesos de empleados implementando seguridad a nivel de base de datos.
-
Dashboard Comercial
Gráficos estadísticos interactivos de ventas, tareas pendientes y niveles de stock.
-
Sincronización Híbrida (Offline-First)
Gestión local rápida mediante almacenamiento persistente integrado con replicación remota.
-
Gestión de Inventario (CRUD)
Registro completo de artículos comercializados con soporte para imágenes y código de barras.
Arquitectura del Sistema
Diseñé el software utilizando el patrón de arquitectura por capas recomendado en Flutter. El flujo de datos está separado en capas de Presentación (UI declarativa), Dominio (Lógica de negocio y Controladores) y Datos (Repositorios y Data Sources). La sincronización offline-first se ejecuta guardando la información localmente en Hive y encolando las modificaciones para sincronizarse asíncronamente con Supabase en la nube.
Retos Técnicos & Soluciones
El mayor reto fue modelar el pipeline de sincronización offline de manera segura. Al registrar transacciones o cambios de stock sin conexión, debían encolarse peticiones locales en Hive asegurando que, al reestablecerse la conexión, la API de Supabase resolviera los conflictos de concurrencia de datos cronológicamente, evitando duplicidades de facturas y pérdidas en la contabilidad del inventario.
Stack Tecnológico
- Flutter
- Dart
- Supabase
- Hive
Ficha Técnica
- Rol
- Arquitectura, Diseño y Desarrollo
- Tipo
- Cross-Platform Mobile
- Impacto & Resultados
- Desplegué una aplicación sumamente rápida capaz de operar al 100% sin internet, sincronizando lotes de transacciones pendientes en menos de 1.5 segundos tras detectar el cambio de estado de conectividad en el dispositivo.
- Aprendizajes
- Con OmniManager aprendí a fondo cómo construir apps offline-first, combinando una base de datos local ultraligera (Hive) con un backend en la nube (Supabase). Me sirvió para comprobar que sí se pueden hacer apps comerciales que escalan sin depender de la conexión. <div