Todos los proyectosAbrir el sitio

Legacy Hair Studio

Reservás sin llamar.
Y dos turnos no se pueden pisar.

Sistema de turnos para una barbería de Rosario: reserva online en tres pasos, sin cuenta ni seña, gestión del turno desde un enlace y un panel para que el local maneje su agenda.

Mi rol
Proyecto propio: diseño, desarrollo y despliegue.
Stack
  • Next.js 16
  • React 19
  • Prisma
  • PostgreSQL 18
  • Docker
  • Caddy
  • Vitest

Decisiones que importan

  1. La doble reserva es imposible

    No lo chequea la aplicación: lo garantiza PostgreSQL con una restricción EXCLUDE USING gist. Un test dispara 10 reservas en paralelo contra la base real para probarlo.

  2. Los avisos no se pierden

    Outbox transaccional con FOR UPDATE SKIP LOCKED: el mail sale solo si el turno se guardó, y dos pasadas superpuestas no se pisan.

  3. El calendario se mantiene al día

    Cada turno genera su .ics con UID estable y SEQUENCE: si lo movés o lo cancelás, se actualiza en el calendario del cliente.

Siguiente proyectoDakodev