VirtualQ
Ecosistema full-stack de parque temático con colas virtuales, gestión en tiempo real y app móvil para visitantes.
Descripción
VirtualQ es un ecosistema full-stack diseñado para mejorar la experiencia en parques temáticos tanto para operadores como para visitantes. Se construyó como mi Trabajo de Fin de Grado en Ingeniería Informática en ICAI, con un 95%.
El sistema tiene dos interfaces principales: un Portal de Gestión construido con Django para operaciones del parque, y una App Móvil construida con React Native para visitantes.
Portal de Gestión
El dashboard basado en Django da a los operadores del parque control sobre:
- Gestión de atracciones: configuración de capacidad, estado y programación de cada atracción
- Administración de entradas: emisión, validación y seguimiento de entradas en todo el parque
- Monitorización de colas: estado de colas virtuales en tiempo real con controles de capacidad
- Analítica de visitantes: datos de flujo, horas punta y métricas de utilización
App Móvil
La app en React Native (desplegada vía Expo) es la interfaz para visitantes:
- Reserva de cola virtual: únete a colas remotamente y recibe notificación cuando sea tu turno
- Compra de entradas: compra y gestiona entradas desde tu móvil
- Planificación de itinerario: rutas sugeridas basadas en tiempos de espera y preferencias actuales
- Mapa interactivo del parque: overlays en vivo mostrando longitud de colas y estado de atracciones
Arquitectura
Construido como un sistema de microservicios con Django manejando la capa API y SQLite para persistencia de datos. La app móvil se comunica vía endpoints REST. El algoritmo de cola virtual tiene en cuenta patrones estacionales y variaciones horarias, logrando una reducción del 50% en tiempos de espera simulados.
Lo que Aprendí
Servir a dos grupos de usuarios muy diferentes con un solo sistema fuerza trade-offs de diseño reales. Los gestores del parque necesitan densidad de datos y control. Los visitantes necesitan simplicidad y velocidad. Cada decisión arquitectónica tenía que equilibrar ambos.