Git Product home page Git Product logo

recipekeeper's Introduction

RecipeKeeper App is a trusted resource for home cooks with more than 1m recipes.

Description

Find quick and easy recipe inspiration, perfect for any occasion, including healthy recipes, budget-friendly meals, vegetarian recipes, and more. If you have a great recipe that you would like to share, don't hesitate! Just click 'Add Recipe' and share it with other passionate cooks. You can also bookmark your favorite meal and store it in 'Bookmarks'.
Are you having a lot of guests and don't know how many ingredients you need to buy? The app will calculate it for you!

Demo

RecipeKeeper is a responsive app that is possible to view using a browser on different devices, such as mobile or tablet. DemoApp

Installation

git clone https://github.com/wartelski/recipekeeper.git

npm install

npm start

Tech Stack

Client: JavaScript, SCSS, HTML

  • As a web application bundler was used Parcel.js
  • To solve decimal-to-fraction conversion problem was used Fracty module
  • Used Forkify API
  • Used modern, up-to-date JavaScript (ES6+)
  • Used localStorage to store the data
  • Added day/night theme

For security reasons API key was removed. Please, generate your own API key: https://forkify-api.herokuapp.com/v2

API Reference

Get all recipes/Create recipe

GET: Returns a list of recipes for a specific search query

POST: Creates a new recipe

  https://forkify-api.herokuapp.com/api/v2/recipes
Parameter Required Description
search Yes Search text
key Yes (for POST) The ForkifyAPI key

Get recipe/Delete recipe

GET: Returns a single recipe

DELETE: Deletes a single recipe associated with provided API key

  https://forkify-api.herokuapp.com/api/v2/recipes/:id
Parameter Required Description
id Yes The id of the recipe to be fetched or deleted (part of URL)
key Yes (for DELETE) The ForkifyAPI key

Flowchart

Flowchart

More improvements

I'm still working on improvements to this app. In the future, the following will be added:

  • display number of pages between the pagination buttons
  • improve recipe ingredient input: separate in multiple fields and allow more than 6 ingredients
  • shopping list feature: button on recipe to add ingredients to a list
  • weekly meal planning feature: assign recipe to the next 7 days and show on a weekly calendar
  • get nutrition data on each ingredient from spoonacular API and calculate total calories of recipe

License

MIT

recipekeeper's People

Contributors

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