Skip to content
Volver a proyectos

Año 2026

★ Destacado

IRONHAUS Gym

Reserva de clases de gimnasio con backend real: cupos en vivo y regla de capacidad.

IRONHAUS Gym

Tests de integración

11/11

Regla de capacidad

409

Clases seed semanales

12

Acerca del proyecto

Demo full-stack para un gimnasio premium: API NestJS con TypeORM y PostgreSQL, frontend React + Vite con TanStack Query. La funcionalidad estrella es la reserva de clases: el horario semanal muestra cupos en vivo y el backend rechaza con 409 Conflict cuando una clase está llena. Incluye vista de detalle por clase, "mis reservas" con cancelación, y seed automático que deja el horario poblado.

01. Problema

Las reservas con sobrecupo son el bug clásico de los sistemas de agenda: dos usuarios toman el último lugar al mismo tiempo y la clase queda sobrevendida.

02. Solución

La regla vive en el backend: al reservar se cuentan las reservas activas y se rechaza con 409 si activas ≥ capacidad, con bloqueo de duplicados por miembro. El frontend refleja cupos en vivo e invalida caché con TanStack Query tras cada mutación.

03. Resultado

Suite de integración 11/11 en verde cubriendo el flujo completo: reservar, llenar clase, 409, duplicados, cancelar y validaciones.

Galería

(04)
IRONHAUS Gym — 1
IRONHAUS Gym — 2
IRONHAUS Gym — 3
IRONHAUS Gym — 4