Fullstack reservation and waitlist web app built for Hibachi-style restaurants.
- CSP using Next.js middleware
- PocketBase real-time subscriptions
- PocketBase dynamic filtering
- Mantine Forms
- Server and client-side cookie handling
- Real-time updates between clients and server via PocketBase subscriptions
- Progressive Web App (PWA) support for iOS with installable app-like experience
- Content Security Policy (CSP) headers and nonce handling via middleware
- Automatic daily reservation loading with check-in tracking
- Real-time wait time tracking, including how long groups have waited
- Automatic wait time suggestions based on number of chefs and queue size
- Auto text notifications when tables are ready or as reservation reminders
- History view for tracking past reservations and waitlist data
- Guest-facing page to view waitlist status and position
- Party readiness tracking ("Everyone is present and ready to be seated")
- Detailed pages for reservations and waitlisted parties with timestamps and statuses
- Multi-location support with consolidated management dashboard
- Separate interfaces for employees and guests
- Specialized design for Hibachi restaurant workflows
- Dockerized deployment for ease of scaling and portability
- Server-Side Rendering (SSR)
- Streaming with
React.Suspense - Dynamic routing using Next.js App Router (v14)
- Set up PocketBase
- Install Next.js
- Install dependencies with
npm install - Clone this repo into your Next.js project
- Update generic fields (see below)
- Deploy
- Customize styling via
theme.ts(Mantine) or Tailwind class names - CSP headers can be removed by editing
middleware.ts
Run locally or deploy via Docker.
Default Port: 3000
# Development
npm run dev
# Production
npm run build && npm startA Dockerfile is included for containerized deployments.
Update the following values before deployment:
| Variable | Location(s) |
|---|---|
PocketBaseUrl |
pocketbase.js, middleware.ts |
url |
middleware.ts (your hosted domain) |
TZ |
Dockerfile (your timezone) |
PORT |
Dockerfile (optional override) |
logo.png |
public/ directory |
Frontend: React, Next.js, TailwindCSS, Mantine
Backend: Node.js, TypeScript, PocketBase
Deployment: Docker
- Volcano Steak & Sushi
WaitList
© 2024 Kevin Lin
Distributed under the GNU General Public License v3.0.
This software is provided "as-is" without warranty of any kind.
If you have any feedback, please reach out to us at: [email protected]