Por qué es necesario el modo offline
Los eventos suelen celebrarse en lugares con internet inestable: salas de conferencias en sótanos, espacios al aire libre, ubicaciones remotas. tikento garantiza el trabajo completo del organizador incluso sin conexión a la red.
El modo offline se activa automáticamente al perderse la conexión. No se requieren configuraciones ni acciones especiales.
Qué funciona offline
Check-in de participantes
El escenario principal offline. Puedes:
- Escanear códigos QR de entradas
- Buscar participantes por nombre o número de registro
- Marcar la llegada de un participante
- Ver el estado de check-in (marcado / no marcado)
Todas las marcas se guardan localmente y se sincronizan con el servidor cuando internet esté disponible.
Consulta de la lista de participantes
La lista completa de participantes registrados está disponible offline:
- Nombre, email, teléfono
- Tipo de entrada
- Estado de registro y pago
- Campos adicionales del formulario de registro
Los datos se almacenan en caché con cada visita a la página de participantes en modo online.
Consulta de información de eventos
La información básica de tus eventos está disponible offline:
- Nombre, descripción, fechas
- Lugar de celebración
- Tipos de entradas y precios
- Cantidad actual de registros
Consulta de pagos
La lista de pagos por evento está disponible para consulta offline:
- Importe y estado
- Método de pago
- Fecha de pago
Marcado manual de pago
Si un participante paga en el lugar (en efectivo o por transferencia), puedes marcar el pago manualmente. La marca se guardará localmente y se sincronizará después.
Qué NO funciona offline
Algunas operaciones requieren conexión al servidor y no están disponibles sin internet:
- Creación de nuevos eventos -- se requiere generar un slug y verificar su unicidad
- Procesamiento de pagos online -- la pasarela de pago no está disponible sin red
- Envío de notificaciones -- email y Telegram requieren conexión
- Edición del formulario de registro -- el versionado de formularios requiere el servidor
- Gestión del equipo -- las invitaciones y los roles requieren validación en el servidor
- Informes financieros -- los cálculos se realizan en el servidor
Al intentar realizar una acción no disponible, el sistema mostrará una notificación explicando que se requiere conexión a internet.
Almacenamiento de datos
IndexedDB y Dexie.js
Los datos locales se almacenan en la base de datos del navegador IndexedDB mediante la biblioteca Dexie.js. Tablas principales:
| Tabla | Contenido |
|---|---|
events | Información de eventos |
registrations | Lista de participantes y estados |
payments | Pagos y transacciones |
syncQueue | Cola de cambios pendientes de sincronización |
meta | Metadatos de sincronización (last sync timestamp) |
Cifrado
Todos los datos en IndexedDB están cifrados para proteger los datos personales de los participantes:
- Algoritmo: AES-GCM (256-bit)
- Clave: se deriva de las credenciales del usuario mediante PBKDF2 (100 000 iteraciones)
- Cifrado/descifrado se realiza a través de Web Crypto API en el lado del cliente
Los datos no se pueden leer sin autorización en el sistema. Al cerrar sesión (logout), los datos locales se eliminan.
Preparación para el trabajo offline
Aunque el modo offline se activa automáticamente, para un funcionamiento fiable se recomienda:
- Abre el evento con antelación. Ve a la página del evento y abre la lista de participantes con conexión a internet. Los datos se almacenarán en caché automáticamente.
- Verifica el indicador de sincronización. Asegúrate de que todos los datos estén cargados -- el indicador debe estar en verde.
- Instala la PWA. Instala tikento en la pantalla de inicio del dispositivo para un funcionamiento offline más fiable.
Compatibilidad
El modo offline funciona:
- En PWA (instalada en la pantalla de inicio) -- la mejor experiencia
- En el navegador móvil (Chrome, Safari, Firefox)
- En el navegador de escritorio
- En Telegram Mini App (con limitaciones dependientes del cliente de Telegram)
Para un funcionamiento offline estable se recomienda usar la PWA.