Meals Me App
Karam Abd | Android Programming | 12-04-2020
Contents
The purpose Meals Me App:.....................................................................................................2
The target users for Meals-Me App:.....................................................................................2
The Functionality of The App:..............................................................................................2
Technical design: ......................................................................................................................3
Class Diagram:.......................................................................................................................3
Wireframing description: .....................................................................................................5
Functional design:.....................................................................................................................6
User Manual:.............................................................................................................................8
Conclusion:.......................................................................................................................... 14
PAGE 1
The purpose Meals Me App:
Meals me app idea is to help you make use of any cooking item of vegetables, oil, spices and
seeds to advice you with a meal based on what you have at home.
THE TARGET USERS FOR MEALS-ME APP:
-
-
-
People with few knowledges about cooking.
People who suffer from poverty and have limited access to specific items.
People who allergic from items they can find meals by deselecting items.
THE FUNCTIONALITY OF THE APP:
The user will select – deselect items existed at his/her place to get back a result of meals can
be served or cooked with these items. It offers also other functionalities:
-
-
-
-
-
-
-
Supports both Arabic and English languages (English is the default language).
Sorting by item type (Vegetables, Fruits, Seeds, Oils and Milk types).
Sorting by cold/warm meals.
Sorting by Duration, Calories, and Name.
Updating a meal
Search for items
Recommendation for meals based on what you select of items.
PAGE 2
Technical design:
CLASS DIAGRAM:
User
Meal
username: String
meals: ArrayList
recommendedMeals: ArrayList
recentMeals: ArrayList
items: ArrayList
currentSelectedMeal: Meal
language: String
User(String)
setUsername(String):void
getRecentMeals(): ArrayList
addToRecentMeals(Meal): void
setCurrentSelectedMeal(Meal): void
getCurrentSelectedMeal(): Meal
setLanguage(String): void
getLanguage(): String
getUsername(): String
getItems(): ArrayList
updateItems(): void
getAllMeals(): ArrayList
checkIfNameExisted(Meal): boolean
checkIfNameExistedStr(String): boolean
addMeal(Meal):Boolean
mealName: String
items: ArrayList
description: String
image: int
durationInMinutes: int
isSelected: boolean
dateCreated: Date
Meal(String, String, int, int)
Meal(String, String, int)
Meal()
setMealName(String): void
setDescription(String): void
setItems(ArrayList): void
setDurationInMinutes(int): void
addItem(Item): void
getMealName(): String
getDescription(): String
getDurationInMinutes(): int
getItems(): ArrayList
setImage(int): void
getImage(): int
getMealByName(String): Meal
getItemByName(String): Item
getAllRecommendedMeals(): void
getRecommendedMeals(): ArrayList
filterRecommendedMeals(String): void
getSelectedItems(): ArrayList
getUnSelectedItems(): ArrayList
setAllItemsUnSelected(): void
setAllItemsSelected(): void
getDateCreated(): Date
setDateCreated(Date): void
MealNameComparator(): Comparator
MealCaloriesComparator(): Comparator
MealDurationComparator(): Comparator
selectItemByName(String): void
PAGE 3
Item
itemName: String
description: String
calories: int
picture: int
isVegan: boolean
isVegetarian: boolean
isCarnicore: boolean
isSelected: boolean
Item(String, String, int, int, int, boolean, boolean,
boolean)
Item(String, String, int, int, int, boolean, boolean,
boolean, boolean)
getDescription(): String
isVegan(): boolean
isVegetarian(): boolean
isCarnivore(): boolean
getItemName(): String
getPicture(): int
getCalories(): int
isSelectedChange(): void
isSelected(): boolean
unSelectedChange(): void
selectedChange(): void
compareTo(Item): int
PAGE 4
WIREFRAMING DESCRIPTION:
The idea of the app came to me from a daily issue I face everyday, I start thinking simulating
how I thing when I want to cook something, I start thinking what I have already at home of
items, them my brain thinks of meals I already know, but then I thought of a question, what
if I have a dictionary of all meals in my brain, would it be a problem for me to prepare meals
even with small number of items, I then I thought of applying this idea into an app, and I
was also interviewing my friends about the idea and how would it help them, they were
happy about having such an app in their phone, specially those who left their homes to live
alone. I start designing the app process exactly how I processes it in my brain. First page
that holds the preferred meals (or recently visited meals) in our case, then a screen to collect
items, then a screen to show the recommended meals, I also thought of having a sort, so
people who prefer to have meals with less duration, calories, and for those who would love
to see seek meals they have heard about it. Then a screen to show the details of the meal to
be prepared. I also thought about editing meals based on the user preference, people may
remove items such us salt, sugar or any thing else. Or even update the name of the meal,
and the description. I used a virtual machine “Pixel 2 API 29” and my cell phone “Samsung
S10 plus”.
PAGE 5
Functional design:
Meals
ItemListView
PAGE 6
ttingsActivity
AddMeal
PAGE 7
User Manual:
1- Main Application Screen:
This screen will appear to you once you click on the icon of the
app in the apps list in your phone, it contains a button to start
looking for a meal, and a list contains the recent visited meals. It
also contains a menu in the nav bar of the screen in the up-right
corner that will take you to the application settings. See picture
(1).
PAGE 8
After pressing the button “FIND NEW MEAL”, you will find yourself in the screen where
you start selecting the items you have, and you can filter those items as written in picture
(2), also you can search for an item by start typing the item name, with every letter you
write, you will get on real time results. The pictures (3,4) are showing the results when you
select to filter between items. The custom drawing in the bottom of the screen shows the
selected items progress, in simple English: how many items you’ve selected compared of
the over all items.
PAGE 9
After selecting all items that you want to use for preparing your meal, You
will get a list of the meals recommended for you to choose from, where
these meals will have the items you selected, or at least part of it. In picture
(5) you see that the screen has the functionality to sort the recommended
meals based on its Duration as picture (6), name as picture (7), and
calories as picture (8).
PAGE 10
After choosing the meal you’re looking
for, you will get a screen with details
about how to prepare it, with scroll
down function, you’ll be able to read
the all text even if it is too long. Please
look at picture (9)
PAGE 11
when you press the menu button in the top-right of the screen,
you will be able to open the settings screen, where you will find
it as the picture (10) with buttons to choose from, it contains a
rating scroll down spinner that can help you rate the app see
picture (11), also you can clear the database, and you can choose
to let all the items to be
selected by default. You
will be able to select
another language as well,
the app supports both
(English and Arabic)
languages, see picture
(12).
PAGE 12
When selecting the button “ADD NEW MEAL” in picture (10) in settings, you will be
forward to update or add a meal, as you see in picture (13), by selecting the meal from the
list, you can update the name, the description, the duration see picture (14), and also the
items see picture (15). You can always press the button “Back” in your cell phone to get
back to the previous screen.
PAGE 13
Conclusion:
The application will be an ideal idea for making use of all items that people don’t know
how to use it when it come to cooking, it gives another option not to through it away if it
was extra not to know what to do with it, the data set in the application was made for
viewing only, it needs a huge online data set which will be the next target.
PAGE 14