Giter Club home page Giter Club logo

recip-eco's Introduction

Recip-Eco

Overview

Food is abundant in our modern society. However, every year millions of tons of food goes to waste because individuals can't think of ways to combine every odd ingredient in their refridgerators into something worth eating before those ingredients expire.

Recip-Eco is here to fix this problem of food waste.

Recip-Eco allows the user to submit a list of every odd ingredient they have yet to find a use for, and in return they receive a list of recipes from the Edamam Recipe API that includes all of the recipes listed. Additionally, the user has the power to filter those recipes by dietary restriction. This means that not only will the list of recipes match the ingedient list--but it will also match the preferences of each individual user!

Recip-Eco: Revolutionizing food sustainability.

Checkout the deployed beta version of the application using the link below.

Recip-Eco

Learning Goals

  • React fundamentals
  • TypeScript fundamentals
  • React Hooks
  • Build a multipage application with Router
  • APIs
  • Asychronus JavaScript
  • Testing React components with acceptance testing & end-to-end testing (Cypress)
  • Responsive design

Getting Started

To get a local copy up and running follow these simple steps.

Installation

  1. In your terminal, clone the repo
    git clone [email protected]:lswatson16/stretch-tech.git
  2. cd into the root directory
    cd stretch-tech
  3. Install NPM packages
    npm install
  4. Start the server to see the application in the browser
    npm start
    • Runs the app in the development mode.
    • Open http://localhost:3000 to view it in the browser.
    • The page will reload if you make edits.

Challenges and Wins

This project was definitely a stretch! The thing that made it so challenging was the fact that we had to do the majority of the learning required to complete it on our own time, outside of class. However with that in mind, the project is also an incredible win for us because it shows how far we've grown as developers.

One particular milestone that comes to mind was when we finally figured out how to refactor the project in with React Router so that the url always matches up with the state that the application webpage is currently in.

Features

When the user arrives at the landing page, they are greeted by a simple form asking for the ingredients they would like to use in their search. After they've added the proper ingredients to the search list, they can press the Find Recipes button, and voila--a list of recipes including those ingredients will appear in a queue beneath the form!

If the user has any specific dietary preferences or restrictions, a dropdown will appear with the search results allowing the user to further filter their results as desired.

Finally, when the user has found the recipe they would like to check-out, they can click on the recipe in their queue and a new page will appear with additional recipe details and instructions along with a link to the webpage where the recipe was originally posted online.

Home page

View Recipe Search Results

View Recipe Detail

Future Additions

In the future, we would like to make the following additions to Recip-Eco:

  • The ability for users to login to dedicated accounts so that they can individually favorite the recipes they find for future use.
  • Additional dropdown options for refining recipe results by more criteria.
  • The ability to use the application in full screen mode with a dedicated desktop and/or mobile version of the application.

Technologies Used

  • TypeScript
  • React
  • React Router
  • Cypress
  • Javascript
  • SCSS/SASS
  • HTML
  • CSS
  • WAVE (Chrome extension)
  • React Dev Tools (Chrome Dev Tools)

Deployment

Skip installation by using this deployment link to view the application: Recip-Eco

  • No installlation is needed with the provided deploy link.
  • The application was deployed using Heroku.

Contributors

Credits

recip-eco's People

Contributors

lwatz16 avatar kmewrd avatar prkr93 avatar roryemagee1 avatar

Stargazers

 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.