How anilpreetham23/lumiere_restaurant_app works
Lumiere is a restaurant site with online reservations, QR-based table ordering and bill payment, plus staff administration. Customers browse the public site, scan a table token to order and pay, or submit a reservation; staff manage restaurant operations through admin screens. Payment settlement is confirmed by provider webhooks. The sampled source supports the QR payment and webhook details; other listed screens and actions are represented at their existing paths, but their internal wiring was not sampled.
Main entry points: admin.ts Admin client · TableOrder.tsx Table ordering · (site) Public site · page.tsx Admin dashboard
Components 24
Guest experience
- Public site
src/app/(site) - Menu browsing
src/app/(site)/menu/page.tsx - Menu data
src/data/menu.ts - Reservations
src/app/(site)/reservations/page.tsx - Public actions
src/actions/public.ts - Table token
src/app/t/[token]/page.tsx - Table ordering
src/components/TableOrder.tsx - Web cart
src/context/CartContext.tsx
Restaurant operations
- Admin dashboard
src/app/admin/page.tsx - Floor management
src/app/admin/floor/page.tsx - Kitchen management
src/app/admin/kitchen/page.tsx - Menu management
src/app/admin/menu/page.tsx - Restaurant settings
src/app/admin/settings/page.tsx - Admin actions
src/actions/admin.ts
Payments
- Payment actions
src/actions/pay.ts - Stripe
- Razorpay
- Stripe webhook
src/app/api/webhooks/stripe/route.ts - Razorpay webhook
src/app/api/webhooks/razorpay/route.ts
Data platform
- Server client
src/lib/supabase/server.ts - Admin client
src/lib/supabase/admin.ts - Supabase
Other components
- Guest
- Restaurant staff
Connections 26
- Guest → Public site: browses
- Public site → Menu browsing: links to
- Public site → Reservations: links to
- Menu browsing → Menu data: reads
- Guest → Table token: scans token
- Table token → Table ordering: opens
- Table ordering → Payment actions: starts payment
- Payment actions → Server client: reads session
- Payment actions → Admin client: creates intent
- Table ordering → Stripe: redirects to
- Table ordering → Razorpay: opens checkout
- Stripe webhook → Admin client: settles payment
- Razorpay webhook → Admin client: settles payment
- Server client → Supabase: queries
- Admin client → Supabase: reads and writes
- Stripe → Stripe webhook: sends events
- Razorpay → Razorpay webhook: sends events
- Restaurant staff → Admin dashboard: manages
- Restaurant staff → Floor management: manages
- Restaurant staff → Kitchen management: manages
- Restaurant staff → Menu management: manages
- Restaurant staff → Restaurant settings: manages
- Admin dashboard → Server client: queries
- Admin dashboard → Admin actions: updates status
- Admin actions → Admin client: writes updates
- Reservations → Public actions: submits