The Restaurant Waitlist Application is a web-friendly system designed to streamline the process of managing customer waitlists for restaurants. The application allows customers to join a waitlist remotely, view their real-time position in the queue, and receive notifications when their table is ready. Restaurant staff can efficiently manage incoming parties, track seating availability, and update waitlist statuses from an intuitive dashboard. Restaurant admin can set the restaurant configurations, manage tables, set waitlist configurations, manage staff, manage reviews, and analyze restaurant statistics.
This project is built using Next.js for the frontend, Express.js for the backend, and MongoDB as the initial database solution (with potential migration to a relational database for production). The system is designed with scalability, real-time updates, and a responsive user experience in mind.
Key stakeholders include:
- Customers: Can join the waitlist without physically being at the restaurant through the website or QR code.
- Restaurant Staff: Can manage waitlist entries, update seating, and reduce manual tracking errors.
- Restaurant Owners (Admin): Manage restaurant/waitlist/staff configurations, insights into peak hours, average wait times, and seating efficiency.
- The solution aims to reduce overcrowding in restaurant lobbies, improve customer satisfaction, and optimize operational workflows for dining establishments.
Managing customer waitlists during peak hours poses a significant challenge for restaurants. Traditional systems, such as physical queues and SMS notifications, often result in inefficiencies, miscommunication, and customer dissatisfaction.
Additionally, the lack of engaging options during waiting periods further detracts from the overall dining experience. As restaurants increasingly embrace digital tools like QR codes for menus, integrating waitlist management into this technological shift is a natural progression to improve operations and customer engagement.
Click to view the Weekly Deliverable Schedule on the Teams SharePoint.
git checkout main(move to main branch)git pull origin(pull the main code)git checkout dev(create and/or move to dev branch)- Write new code, add features, etc.
git branch(make sure you are on the right branch, which is the dev branch)git add file1 file2git commit -m "Comment"git push origin- Merging Process:
Go to github repo → pull requests → new pull request → base:main, compare:
dev→ create pull request → add comments if necessary → wait for comments, changes, or approval → merge
- Configure web app structure
- Create a database and sample data
- The web app can start and connect to the database
- Web app has a Sign Up and Login page
- Start web app
- The login system is functional (Create account and Login)
- Admin Systems
- Create staff managemnet feature
- Set up permission for admins, staff and customers
- Restaurant Systems (Information, Menus)
- Create restaurant configuration feature
- Create menu management feaure
- Waitlist Systems
- Create the application FAQs, Contact Us and Privacy Policy
- Customer Systems
- Customer waitlist systems (Join, Cancel and check status)
- Public restaurant information page
- Mini-games systems
- Feedback Systems
- Customer leave a review after visit feature
- Restaurant reviews page
- Staff systems
- Manage waitlist of the restaurant
- Manually join waitlist (Walk-in customer)
- Waitlist systems
- Manually join waitlist (Walk-in customer)
- Filtering waitlist
- View customer history
- Admin Systems
- Create analytics page (Statistics)
- Closing
- Closing meetings