Giter Club home page Giter Club logo

yelp's Introduction

Yelp

Makers Academy Week No. 8

Build Status Coverage Status Code Climate

Instructions

We worked through the challenges throughout the week in rotating pairs.

You'll use Rails to build a clone of Yelp, an app for reviewing restaurants. Yelp is a popular web application that allows users to rate and review restaurants, and find other diner's ratings and comments. For the rest of the week you will be building a clone of this site using Rails.

Objectives

  • Are you having fun?
  • Are you a better developer than you were yesterday?
  • Can you use Rails and its conventions to build a web app?

Using my application

  • Download the source code using $ git clone
  • Navigate into the root of the directory using $ cd yelp
  • Install all the dependencies by running the command $ bundle in the root directory
  • Download PostgreSQL (if you do not already have it installed)
  • Within the command line, run $ bin/rake db:create and then $ bin/rake db:migrate
  • Run the app using the command $ bin/rails server
  • Go to localhost:3000 in a browser to view and interact with the app

Running the tests

  • Within the root of the directory, run $ rspec to run the tests and see the results in the command line

Dependencies

  • Application written in Ruby 2.4.0
  • Built using Ruby on Rails
  • Based on a PostgreSQL database with ActiveRecord as the ORM
  • Tested using RSpec and Capybara
  • Uses Paperclip for image upload
  • Uses OmniAuth for sign-in with Facebook

Approach

  • Wasn't much independence in the approach with this challenge as part of the challenge was getting used to convention over configuration
  • Was really interesting using OmniAuth with Facebook

Reflections

  • One of my favourite things about rails is the way that the route configuration forces you to use RESTful routes - think that is really cool!
  • Also really appreciate that the database schema is so strict - really good to have such a clear history of how the database has been built
  • Makes me a bit uncomfortable that there are so many files and directories created on initialisation of a rails app - many of which you have no idea what they're doing

Ideas for extension

  • Our app currently has no styling so would be nice to make it look more like a finished product
  • Would also be nice to add an endorsement feature and use AJAX so that endorsements could appear instantly

Collaborators

Mike Field-May, Mitch Goldbay, Rob Holden

yelp's People

Contributors

holden4 avatar johnhalk avatar kathicks avatar

Watchers

 avatar  avatar  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.