House of Legends
Doc Status: Excellent | ✓ Clear summary | ✓ Easy to read | ✓ Matches code | ✓ Good structure | ✓ Professional look | ✓ Visual components | ✓ No red herrings
Why This Matters
House of Legends is a dinner theatre in Da Nang that combines immersive shows with table-side dining. When Hamza came to us, the venue was running on WordPress with a separate reservation system, manual order taking, and no real way to track guests across their journey from booking to review. We built a complete booking system from scratch: guests browse shows, buy tickets, pay online, and get a QR code for check-in. Staff use a real-time POS to take orders and manage the kitchen. Admins get a dashboard to manage events, reservations, and inquiries. Everything updates instantly across all screens through Convex real-time subscriptions. This documentation is the single source of truth for how that system works.How It Works
For Guests
A guest discovers House of Legends, browses upcoming shows, and books tickets through a 4-step flow. They pay via OnePay (credit card or bank transfer), receive a QR code, and present it at check-in when they arrive. At their table, they order food and drinks through a web app on their phone. Staff take orders on their own devices, which flow to kitchen and bar displays in real-time. After the show, guests can submit photos to the digital wall, react to other guests, spin a prize wheel, and complete review challenges.For Staff
When a guest scans their QR code, staff see their reservation details, table assignment, and any add-ons they purchased. Orders appear instantly on kitchen and bar displays. Staff mark items ready, and reception gets notified to serve.For Admins
Admins create show events (called occurrences), manage capacity, configure add-ons, and view payments. The inquiry system tracks leads from inquiry through follow-up to conversion.Start Here
- Tab Title
- Tab Title
- Tab Title
Understand the System
Read Tech Stack to understand the technology choices, then User Stories to see what each actor can do.
Follow the Guest Journey
Explore Staff Operations
By Role
Guests
Browse shows, book tickets, and access table experience
Admin
Manage events, view payments, configure add-ons
Staff
Take orders, manage kitchen queue, check in guests
Developers
Tech stack, data model, and code structure
Guest Flow
Quick path to booking: Guest Booking Flow → Confirmation → Table ExperienceStaff Operations Flow
Quick path to operations: Check-In → Staff Order → Kitchen DisplaySystem Architecture
| Layer | Technology | Purpose |
|---|---|---|
| Frontend | Next.js 16 (App Router) | Public pages, admin dashboard, booking flow |
| Backend | Convex (real-time database) | API, real-time subscriptions, business logic |
| Payments | OnePay | Credit card and bank transfer processing |
| Auth | Clerk | Staff authentication and guest OAuth |
| Styling | Tailwind CSS v4 | Premium gold-accented dark theme |
Key Concepts
Booking Hierarchy
Booking Flow
Guests select an experience, choose tickets or dinner packages, optionally add add-ons (bottles, bundles), and pay via OnePay. After payment, they receive a QR code for check-in.POS System
Table-based ordering via PWA. Staff fulfill orders via Kitchen Display (KDS) and Reception views.Gamification
Guests create profiles via QR scan, submit photos to the wall, send reactions to other guests, spin for prizes, and complete review challenges.Quick Navigation
Foundation
Tech stack, data model, and user stories
Guest-Facing
Public pages, booking, gamification
Operations
Staff POS, table POS, reservations
Integrations
Payments, notifications, inquiry forms
Admin
Admin dashboard
Changelog
Recent changes and updates
Quick Links
| Resource | Link |
|---|---|
| GitHub | house-of-legends/hol-core |
| Frontend App | apps/frontend/ |
| Backend | packages/backend/convex/ |
| Changelog | Changelog |