The food app for meal planning including managing grocery shopping and cooking menus, from scanning grocery shopping receipts to suggesting what type of food you can make with the available ingredients and saving + sharing your favorite recipes
MU week | Project Week | Focus |
---|---|---|
3 | 0 |
|
4 | 1 |
|
5 | 2 |
|
6 | 3 |
|
4 |
|
|
8 | 5 |
|
9 | 6 | p3: Delay offset + Finishing touches + improvements |
10 | 7 | Complete "Week 10" activities |
[Evaluation of your app across the following attributes]
- Category: Food & Cooking
- Mobile: The mobile application is required to do all elements mentioned in the description + managing user accounts
- Story: Acts as a one place for all of your food shopping and cooking needs
- Market: Any individuals who like home cooked meals and want a straight way cook anything from what they have, without information overload from a bunch of websites.
- Habit: Users will use this as needed throughout the week
- Scope: Will store user grocery information, use APIs to look up possible receipt matches, and allow image processing of receipts to text.
Required Must-have Stories (P1)
-
- Allow users to login/signup with username and password
-
- Profile page with username and photo + logout button
-
- Show's home page with a list of user saved recipes
-
- Show user currently available ingredients with an option to remove and add ingredients.
-
- Allows users to scan receipts or make ingredient/grocery entries
-
- Shows user's favorite recipes (usermarked favorite recipes)
-
- View Full Recipe Details including cooking instructions
- Shows the list of ingredients
-
- Search Recipes
- Using Spoonacular api https://spoonacular.com/food-api/docs
- Dietary Restriction and intorelances (ex, veg or non)
- user selects from available ingredients and can also provide additional ingredients
-
- Amazon textract to extract receipt data from photo
Optional Nice-to-have Stories (p2)
-
- A good UI
-
- History: allow authenticated users to view the history of their cooked recipes
Complicated Stories (p3)
-
- Share recipe info:
- Use image generation sdk (https://dynapictures.com/lp/developers)
- Use Facebook's 3rd party share APIs
-
- Suggest: suggest shopping list from a given recipe + Diet
- Login and Signup Screens
- Allow users to login/signup with username and password
- Scan Screen
- Allows users to scan recieps or make ingredient/grocery entries
- Home Screen
- Show's user's saved recipes
- Ingredients Screen
- Show's user currently available ingredients with an option to remove and add ingredients.
- Recipe Screen
- View Full Recipe Details including cooking instructions
- SECION 0: Shows the favorite and save button
- SECTION I: pull recipe information with diet, nutrition, and allergen information
- SECTION II: Shows categorized ingredients details (missed and used) (from get recipe by ingredients endpoint)
- SECTION III: recipe instructions (Get Analyzed Recipe Instructions endpoint)
- Saving a recipe will make a
Recipe
entry in our database with thefavorite: false
- Favoriting a reciple will also make a
Recipe
entry if it does not exists withfavorite: true
(use the double tap gesture)
- View Full Recipe Details including cooking instructions
- Favorites Screen
- Shows user's favorite recipes (usermarked favorite recipes)
- Search Screen
- User selects from available ingredients and can also provide additional ingredients
- Each recipe item in the results list will show
- title
- image
- calories
- carbs
- fat
- protein
Tab Navigation (Tab to Screen)
- Home Tab
- Goes to the home screen
- Favorites Tab
- Goes to the favorites screen
- Goes to Recipe Screen when a recipe is clicked
- Search Tab
- Goes to the Search screen
- Scan Tab
- Goes to the scanning screen
Flow Navigation (Screen to Screen)
- Login Screen
- Signup Screen (back)
- Home Screen
- Search and Results Screen (Results will be displayed in a recyclerview using the linear layout manager)
- Results Screen
- Recipe Screen
- Favorites Screen
- Recipe Screen
https://www.figma.com/.../6u95Y8yEE0cTQKWmrO.../MakeMeals...
https://www.figma.com/.../6u95Y8yEE0cTQKWmrO.../MakeMeals...
[This section will be completed in Unit 9]
[Add table of models]
- User
- id (primary)
- username (String)
- password (String)
- profilePhoto (File)
- shoppingList (Array)
- Recipe (https://spoonacular.com/food-api/docs#Get-Recipe-Information)
- id (objectId)
- user (User objectId reference)
- updatedAt (Date)
- createdAt (Date)
- title (String)
- imageUrl (String)
- spoonacularId (Number) -- will be used to lookup recipe information
- favorite (Boolean)
- saved (Boolean)
- diets (Array)
- dishTypes (Array)
- servings (Number)
- extendedIngredients (Array)
- analyzedInstructions (Array)
- readyInMinutes (Number)
- nutrients (Array)
- Grocery (Ingridient)
- id (objectId)
- user (User objectId reference)
- updatedAt (Date)
- createdAt (Date)
- name (String)
- ShoppingItem
- fields (Object)
- isChecked (Boolean)
- Recommendation
- OjectId
- updateAt
- createdAt
- user (pointer reference to user class)
- diets
- cuisines