Periodic Tables is a full-stack restaurant reservation management application designed for restaurant employees. Users can create, edit, and view reservations as well as manage table seating settings.
- Frontend Deployment: DEPLOYED HERE
- Backend Deployment: DEPLOYED HERE (use routes listed below)
- JavaScript, React, React Router, HTML, CSS, Bootstrap
- Node.js, Express, Knex, PostgreSQL
The API allows for the following routes:
Method | Route | Description |
---|---|---|
GET |
/reservations |
List all reservations for current date |
GET |
/reservations?date=YYYY-MM-DD |
List all reservations for specified date |
POST |
/reservations |
Create new reservation |
GET |
/reservations/:reservation_id |
List reservation by ID |
PUT |
/reservations/:reservation_id |
Update reservation |
PUT |
/reservations/:reservation_id/status |
Update reservation status |
GET |
/tables |
List all tables |
POST |
/tables |
Create new table |
PUT |
/tables/:table_id/seat |
Assign a table to a reservation (changes reservation's status to "seated") |
DELETE |
/tables/:table_id/seat |
Remove reservation from a table (changes reservation's status to "finished") |
- Fork and clone this repository.
- Run
cp ./back-end/.env.sample ./back-end/.env
. - Update the
./back-end/.env
file with the connection URLs to your ElephantSQL database instance. - 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.
This project was created for my final capstone for Thinkful's Software Engineering certification program.
Learnings included developing the frontend and backend of a full-stack application using modern web development frameworks, as well as project management, cross-device QA/testing, and bug troubleshooting.