Skip to main content

📚 IndexedDB – Gestión de Catálogos Offline

IndexedDB se utiliza en la plataforma Alpura como un sistema de almacenamiento local avanzado para guardar grandes volúmenes de datos, como los catálogos de productos, clientes, etc.

El objetivo es asegurar que la aplicación tenga acceso a esta información esencial incluso sin conexión a internet, mejorando drásticamente el rendimiento y la resiliencia.


🖼️ Flujo de funcionamiento

La siguiente imagen ilustra cómo la plataforma gestiona la carga y actualización de catálogos para el modo offline.

Flujo Catalogo


🧩 ¿Cómo funciona?

El sistema sigue una estrategia de "cache-then-network" con validación por hash.

  1. Carga y Verificación: Al iniciar la aplicación con conexión, se solicita un catálogo al servidor. La respuesta de la API incluye los datos y un hash único que representa la versión actual de ese catálogo.
  2. Comparación de Hash: El sistema compara el hash recibido con el que está guardado localmente en IndexedDB (si existe).
  3. Actualización Inteligente:
    • Si los hashes son diferentes (o no hay versión local), el nuevo catálogo se descarga y se almacena en IndexedDB, reemplazando la versión anterior.
    • Si los hashes son iguales, no se realiza ninguna descarga, ahorrando ancho de banda y acelerando la carga.
  4. Acceso Offline: Cuando la aplicación no tiene conexión a internet, lee la información de los catálogos directamente desde IndexedDB, permitiendo que las funcionalidades que dependen de ellos sigan operando.

✅ Beneficios

  • Disponibilidad Continua: Los catálogos esenciales están siempre disponibles.
  • Rendimiento Mejorado: La lectura de datos locales es mucho más rápida que una petición de red.
  • Uso Eficiente de Ancho de Banda: Solo se descargan datos cuando hay cambios reales.

📬 Soporte

Para dudas sobre el manejo de catálogos en modo offline, contactar al equipo de arquitectura o soporte.