Giter Club home page Giter Club logo

fourth_meal's Introduction

##Fourth Meal

####Overview

Fourth Meal is the step after the Dinner Dash Project Dinner Dash The original tutorial was created by Jumpstart Lab. Fourth Meal Fourth Meal focuses on taking another group's code, refactoring it and making it applicable for multiple restaurants.

###Craveyard Production site link

####Instructions

#####Setting Up Locally

  1. Clone the repository. `https://github.com/pzula/fourth_meal.git'
  2. Move into that directory. cd fourth_meal
  3. Install gem dependencies. bundle install
  4. Make sure you have Postgres installed on your computer. We recommend either installing it through the Postgres.app or Homebrew
  5. Create and seed the database. rake db:create db:seed
  6. Start the Rails sever. rails s

To Run RSPEC

# Run all specs
bundle exec rspec

# Run only model specs
bundle exec rspec spec/models
rake db:test:load

To purge the test database - run

rake db:test:purge

#####Dependencies Amazon AWS S3 Bucket for images To integrate the Paperclip gem with image upload on Heroku, we use an AWS S3 bucket to store our images. You will need to create a bucket (free) on S3, and then export the following keys to your environment: AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, and S3_BUCKET_NAME

Stripe for Payment integration To integrate credit card payments, we used Stripe. In order for your local copy to process payments correctly, you will need to sign up for a free Stripe account, visit your account settings, and export the following API keys to your environment: SECRET_KEY and PUBLISHABLE_KEY

SendGrid for ActionMailer integration To integrate email on account creation and payment success, we use the SendGrid API. In order for this to function correctly, you must create a SendGrid account, and set your environment variables with the following: SENDGRID_USERNAME and SENDGRID_PASSWORD.

###Process

We used Pivotal Tracker in order to structure our project. We wrote user stories that we converted into tests, using BDD with RSpec and Capybara in order to drive development.

PivotalTracker Screenshot

RSpec Test

####Extraction of External Services

We extracted Stripe into its own model, and switch to the development processor in our development and testing environments in order to speed up the development process.

Payment Processor Initializer

Stripe Stub

Stripe Integration

Stripe Rendering

fourth_meal's People

Contributors

edatrix avatar pzula avatar rrgayhart avatar teapane avatar wvmitchell avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.