As young people recently starting to cook, it is difficult for us to remember what ingredients we currently own and what ingredients are required for different recipes. We are also always looking to try different recipes, but don't know what is required to cook these recipes. Therefore, we wanted to create a product that suggested various recipes for us, could convert these recipes into ingredients and simultaneously keep track of our kitchen inventory.

What it does

EasyShopper pairs the convenience that grocery delivery services offer with the flexibility and affordability of traditional store grocery shopping by providing families of all income levels with an all-in-one grocery shopping and meal preparation solution. Our lightweight application allows shoppers to browse healthy recipes online and create a detailed shopping list with the click of a button. The Pantry Management tool tracks how much of each food the shopper has at home, compares it to the ingredient list of a selected recipes, and determines the exact amount of each ingredient the shopper needs to buy. Not only does this tool minimize food waste, but EasyShoppr also promotes healthy eating at competitive price.

How I built it

The frontend was done using Vue.js and JavaScript. To calculate how much of each ingredient is required, an algorithm was required. This compares the quantity of ingredients required based on the recipe and the ingredients in the pantry. There were several API requests required for this process. First, the ingredients contained in a recipe were queried. As well, to display where in the grocery store the ingredients were another request was done. The rest of the UI was done using Bootstrap components and JavaScript functionality.

To obtain a list of the recipes, UIPath was used to scrape recipes off of Wegman's website. This was required because Wegman's did not have an exposed endpoint for getting a list of recipes. This was converted into a JSON which enabled a list of recipes to be browsed on the homepage.

The backend was created using SpringBoot. The functions for the backend was to enable the user to log in and to save the pantry ingredients corresponding to each user. This was done in MySQL with a user and pantry tables.

Built With

  • html
  • spring-boot
  • uipath
  • wegman's-api
Share this project: