El reto
OptixLab ofrece varios servicios (packs de optimización de rendimiento, asesoría de hardware y mejora de audio), pero necesitaba un sitio donde el cliente pudiera ver los packs con sus precios, elegir un hueco libre y reservar su cita sin llamadas ni mensajes cruzados, y sin el riesgo de que dos clientes cogieran la misma franja.
Qué se construyó
El proyecto combina una web de servicios con un backend de reservas hecho a medida:
🖥️ Web de servicios
Catálogo con los packs (Boost Starter, Boost Pro, Boost Extremo, Asesoría de Hardware y Mejora de Audio), con precios, descripciones y guías técnicas de componentes y periféricos.
📅 Motor de reservas propio
Sistema que calcula los huecos libres en tramos de 30 minutos según las reglas de disponibilidad, y crea cada reserva dentro de una transacción con protección anti-solapamiento: dos clientes no pueden reservar la misma franja.
💳 Checkout y expiración automática
Flujo de reserva con caducidad automática de las citas no confirmadas (para no bloquear huecos), preparado para conectar la pasarela de pago.
Stack
Web estática (HTML/CSS/JS) + backend Node.js/Express con PostgreSQL, motor de disponibilidad propio y una suite de tests automatizados que cubre la lógica de huecos, las reservas y la concurrencia.
Estado actual
El backend de reservas está construido y probado (tests en verde, incluida la protección frente a reservas simultáneas). Queda pendiente el despliegue final y la conexión de la pasarela de pago para pasar a producción completa.