Skip to content

Main-Michael-Sparks/restaurant-reservation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

restaurant-reservation: full-stack application for Thinkful's Software Engineering immersion program.

======

*A deployed demo can be found here: https://ms-rest-client.herokuapp.com/dashboard

Built from user stories, it allows employees to book, change or cancel reservations, and track reservation seating arrangements.

The UI is a minimalist design with a visual hierarchy focused on application functionality.

The application is fully responsive and cross-browser compatible, built with ReactJs and ExpressJs utilizing RESTful API methodology.

Reservations are stored in a PostgreSQL database with a one-to-many relationship and queried with the KnexJs library.

*Below is a quick overview of the project requirements and pre-existing files included with the project.

Capstone: Restaurant Reservation System

=======

You have been hired as a full stack developer at Periodic Tables, a startup that is creating a reservation system for fine dining restaurants. The software is used only by restaurant personnel when a customer calls to request a reservation. At this point, the customers will not access the system online.

There are no user stories for deployment: it is expected that you will deploy the application to production after you finish a user story.

There are no user stories for logging: it is expected that you will add logging to the application with enough detail to help you diagnose issues in production.

Existing files

This repository is set up as a monorepo, meaning that the frontend and backend projects are in one repository. This allows you to open both projects in the same editor.

As you work through the user stories listed later in this document, you will be writing code that allows your frontend and backend applications to talk to each other. You will also write code to allow your controllers and services to connect to, and query, your PostgreSQL database via Knex.

The table below describes the folders in this starter repository:

Folder/file path Description
./back-end The backend project, which runs on localhost:5000 by default.
./front-end The frontend project, which runs on localhost:3000 by default.

This starter code closely follows the best practices and patterns established in the Robust Server Structure module.

Backend Existing files

The ./back-end folder contains all the code for the backend project.

The table below describes the existing files in the ./back-end folder:

Folder/file path Description
./back-end/knexfile.js The Knex configuration file. You will not need to make changes to this file.
./back-end/src/app.js Defines the Express application and connects routers.
./back-end/src/db/connection.js The Knex connection file. You will not need to make changes to this file.
./back-end/src/db/migrations The Knex migrations folder.
./back-end/src/db/seeds/ The Knex seeds folder.
./back-end/src/errors/errorHandler.js Defined an Express API error handler.
./back-end/src/errors/notFound.js Defined an Express API "not found" handler.
./back-end/src/reservations/reservations.controller.js A controller for the reservations resource.
./back-end/src/reservations/reservations.router.js A router for the reservations resource.
./back-end/src/server.js Defines the node server.
./back-end/test A folder that contains all of the integration tests. You will not need to make changes to the files in this folder.
./back-end/vercel.json A vercel deployment configuration file. You will not need to make changes to this file.

Frontend Existing files

The ./front-end folder contains all the code for the frontend project.

The table below describes the existing files in the ./front-end folder:

Folder/file path Description
./front-end/e2e Contains all of the end-to-end tests. You will not need to make changes to the files in this folder.
./front-end/jest-puppeteer.config.js A configuration file used by the end-to-end tests. You will not need to make changes to this file.
./front-end/src/App.js Defines the root application component. You will not need to make changes to this file.
./front-end/src/App.test.js Contains the tests for the root application component. You will not need to make changes to this file.
./front-end/src/dashboard/Dashboard.js Defines the Dashboard page.
./front-end/src/index.js The main entry point for the React application.
./front-end/src/layout/ErrorAlert.js Defines an error alert component that display only when an error is specified.
./front-end/src/layout/Layout.css The css for the Layout component.
./front-end/src/layout/Layout.js Defines the main layout of the application.
./front-end/src/layout/Menu.js Defines the menu for the application.
./front-end/src/layout/NotFound.js Defines the "Not found" component that is displayed when no route matches.
./front-end/src/layout/Routes.js Defines all the routes for the application.
./front-end/src/utils/api.js Defines the functions used to access the backend API
./front-end/src/utils/date-time.js Defines functions to format date and time strings.
./front-end/src/utils/format-reservation-date.js Defines a function to format the date on a single reservation or an array of reservations.
./front-end/src/utils/format-reservation-time.js Defines a function to format the time on a single reservation or an array of reservations.
./front-end/src/utils/useQuery.js Defines a custom hook to parse the query parameters from the URL.

========================

About

full-stack restaurant reservation system

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published