Sports court booking platform for Santiago, Chile. Built as a full-stack SaaS with multi-role authentication and admin panel.
- React 19 + Vite
- Tailwind CSS v4
- React Router v7
- Supabase (PostgreSQL + Auth + RLS)
- Leaflet / OpenStreetMap
- SweetAlert2
- FullCalendar
- date-fns
- Onboarding screen on first visit
- Email authentication with registration and login
- Court listing with filters by sport
- Court detail page with interactive map
- Date and time slot selection with real availability
- Booking confirmation and cancellation
- Personal booking history
- Profile page with name editing
- Protected admin panel by role
- Dashboard with real metrics
- Full bookings table with user and court info
- Weekly and monthly calendar view
- Court management with sede assignment
- Sede management
- User directory
- Row Level Security on all tables
- Multi-tenant architecture (superadmin / admin / user)
- Mobile-first responsive design
- Skeleton loading states
- Custom 404 page
npm install
npm run devVITE_SUPABASE_URL=your_supabase_url
VITE_SUPABASE_KEY=your_publishable_key




