Skip to content

gbitz/restaurant-reservation

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

134 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Restaurant Reservation Scheduler

Live Deployment: https://reservation-scheduler-app.herokuapp.com/dashboard

Application Uses

This app allows users/restaurants to create and manage reservations for a restaurant. The user is able to create tables and their capacity and then seat reservations at tables. The reservations can be managed based on cancellations, seating at a table, and finishing the reservations. Finishing a reservation also clears the table.

Technologies Used

  • HTML
  • React
  • Node.js
  • Express
  • Knex
  • Bootstrap

Functionality Examples

Create Reservation

Submiting this form will create a new reservation and display it on the dashboard Alt text

Dashboard

This page contains a list of reservations their current status depending on a selected date, and a list of all tables and their current status.

Alt text

Adding a Table

Allows users to add new tables to the list of available tables

Alt text

Seating a Reservation

Allows users to seat a reservation at a selected table, tables that currently have reservations will not be able to be selected Alt text

Search by Phone Numeber

Displays matching reservations based on phone number. Partial phone numbers will work too Alt text

API Information

Tables body capacity integer, table_name string
GET/ list Returns list of tables
POST/ create Creates a new table record
PUT/:table:id/seat update Changes table entry information
DELETE/:table:id/seat finishReservation Removes Reservation from table
Reservations body capacity integer, table_name string
GET/ list Returns list of reservations
POST/ create Creates a new Reservation record
GET/:reservation_id read Returns reservation information based on ID
PUT/:reservation_id update Updates reservation information based on ID

##Setup

Knex

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

Installation

  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 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.

Running tests

  • npm test runs all tests.
  • npm run test:backend runs all backend tests.
  • npm run test:frontend runs all frontend tests.
  • npm run test:e2e runs only the end-to-end tests.

If you would like a reminder of which npm scripts are available, run npm run to see a list of available commands.

Note that the logging level for the backend is set to warn when running tests and info otherwise.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • JavaScript 98.4%
  • HTML 1.6%