Giter Club home page Giter Club logo

api-muncher's Introduction

Recipe API Consumer

Purpose

Create a web application that will display recipes based on a search term. We will utilize an API from Edamam called the Recipe Search API.

This is an individual, stage 2 project.

Learning Goals:

  • Configure an API for consumption
  • Create authenticated API requests using HTTParty
  • Consume JSON responses from an API
  • Map response to application-specific data
  • Separate API logic from application logic

Baseline

Before you start writing any code:

  • Explore the API documentation to become familiar with the request(s) you can make
  • Create a Trello Board listing the features you will need to add and use it to track the progress of your app.

Once you've explored the API docs, this project:

  • requires you to create a Rails application
    • conform to Rails conventions on naming and inflection
    • by using rails new . you will create a new rails app inside of the fork folder instead of creating a new folder for your rails app
  • Use better_errors for debugging purposes
  • Deploy your completed app to Heroku

Detailed Requirements

Search:

  • The user shall type in a search term that will:
    • Make a request to the API using the search term
    • Display the results in a list to the user

List View:

  • This shall show a paged list of recipes for a given search term, ten at a time
  • This view shall show the name of the recipe and the corresponding photo
  • The view shall have a link from the recipe to a recipe show view

Show View:

  • This shall show the details about a given recipe. These details include:
    • Name
    • Link to the original recipe (opens in a new tab)
    • Ingredients
    • Dietary information

Additional Requirements:

  • One of the things that permits us to use this API, it providing attribution to the API's created. We must provide this somewhere on our site. Example locations include the footer or an about page.
  • You must also create tests for your API Wrapper & any classes as well as controller tests using VCR
  • Your site must have a responsive look and feel, use semantic HTML as well as any grid formatting using Zurb Foundation

Important Notes:

  • Using this API as a developer limits the number of API calls in a month to 5000. This means that we must try to minimize API calls for testing purposes as much as possible, to ensure you do not exceed this number of API calls in the one week of development we have.

Optionals:

  • Keep track of most recent search terms and allow user's to return to those searches
  • Implement an OAuth strategy using Google
    • Allow users to save recipes to a "favorites" section that they can return to
  • Provide checkboxes or other controls to limit the search to options such as:
    • Peanut Free
    • Soy Free
    • High Protien
    • Etc

Wireframes:

You have creative control over the design and layout of this project. Below are optional wireframes you may use. It is not a requirement that you do.

Homepage:

Splash Page Wireframe

Results Page:

Results Page Wireframe

Recipe Show Page:

Results Page Wireframe

Reminder: Make sure all content is still easy to read when the width of a screen is shrunk. Use flexible measurements like width and REM.

These should be responsive. When the screen width shrinks to a medium screen, have a row with only two recipes. On a small screen width, have only a single recipe per line.

api-muncher's People

Contributors

cheezitman avatar kariabancroft avatar kaylaeckergoog avatar tildeee 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.