Skip to content

Full stack application in the form of a restaurant reservation tool. Showcases Express/React/PostgreSQL tech stack.

Notifications You must be signed in to change notification settings

thomaslesperance/restaurant-reservation-tool

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

94 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Restaurant Reservation Tool

Context

The Restaurant Reservation Tool ("Periodic Tables") is a simple full-stack application using a Node/React/Express/PostgreSQL tech stack. It simulates a tool that would be used by hosting staff at a restaurant to create, cancel, search, and modify reservations to a restaurant.

The app is deployed here: https://restaurant-reservation-tool-frontend.onrender.com/

How to Use (on your own machine)

  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 PostgreSQL database instance (to simply test out the app, you only need one and should assign it to DATABASE_URL_DEVELOPMENT).
  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.

For local instances of PostgreSQL, the following database URL formatting convention was helpful: postgresql://YourUserName:YourPassword@YourHostname:PORT/YourDatabaseName

Features

Client

View a dashboard of existing tables and reservations (paginated by date). Reservations can be assigned to tables and then "finished" from the assigned table.

7

Create a new reservation

3

Edit an existing reservation

5

Search for an existing reservation by mobile number

2

Create a new table

6

Seat a reservation at an available table

4

API

To support these client features, the API exposes several basic CRUD endpoints:

GET ./reservations

POST ./reservations

GET ./reservations/:reservation_id

PUT ./reservations/:reservation_id

PUT ./reservations/:reservation_id/status

GET ./tables

POST ./tables

PUT ./tables/:table_id/seat

DELETE ./tables/:table_id/seat

Tools and Technology

-- JavaScript (Node 16.20.2)

-- Express

-- Knex

-- PostgreSQL

-- React

-- React Router

Conclusion

Future plans for this project include incorporating elements of the frontend routing schema, API endpoint schema, and React component tree structure for other more sophisticated projects.

About

Full stack application in the form of a restaurant reservation tool. Showcases Express/React/PostgreSQL tech stack.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 98.5%
  • HTML 1.5%