CineNova
Características principales
Mapa interactivo de butacas con estados reales (libre/ocupada/retenida/premium/accesible) y máx 8 por compra
Reserva transaccional con retención de 10 min y control de concurrencia: 409 si la butaca acaba de ocuparse
Máquina de estados de reserva pending → confirmed (código QR) → used / cancelled, con liberación de butacas
Ticket con código QR, cuenta atrás de expiración y cancelación desde pendiente o confirmada
Programa de fidelidad Nova Club: +10 puntos por butaca, niveles y progreso
Gráfico real de ocupación por función con ejes, fechas y tooltip (SVG propio, sin librerías)
Reseñas 1-5 con duplicados rechazados y login con username o email (JWT persistente)
Descripción
Cine independiente con experiencia de compra completa para el cliente final: cartelera (ahora en cines / próximamente) con búsqueda y filtros, ficha de película con sinopsis, duración, clasificación, director y valoraciones de la comunidad, sesiones por día con sala, formato (2D/3D/IMAX/VOSE), idioma y precio, mapa interactivo de butacas (libre/ocupada/retenida/premium/accesible, máx 8 por compra), reserva transaccional con retención de 10 minutos, confirmación con código QR (CNV-XXXXXX) y máquina de estados pending → confirmed → used / cancelled, cancelación que libera las butacas, puntos de fidelidad (+10 por butaca) con niveles y progreso, gráfico real de ocupación por función (SVG propio con ejes, fechas y tooltip) y reseñas 1-5 con duplicados rechazados. UI "Proyector" (superficie oscura, ámbar de proyector, terciopelo rojo) en modo oscuro. Login con username o email, JWT persistente. Angular 22 + NestJS 11 + SQLite.
Tecnologías utilizadas
Angular
TypeScript
SQLite