Skip to content

Reservation and Waitlist web app built for Hibachi style restaurants

License

Notifications You must be signed in to change notification settings

kdcao1/WaitList

Repository files navigation

WaitList

Fullstack reservation and waitlist web app built for Hibachi style restaurants

Examples:

  • CSP using Next.JS middleware
  • PocketBase realtime subscriptions
  • PocketBase dymanic filtering
  • Mantine Forms
  • Server and Cient Cookies

Features

  • Realtime Updates between client and server
  • Progressive Web App support for IOS
  • Uses middleware for CSP headers and nonce application
  • Uses App Router from Next.JS 14
  • Seperate web interface for employees and guests
  • Mobile depolyment through Docker
  • Specialized for Hibachi resturants

Optimizations

  • Server Sided Rendering (SSR)
  • Streaming with suspense
  • Dynamic routing

Installation

Optional Changes

  • Style through theme.ts (Mantine) or Tailwind class names
  • Delete CSP headers through middleware.ts

Deployment

To deploy this project

Default port: 3000

  Dev mode: npm run dev 
  Prod mode: npm run build => npm run start

Contains a Dockerfile for Docker deployments

Generics

To run this project, you will need to change the following variables to each file:

PocketBaseUrl: pocketbase.js and middleware.ts

url: middleware.ts (hosted site link)

TZ: Dockerfile (follow your time zone)

PORT: Dockerfile (optional, change port in Docker container)

logo.png: add a logo into public folder

Tech Stack

Client: React, NextJs, TailwindCSS, Mantine

Server: NodeJS, TypeScript, PocketBase, Docker

Used By

This project is used by the following companies:

  • Volcano Steak & Sushi

Acknowledgements

Authors

License

WaitList

Copyright (C) 2024 Kevin Lin

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see GNU GPLv3.

Feedback

If you have any feedback, please reach out to us at kdcao1@yahoo.com