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/
- Fork and clone this repository.
- Run
cp ./back-end/.env.sample ./back-end/.env
. - 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). - Run
cp ./front-end/.env.sample ./front-end/.env
. - 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 thanhttp://localhost:5001
. - Run
npm install
to install project dependencies. - 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
View a dashboard of existing tables and reservations (paginated by date). Reservations can be assigned to tables and then "finished" from the assigned table.
To support these client features, the API exposes several basic CRUD endpoints:
-- JavaScript (Node 16.20.2)
-- Express
-- Knex
-- PostgreSQL
-- React
-- React Router
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.