Skip to content

📋 BrokenTable is a table reservation application that pairs your party with strangers.

Notifications You must be signed in to change notification settings

sandylcruz/broken-table

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BrokenTable is a restaurant reservation application inspired by Resy and OpenTable that is built on React/Redux, Ruby on Rails, and a PostgreSQL database.

Table of Contents

Features and Implementation

Create and Login Users

login BrokenTable features back and front end user authentication using Rails, Active Record, and React-Router higher order components. Users are able to create an account as well as log into their account. Only logged in users are able to create restaurants, make reservations, and leave reviews. The users' database was seeded using Faker Ruby.

Create and Search Restaurants

search Google Maps’, TomTom’s, and Resy’s APIs were used to facilitate geolocation based searching to display restaurant map location. Resy's API was used to scrape restaurant details, but only provided the coordinates for a given restaurant. TomTom's API was used to get restaurant addresses. Google Maps' API was used for dragging and dropping the map to search restaurants. Rails is connected to AWS S3 for media storage and organization while maintaining content security with AWS IAM.

Make Reservations

new_reservation Scheduling / booking CRUD is managed by Active Record and PostgreSQL through transactional operations. A custom SQL query was utilized to avoid double bookings of restaurants for a given time slot and party size.

Leave Ratings and Reviews

write_review Guests are able to leave reviews consisting of a star rating as well as a text description. The ratings/reviews were seeded using Faker Ruby.

Favorite Restaurants

fav favorites_show Logged in users are able to favorite / unfavorite restaurants. In the user's profile, they are able to see a list of their favorite restaurants.

Future Direction for Project

Given more time, the following would be implemented:

Expanded Search Ability

Users would be able to search restaurants by name and food type. Reservations would be available for restaurants in more cities.

Receive Points for Booking and Usage of Site

Users can earn points by booking reservations. Points earned on reservations are accumulated and can be redeemed for rewards.

Alerts

When a request is successful or not, there will be confirmation.

Technologies

Project is created with:

  • Rails version: 6.1.3.1
  • React version: 17.0.2
  • React-redux version: 7.2.3
  • styled-components version: 5.2.3

Setup

If you want to run Guard Livereload, go to the backend folder. In terminal, run guard

About

📋 BrokenTable is a table reservation application that pairs your party with strangers.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published