Giter Site home page Giter Site logo

shuvo18103107 / recipe-web-app Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 218.53 MB

Recipe Searching Application

Home Page: https://recipeapp-shuvo.netlify.app/

HTML 12.47% JavaScript 58.17% SCSS 29.36%
vanilajs mvc-architecture parcel-bundler babel sass css3 forkify-api recipe-app

recipe-web-app's Introduction

A Recipe-Searching-Application

by Mohammad Ali Shuvo

showcase

Introduction

It is a recipe Searching web app using the Forkify API to allow users to search, view, modify, bookmark and add recipes.

Technologies

HTML - SCSS - JS - Netlify

Libraries

Parcel, Sass

   npm i -D parcel@next sass

Features

  • Query an ingredient to recieve a list of recipes containing that ingredient.
  • Easily bookmark or edit the servings of the selected recipe.
  • Create your own recipes and store them as user recipes.
  • Remove bookmarks or delete user recipes.
  • LocalStorage keeps the data when users exit the app and many more.

Project Architecture

architecture

Built using the MVC Architecture. View class extends the rest of the components. Controller keeps bidirectional dataflow. SCSS files are divided for major components.

API

The app is using the Forkify recipe API in order to fetch recipe information.

an example API GET request looks like this:

{
    "status":"success",
    "data":{
        "recipe":{
            "publisher":"My Baking Addiction",
            "ingredients":[
                {
                "quantity":1,
                "unit":"",
                "description":"tbsp. canola or olive oil"
                },
                {
                "quantity":0.5,
                "unit":"cup",
                "description":"chopped sweet onion"
                },
                {
                "quantity":3,
                "unit":"cups",
                "description":"diced fresh red yellow and green bell peppers"
                },
                {
                "quantity":1,
                "unit":"",
                "description":"tube refrigerated pizza dough"
                },
                {
                "quantity":0.5,
                "unit":"cup",
                "description":"salsa"
                },
                {
                "quantity":2,
                "unit":"cups",
                "description":"sargento chefstyle shredded pepper jack cheese"
                },
                {
                "quantity":null,
                "unit":"",
                "description":"Chopped cilantro or dried oregano"
                }
            ],
            "source_url":"http://www.mybakingaddiction.com/spicy-chicken-and-pepper-jack-pizza-recipe/",
            "image_url":"http://forkify-api.herokuapp.com/images/FlatBread21of1a180.jpg",
            "title":"Spicy Chicken and Pepper Jack Pizza",
            "servings":4,
            "cooking_time":45,
            "id":"5ed6604591c37cdc054bc886"
        }
    }
}

Furure Improvment

  • Display number of pages between the pagination button.
  • ability to sort search results by duration or number of ingredients.
  • perform ingredient validation in view , before submitting the form.
  • improve recipe ingredient input: sepearate 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 calender, can create a dropdown on each recipe then show it for the next 7 days.
  • get nutrition data on each ingredients from spoonacular API(https://spoonacular.com/food-api) and calculated total calories of recipe.

Thank you!

Thank you so much for checking out this project! If you have any notes or bugs send them my way and I'll make sure they're fixed.

recipe-web-app's People

Contributors

shuvo18103107 avatar

Stargazers

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