Capstone: Restaurant Reservation System

Installation

  1. Run npm install to install project dependencies.
  2. Run npm run start:dev to start the server in development mode.
  3. Run the full test suite with npm run test.
  4. To run frontend and backend tests separately run npm run test:frontend or npm run test:backend

Use npm start to run the application.

App Summary

•Allows users to create, edit, and delete reservations.
•Allows for users to create tables.
•Reservations can be sat at the tables and finished when they are done.
•Allows for users to search for existing reservations by phone number.

API Documentation

API Path Method(s)
/reservations GET: List all reservations
/reservations POST: Create a new reservation.
/reservations/?date='YYYY-MM-DD' GET: List all reservations by date.
/reservations/:reservation_id GET: Read a single reservation by 'reservation_id'.
/reservations/:reservation_id PUT: Update a reservation by 'reservation_id'.
/reservations/:reservation_id DELETE: Delete a reservation by 'reservation_id'.
/reservations/:reservation_id/status PUT: Update a reservation's status. Options being "booked", "seated", or "finished".
/tables GET: List all tables.
/tables POST: Create a new table.
/tables/:table_id GET: Read a single table by 'table_id'.
/tables/:table_id DELETE: Delete a table by 'table_id'.
/tables/:table_id/seat PUT: Update a table's status to "occupied".
/tables/:table_id/seat DELETE: Update a table's status to "free".

Project Tech Stack

Frontend

Bootstrap
CSS
HTML
JavaScript
React

Backend

Express
JavaScript
Knex
Node.js

Database

PostgreSQL
Production Site Through Heroku

app screenshots

Screen Shot 2022-02-01 at 8 44 44 PM

Screen Shot 2022-02-01 at 8 44 57 PM

Screen Shot 2022-02-01 at 8 45 07 PM

Screen Shot 2022-02-01 at 8 46 35 PM