Skip to content

Vegetarian and vegan recipes app. Search, navigate, filter, save and prepare green dishes.

License

Notifications You must be signed in to change notification settings

egidiosalinaro/veg-point

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

22 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Veg Point ๐Ÿฅ• ๐Ÿฅฆ

A vegetarian and vegan recipes website/app. Search for green dishes, filter across them accordingly to your diet, follow step by step instruction to prepare your meal and save your favorite ones.
Try the app!

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. License
  6. Contact

About The Project โ“


vegpoint-by-egidiosalinaro vegpoint-by-egidiosalinaro vegpoint-by-egidiosalinaro

The goal of the project is to deliver a veg recipes application aimed to bring new cooking ideas. To do so, I used the Spoonacular API data, fetched using the axios library.

At its startup the application displays a selection of random recipes with photos, servings and preparation time, and a searchbar. The recipes carousel UX/UI is rendered using React Swiper. The user can select a recipe to check ingredients and step-by-step cooking instructions, save a favorite recipe in Local Storage using the heart react-icon, or search for a recipe/ingredient using the searchbar.

Clicking a recipe card takes the user to the recipe dedicated page, using react-router, where ingredients, cooking instructions and similar dishes can be found. The user can also use this page to save the recipe to favorites.

Favorites page can be found by clicking on the relevant button in the header, near the searchbar. Saved dishes are fetched using Local Storage and info about saved/unsaved recipes are passed across components using React Context. In this page the user can also delete a recipe from favorites using the trash react-icon.

From any page, the user can search a keyword using the searchBar component inside the Header. Submitting the form takes the user to the SearchResults page, which displays the RecipesCarousel component (with consistent style applying to TodaysPicks and Similar Recipes). The SearchFilters component in this page displays a friendly-UX popup for the user to filter search results.

vegpoint-by-egidiosalinaro vegpoint-by-egidiosalinaro

(back to top)

Built With ๐Ÿงฑ

I created the app using React: every html element is created with the jsx sintax; style is build using the new CSS nesting feature*.

โ—โ— * CSS nesting is a relatively new feature, check its browser compatibility to be sure you have a full user experience of the app. โ—โ—

html5 Html5
css3 Css3
javascript JavaScript ES6
axios Axios
axios Dotenv
webpack Webpack
react React
react React Router
react React Swiper

(back to top)

Getting Started ๐ŸŽฌ

This project was bootstrapped with Create React App.
I published this code at the link https://vegpoint-egidiosalinaro.netlify.app/ so you can use it, but if you want you can also install it in your device using React:

Prerequisites ๐Ÿ“

You need to have Node and npm installed. You can check the version you have installed running:

  • npm
    npm -v

(back to top)

Installation โš™๏ธ

Once downloaded this repo, in the project directory, you can run:

  • installing libraries
npm install
  • run the app
npm start

This runs the app in the development mode. Open http://localhost:3000 to view it in your browser. The page will reload when you make changes.

See the section about running tests for more information.

npm run build

Builds the app for production to the build folder.
It correctly bundles React in production mode and optimizes the build for the best performance.

The build is minified and the filenames include the hashes.
Your app is ready to be deployed!

See the section about deployment for more information.

(back to top)

Usage ๐Ÿ•น๏ธ

Use this app to try new green cooking ideas.

At its startup the application displays a selection of random recipes with photos, servings and preparation time, and a searchbar. Select a recipe to check ingredients and step-by-step cooking instructions, save a favorite recipe using the heart icon, or search for a recipe/ingredient using the searchbar.

Favorites page can be found by clicking on the relevant button in the header, near the searchbar. In this page you can also delete a recipe from favorites using the trash icon.

From any page, you can search a keyword/recipe using the search bar and then filter search results accordingly to your diet.

(back to top)

Roadmap ๐Ÿ—บ๏ธ

  • fetching API data
  • insert searchbar query into API searching machine
  • creating components
  • saving favorites to local storage
  • creating favorites page using context provider
  • creating other pages via router
  • styles improvements
    • coherent and user-friendly UX/UI
    • CSS nesting
    • learning React Swiper
  • final code cleaning and code consistency

(back to top)

License

Distributed under the MIT License. See LICENSE for more information.

(back to top)

Contact

egidiosalinaro@gmail.com

(back to top)