Overview
A full-stack reservation platform for booking party spaces and activity-based amenities — trampolines, bowling lanes, climbing walls, and roller skating. Users browse a central service catalog, explore individual service pages, and reserve time slots through a calendar-based availability interface.
Reservations are stored per account and surfaced through a transaction history dashboard, giving users a persistent record of past and upcoming bookings.
Features
- Service catalog browsing across venue and activity types
- Individual service detail pages with live availability
- Time-slot scheduling with calendar-based availability
- Account-based booking storage and history view
- Search and availability filtering across services
- Time-range booking controls
- Verified-user review system
Technologies
Screenshots
Reflections
Building the full booking flow as a single integrated system — from catalog browsing through time-slot selection to account persistence — surfaced coordination challenges that isolated frontend exercises don't reveal. Time-slot conflict checking had to be enforced at the database level to remain reliable across concurrent sessions, which required thinking carefully about when validation happens client-side versus server-side.
Designing the reservation state machine — available, held, confirmed, cancelled — also revealed how much UI complexity follows directly from backend data decisions. This project clarified how frontend interaction principles and backend architecture are more tightly coupled than they appear when learned in isolation.