/EasyGreen

Final Project

Primary LanguageJavaMIT LicenseMIT

EasyGreen

Table of Contents

  1. Overview
  2. Product Spec
  3. Demo
  4. Schema

Overview

Description

Theme: The ingredients of the recipes already in your fridge and save your Surplus Food

Technicality: Add list of ingredient into a recipe reverse search engine via natural language querying. It allows you to search for common recipes based on a list of Ingredients that you already have at home.

Being stuck home made me realized that I wasn't the most environmentally friendly person.

Knowing that I may not be the only one disregarding the environment, I decided to leverage technology to help others be more sustainable. The issues that I address is food waste.

40% of the food in the U.S. today goes uneaten which is equivalent of $165 billion dollars worth of food each year. Food that decay in landfills can produces methane, a potent greenhouse gas. And the list of problems goes on....

EasyGreen is a fun and intuitive way for people to manage their food and waste by having a digital inventory of food items in their household and provide an array of tools to be eco-friendly:

  • Find creative recipes given the food items you currently have in your home
  • A nice visual graph of your inventory
  • Create a shopping list
  • A discover feed within the app that allow other users to share their 10 second videos of meals or other related topics
  • Set reminders when an item is about to expire

Sources: https://www.npr.org/2012/09/21/161551772/the-ugly-truth-about-food-waste-in-america

App Evaluation

  • Category: Productivity
  • Mobile:
    • User engagement is best via mobile phones because user can check their fridge current state on the go and interact more with the community
  • Story: This app can appeal to different groups:
    • User that want to keep track of their food to save money
    • User that are pro-sustainable
    • User that want to find a recipe fast based on what they have available
    • User can get inspired from watching other people's creation
  • Market:
    • The app can have a big user base due to it's video content and cool features.
    • I estimate the audience age range would be 16-25 years old
  • Habit:
    • App notifications for expiration date can quickly gave user attention and the media content can keep user engagment.
    • User get a hit of dopamine when scrolling vertically on the media page
  • Scope: The challenges will be:
    • Having a dataset of recipes and ingridents
    • Figuring out the best way of getting user input
    • Figuring out the UI of the overall app
    • Using Facebook SDK and testing if I can use single page of Facebook Watch within the app

Product Spec

1. User Stories (Required and Optional)

Required Must-have Stories

  • User can login and sign up
  • User are able to create an inventory from a list of ingridents
  • User are able to create a shopping list
  • User can see a list of recipes which they can select and read from given ingridents
  • User can share a post on Facebook from the app

Optional Nice-to-have Stories

  • Keep track of user food items expiration dates and send app notifications to alert user
  • Have a nice graph of current inventory broken down in categories
  • Have an activity for video content from community

2. Screen Archetypes

  • Login Screen
    • Login and Sign up for a EasyGreen account
  • Inventory Screen
    • User can search for an ingredient, given suggestions
  • Recipes Screen
    • User can see 20 recipes based on inventory
    • User can click on a recipe and get more details such as instructions and prep time
  • Shopping List Screen
    • User can type anything and creates a list of items
  • Discover Screen
    • User can swipe up to see video content and post a video

3. Navigation

Bottom Navigation (Tab to Screen)

  • Inventory
  • Recipes
  • Shopping List
  • Discover
  • Account

Demo

Click on image to open Demo

MP4 created with KAP

Schema

User

Property Type Description
username String Required for user sign in
password String Hidden - Required for sign in
firstName String User first name
lastName String User last name
profileImage File User can take a picture

Inventory

Property Type Description
inventory JSONArray An array of items' name
expiration JSONArray An array of items' expiration as Strings
user Pointer Associates Inventory to a User

ShoppingList

Property Type Description
shopping_list JSONArray An array of items' name
user Pointer Associates Shopping List to a User

Networking

Spoonacular API
Base URL: https://api.spoonacular.com/recipes/

HTTP Verb Endpoint Description
GET /findByIngredients Search Recipes by Ingredients
GET /{id}/information Get information about a recipe
GET {id}/analyzedInstructions Get a recipe instructions

Facebook Pages API
Base URL: https://graph.facebook.com/

HTTP Verb Endpoint Description
GET /{page-id}/feed Fetch videos from page which is the app's feed
POST /{page-id}/videos Post video to page - user post to feed

License

Copyright [2020] [Gustavo Adame Delarosa]

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.