Skip to content

nursh/Ruby-Continental

Repository files navigation

Restaurant Application Build Status

A web application for ordering food from a Restaurant(Ruby Continental)

Description

The project is a website for a restaurant. A user goes to the site to place an order from the menu. The menu is divided into several categories, each category has several items. The user can increase or reduce the quantity of the items in the order or remove them entirely. The user can review the order before checking out.

Technical Implementation

  • The schema for application is implemented using GraphQL(Apollo-Server)
  • Application is using a MySQL database provisioned by Heroku
  • Apollo-Client is used in the frontend to query schema from the backend
  • Redux handles the state of the order items(increasing and decreasing quantity) in the front end
  • Stripe handles payment in the backend and was implemented using React-Stripe-Elements
  • Sass was used for styling the application

Tools

  • React (create-react-app)
  • Redux
  • Apollo-Client (front-end GraphQL)
  • Sass - for styling front-end
  • Apollo-Server (backend GraphQL)
  • TypeScript
  • Heroku hosted MySQL DB
  • NodeJS - Express
  • TypeORM - ORM to handle data from DB
  • Stripe Payment using React-Stripe-Elements
  • Nginx for reverse proxy between frontend and backend
  • TravisCI for Continuous Integration
  • Docker
  • Deployed with Amazon ElasticBeanStalk

Deployment Links

Credits