Premium dining and table reservations for Felix Restaurants. The app provides a customer-facing booking flow with rich restaurant cards, plus an internal management portal for reservations and operations.
- Multi-restaurant landing experience with media-rich cards
- Reservation flow with date/party size/area selection
- Admin portal for managing reservations
- Localization-ready UI
- Email notifications via Resend
- Supabase-backed data and auth
- Next.js 15 + React 19
- TypeScript
- Tailwind CSS + Radix UI
- Supabase
- Resend
- Install dependencies:
npm install
- Create your environment file:
cp .env.example .env
- Fill in the required values in
.env. - Run the dev server:
npm run dev
npm run dev- start the development servernpm run build- build for productionnpm run start- run the production servernpm run lint- lint the codebase
Defined in .env.example:
SUPABASE_URL- Supabase project URL (server-side)SUPABASE_SERVICE_ROLE_KEY- Supabase service role key (server-side, keep private)SUPABASE_ANON_KEY- Supabase anon key (server-side)NEXT_PUBLIC_SUPABASE_URL- Supabase project URL (client-side)NEXT_PUBLIC_SUPABASE_ANON_KEY- Supabase anon key (client-side)RESEND_API_KEY- Resend API key for transactional emailMANAGEMENT_EMAIL- notification recipient for management emails
Build the app with npm run build, then run with npm run start. Ensure all environment variables are configured in your hosting platform.