Bolera — Reserva de pistas por franja
Características principales
Ciclo B2C: hold 15 min (expiresAt servidor) → confirm → QR; sweeper 30 s; 409 anti doble-venta y same-user
Plano de pistas + selector de franjas con plazas libres reales
Checkout con zapatos/menú y contador resync en visibilitychange/focus
Mis partidas: lista↔detalle con totales consistentes y estados dinámicos
Puntos socio derivados: 15 pts × booking completed (seed y compras reales)
Admin/staff: KPIs y serie de ingresos con gráficos SVG (ejes + tooltips)
Descripción
Bolera es la reserva online de pistas de bowling para el jugador final. Explora pistas con precio y aforo, elige día y franja horaria de 60 minutos con plazas libres reales, añade zapatos y menú, y confirma el pago antes de que expire el hold. El ticket llega con QR SVG y un email simulado. En Mis partidas consulta estados (pending, confirmed, completed, cancelled, expired), cancela con política de negocio y acumula puntos de socio derivados (15 pts × booking completed). La capa de valor de verdad es el ciclo transaccional de franja: retención pending con expiresAt calculado en servidor, sweeper ~30 s que libera cupo vencido, bloqueo same-user y anti doble-venta (HTTP 409), y consistencia lista ↔ detalle. El staff consulta ocupación e ingresos con gráficos SVG reales (ejes, fechas y tooltips).
Tecnologías utilizadas
Angular
TypeScript
SQLite