/forkify

Search over 100,000 recipes online.

Primary LanguageJavaScriptMIT LicenseMIT

Forkify

Search over 100,000 recipes online. Please click here or here to use the app.

Note: This app was made by following an online course. Please check the course details here.

Development Workflow -x- Learnings

There's a parent repository for this app, if the instructions in the parent repo are followed properly (the code is heavily commented), anyone can make this application. Please checkout the complete development workflow of this app here (parent repo).

Features -x- Instructions

  1. Search for your favourite recipe by typing in the query in the search box. Please note that the number of search queries are limited to the list given here.
  2. Select a recipe from the recipe list generated from the query. The recipe with the details about the number of servings, time taken to make it along with all the ingredients, will be rendered onto the webapp. You can tweak the number of servings by pressing ⊕/⊖ buttons and the quantity of each ingredient for the recipe will change accordingly.
  3. Add the recipe ingredients to the shopping list using the "ADD TO SHOPPING LIST" button.
  4. Increase/Decrease the quantity of each ingredient you want in the shopping list by using the ⇳ button respectively.
  5. Remove the ingredient(s) from the shopping list by pressing the Ⓧ button after hovering over the ingredient.
  6. To remove all the ingredients from the shopping list, simply press the "DELETE ALL ITEMS" button below the "MY SHOPPING LIST" heading.
  7. To get directions on how to make the dish by following the recipe given, just press the "DIRECTIONS" button below "HOW TO COOK IT" heading.
  8. You can also like a recipe by pressing the ♡ symbol. Similarly, you can also unlike the recipes by pressing the ♡ symbol again on the recipe.
  9. To find all your liked recipes, just hover on the ❤ symbol at the top right of the webapp, you can check out your liked recipes as a list.

Note that the webapp uses Cookies in the form of localStorage() API. If you see any warnings from the browser, kindly ignore them.

File Structure -x- Libraries Used

  1. axios -- code dependency
  2. fractional -- code dependency
  3. uniqid -- code dependency
  4. webpack -- dev dependency
  5. babel -- dev dependency

Please check package.json, webpack.config.js and .babelrc for more information on the dependencies and configuration.

Check ./src/ for the code (Models - ./src/models/, Views - ./src/views/, Controller - ./src/index.js) that makes the webapp work.

If you've downloaded and want to run the app in the local environment, then you first have to install the dependencies using npm install command using the shell/cmd/terminal in the cwd. After that, simply run npm run start command to run the app through the webpack-dev server @localhost:8080. To build it for production, run npm run build command in the shell. To build the app for development, run npm run dev command in the shell.