Skip to content

ambersweep/easy-seat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🍽️ easy seat - Restaurant Reservation System

easy seat is a restaurant booking system and table manager. Users can view, create, edit, and delete reservations. Users can also search reservations by phone number. Users can create new tables, seat reservations at them, and also delete the table.

✨ Live Demo Link

Table of Contents

Frontend

  • React JS
  • HTML
  • CSS
  • Bootstrap 5

Backend

  • PostgreSQL
  • Express JS
  • Knex JS
  • CORS

Create a new reservation

You can create a new reservation by clicking on + New Reservation on the top of the page, or by clicking on the + next to the reservations list. Each reservation requires a first name, last name, phone number, party size, reservation time, and reservation date.

Trying to create a reservation with an empty feild, at a date in the past, after the restaurant closes, or less than an hour before the restaurant closes will return an error.

Imgur

Seat a reservation

To seat a reservation, click on the Seat button on the bottom of the reservation card. This will bring you to the Seat Table page where you can select a table.

After seating the reservation, the table status will be updated to "Occupied" and the reservation status will be updated to "Seated"

If the party size on the reservation is too big for a certain table, the option for that table will be disabled on the dropdown list.

Imgur

Edit a reservation

You can edit a reservation by clicking on the Edit button on the bottom of the reservation card. This will open the Edit Reservation Page which is prefilled with the reservation info. All fields can be edited here.

Imgur

Cancel a reservation

To cancel a reservation, click on the cancel button on the bottom of the reservation card. Cancelling a reservation will change its status to "Cancelled".

Imgur

Search Reservations

To search for a reservation, click on Search on the navbar. This will bring you to the Search Reservations page. To find reservations, you can enter a partial or full number. This will bring up all reservations that contain that number regardless of its current status.

Imgur

Create a Table

You can create a new table by clicking on + New Table on the top of the page, or by clicking on the + next to the tables list. A table requires a name and capacity.

Imgur

Finish table

To free a table for a new reservation, click on the Finish button below the table. Afterwards the tables status will be updated to "Free" and it can seat a new reservation.

Imgur

Delete a table

You can delete a table permanantly by clicking on the trash icon next to the table's title.

A table that is currently occupied cannot be deleted.

Imgur

  1. Set up four new ElephantSQL database instances - development, test, preview, and production - by following the instructions in the "PostgreSQL: Creating & Deleting Databases" checkpoint.
  2. After setting up your database instances, connect DBeaver to your new database instances by following the instructions in the "PostgreSQL: Installing DBeaver" checkpoint.

Knex

Run npx knex commands from within the back-end folder, which is where the knexfile.js file is located.

  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 ElephantSQL database instance.
  4. Run cp ./front-end/.env.sample ./front-end/.env.
  5. You should not need to make changes to the ./front-end/.env file unless you want to connect to a backend at a location other than http://localhost:5001.
  6. Run npm install to install project dependencies.
  7. Run npm run start:dev to start your server in development mode.

About

Restaurant Reservation Application

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published