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]