High Level Architecture & Database Schema - mini/git-brunching GitHub Wiki

Cloud SQL Overview

Git-Brunching is a web application developed with a NodeJS backend and React frontend. Hosting and all backend functionality such as storage and serverless functions are implemented using Cloud SQL, hosting a MySQL database to store all information related to the web application. The database stores information regarding the restaurants, users and reservations. The Express backend provides APIs to access and add to database tables.

BackendArchitecture

Database Schema

Entities

  • Restaurant: Represents the restaurant; contains its name and owner.
  • Hours: Represents the opening hours for a restaurant on a particular day. Contains the day the restaurant is open and its opening & closing times.
  • Table: Represents tables in a restaurant; contains the minimum & maximum number of guests allowed for that table.
  • Reservation: Contains details about a reservation made by a customer for a restaurant; customer details, number of people, reservation time, and other notes.
  • User: Represents the restaurant owner.
  • Review: Represents a review for a restaurant. Contains the reviewer's name and the review.
  • Menu: Represents the menu of a restaurant. Contains a link to the menu image and its dimensions.

Restaurant DB Schema