Magic Pantry

Deliverables


- GitHub Repository
Magic Pantry
- Android Package
  Kit
GitHub: MagicPantry-v1.0.1.apk
Google Drive: MagicPantry-v1.0.1.apk
- Source Code
GitHub: MagicPantry-1.0.1.zip
Google Drive: MagicPantry-1.0.1.zip
- Sample Receipts
 (Safeway)
GitHub: safeway-receipt-images.zip
- Design Diagrams Presentation
MVVM, ER and Threaded Design Diagrams

What is Magic Pantry?


Magic Pantry is a virtual pantry application that streamlines the kitchen and cooking experience by keeping track of your ingredients at home. You will be able to scan grocery receipts and add items into your pantry. With Magic Pantry, add your own recipes and show available recipes to cook depending on your pantry’s contents. You will also be able to add missing ingredients of a recipe to your shopping list and receive notifications when running low on ingredients.

Features


- Pantry
Keep track of all the items you have at home, including the cost you paid for them and the quantity. You will also be able to directly add all your low-stock items into your shopping list.
- Shopping List
A quick and easy way to keep track of the items you need to purchase the next time you are grocery shopping.
- Recipes
You will be able to save all your favourite recipes using Magic Pantry. You can also find all the recipes that you can currently make with the ingredients that you have in your pantry. However, if you want to cook a recipe where you don't have all the ingredients for, then you will be able directly add those items straight into your shopping list.
- Receipt Scanning
With Magic Pantry you can scan your receipts and directly add the items you purchased into your pantry using machine learning!
- Notifications
Add notifications to alert you whenever you are running low on an ingredient.

Design





Final Presentation



- Pantry
Add notification fields for an ingredient
- Recipe
Add, edit and delete ingredients from recipe
Add missing ingredients from a recipe
Delete a recipe
UI fixes with adding and editing a recipe
- Receipt Scanning
Bug fixes
- Notification
Creates a notification when an ingredient amount falls below it's set threshold value
Generates an Android notification that directs to notification
- Database
Database updates to ensure validity of pantry ingredient amounts and cookable recipes

Show and Tell 2



- Pantry
Add ingredient to shopping list
Add error checking for adding an ingredient
Users can specify when an ingredient is low
- Shopping List
Add, edit and delete from the shopping list
Add ingredients to pantry from the shopping list
- Recipes
Add, edit and delete a recipe
Cook a recipe to consume pantry ingredients
View all recipes
View a single recipe
- Receipt Scanning
Improve robustness
- Notifications
View all notifications
View single notification
Android notifications not complete yet - using mock data currently

Show and Tell 1



- Setup
UI Mockup
MVVM UML Diagram
- Begin Feature
 Implementation
Basic UI
Manual input of ingredients
Setup database with ingredients table
Receipt Scanning
  • Get data from receipt (Assume perfect receipt)
  • Parse relevant data from receipt (Assume perfect receipt)
  • Give preview of ingredients and fix mistakes before submitting

Project Pitch


Team


Elaine Abraham

Email: eabraham@sfu.ca
Student #: 301368157

  • Receipt Scanner
  • Adding, editing and deleting recipes
  • Notification Fragment
    • Viewing a single notification
    • Mark notification as read after viewed
  • Layout for adding and editing ingredients
  • Website
  • Bug fixes


Jason Esquilona

Email: jesquilo@sfu.ca
Student #: 301369208

  • Assisted with Receipt Scanner
  • Notification Fragment
    • Pop up messages
    • Low stock ingredient
    • Viewing notifications
  • Recipe Fragment
    • View all recipes
    • Viewing a single recipe
  • Bug fixes
  • MVVM Diagram


Andy Liu

Email: ala158@sfu.ca
Student #: 301319435

  • Pantry and Shopping List
  • Adding and editing ingredients and recipes
  • Adding ingredients to shopping list from Pantry
  • Modifying and deleting recipe ingredients
  • Adding missing ingredients from recipe to shopping list
  • Dialogs
  • Bug fixes
  • Video editing
  • Website
Bao (Tyler) Trinh

Email: bvtrinh@sfu.ca
Student #: 301319439

  • Project Manager
  • UI Mockups (Figma)
  • Database design and Entity Relationship Diagram
  • Implemented database methods for validity of cookable recipes and ingredient amounts
  • Implemented features for Pantry, Recipe, Shopping List and Notifications
    • General bug fixes