Front-end Live at: https://restaurant-reservation-zijp.vercel.app/search
Back-end Live at: https://restaurant-reservation-rosy.vercel.app/tables
A full-stack app built using:
HTML
CSS
JavaScript
React
Express
Knex
PostgreSQL API
Available API Endpoints

App Functionality
Dashboard
Defaults to displaying a list of booked (or seated) reservations for the current date.
Navigation buttons: Previous Day, Today, & Next Day are available for changing the date displayed by the dashboard.
All tables (free or occupied) are also diplayed here.

New Reservation
1.Fill out the form with the reservation information and click submit.

New Table
1.Fill out the form with the table information and click submit.

Seating a Reservation
1.Click seat on the reservation you'd like to seat.
2.Select a table from the drop-down menu.
3.Click submit to seat the reservation at the selected table.

4.Once a reservation is seated:
i.The reservation status will change from booked to seated.
ii.The table status will change from free to occupied
![]() |
![]() |
---|
Finishing a Reservation
1.Click finish on the table that has finished.
![]() |
![]() |
---|
2.Click OK on the confirmation window that pops-up.
3.Table status is now free to seat other reservations
Note: finished reservations no longer display in the dashboard.
Editing a Reservation
1.Click edit on the reservation you'd like to edit.

2.Edit any of the reservation information as needed.
3.Click submit to save the updated reservation information.

Cancelling a Reservation
1.Click cancel on the reservation you'd like to cancel.

2.Click OK on the confirmation window that pops-up.

Note: cancelled reservations no longer display in the dashboard.
Installation
1.Fork and clone this repository.
2.Run cp ./back-end/.env.sample ./back-end/.env.
3.Update the ./back-end/.env file with the connection URL's to your database instance.
4.Run cp ./front-end/.env.sample ./front-end/.env.
5.Include your backend connection within ./front-end/.env (defaults to http://localhost:5000).
6.Run npm install to install project dependencies.
7.Run npm run start to start the server.
8.If you have trouble getting the server to run, reach out for assistance.