Skip to content

matthewkohn/food-court-delivery

Repository files navigation

Foodcourt Delivery

Description

"Foodcourt Delivery" allows the user to explore multiple fictional food menus and order items from any of them. You'll have access to a cart, and the ability to create new items in each menu. Access to these menus is granted with creation of an account, with login and an authenticated password.

I created this full stack app to demonstrate my proficiency in Rails and React for my Phase 4 project at Flatiron School.


Table of Contents

Requirements

To run this app locally, fork and clone this repo and make sure you have the above requirements installed. Then install all dependencies and start up your Postgres server:

bundle install
npm install --prefix client
sudo service postgresql start
rails db:create db:migrate db:seed

You can use the following commands to run the application:

If you need to run the app on different ports, be sure to update the Proxy in ./client/package.json, ./config/puma.rb, and ./Procfile.dev, and re-install dependencies.



Media

Youtube Video Demo

Check out the video demo here

Foodcourt Delivery Gif


DB Diagram of table relationships

db diagram


React Component Flowchart

react flowchart



Relationships

User

has_many :orders

has_one :cart

Order

belongs_to :user

Cart

belongs_to :user

has_many :cart_items

has_many :items, through: :cart_items

CartItem

belongs_to :cart

belongs_to :item

Item

has_many :order_items

belongs_to :menu

Menu

has_many :items



Routes

PREFIX        VERB    URI PATTERN         CONTROLLER#ACTION

cart_items    GET     /cart_items           cart_items#index
              POST    /cart_items           cart_items#create
cart_item     PATCH   /cart_items/:id       cart_items#update
              PUT     /cart_items/:id       cart_items#update
              DELETE  /cart_items/:id       cart_items#destroy
orders        GET     /orders               orders#index
              POST    /orders               orders#create
items         GET     /items                items#index
              POST    /menus/:menu_id/items items#create
menus         GET     /menus                menus#index
menu          GET     /menus/:id            menus#show
login         POST    /login                sessions#create
logout        DELETE  /logout               sessions#destroy
signup        POST    /signup               users#create
me            GET     /me                   users#show
empty_cart    DELETE  /empty_cart           cart_items#empty_cart
              GET     /*path                fallback#index


License

Read the license here

About

A menu ordering & delivery app that demonstrates my knowledge in Rails & React for Phase 4 at Flatiron School.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published