File

ChopChop!
High Level
Design
by: Ayesha Ahmed, Erin Boley, Alexander Evans, Jennifer
Gonzalez, Chris Kennedy, Cindy Osorio, & Erin Smith
Table of Contents
Introduction
Background
Design Goals
Architecture
Introduction
Top-Level Architecture
Comparision
Data Model
User Interface
3
3
3
4
4
5
5
6
6
Introduction
Background
With the strenuous demands of daily life, finding the time to prepare healthy and
savory meals can be difficult. The numerous fast food options readily available on
every street corner show the need for possibilities that are quick and easy.
However, the growing obesity epidemic is proof of the immediate change our society
desperately needs. “Obesity is imposing an increasingly heavy burden on the world’s
population in rich and poor nations alike, with almost 30 percent of people globally
now either obese or overweight – a staggering 2.1 billion in all.” This soaring statistic
signifies the need for change in the United States, as well as the rest of the world.
Many families and individuals have busy schedules that do not allow for proper meal
planning and preparation. With a continuous rise in single-parent and double-income
families in America, the dietary needs tend to be focused around convenience instead
of health benefits.
Also, different dietary restrictions and allergies can hinder one’s ability to find a wide
variety of meal choices. Individuals who suffer from Celiac disease have to exclude
gluten from their diets. For those with dietary preferences such as Vegetarian or
Vegan, finding recipes with the option to restrict certain ingredients can be extremely
time consuming.
Design Goals
ChopChop! is a cooking application that is designed to serve a broad group of users.
The goal in developing this mobile web application is to allow users to find simple and
healthy recipes under specific timeframes. It is aimed at facilitating a healthier
lifestyle and will allow users to track calorie intake. It is intended to meet individual
needs based on the user’s preferences or dietary needs.
The cooking application ChopChop! will be capable of meeting user needs through the
following features:
·
Web-based interface that will allow users to navigate easily to find
healthy
recipes quickly and efficiently
·
Capability to narrow down the search to certain specifications
·
Checklists will enable the search to filter recipes according to:
o Meal you would like to prepare
o Amount of time available to prepare the meal
o Ingredients on hand
o Dietary restrictions/Food allergies selection
o Ingredients available on-hand selection
The user-friendly application, ChopChop!, will allow users to choose and export
recipes from a list of recipes generated based on his/her entries.
Architecture
2.1 Introduction
Mobile Web App:
○ Clients are mobile phones with HTML5 compatible browsers.
○ No installation or permissions required, no listing in app store needed.
○ Universal compatibility with iOS, Android, Windows Phone, etc.
1.
Top Level Architecture
1.
The front end will be what the user sees and interacts with. Information that
the user enters will go to forms to connect to the middleware. Middleware will
send back information in PHP, Javascript, JQuery.
2.
Middleware will process data entered by the user to query the database, and
process the data returned from the database for display to the user. This will be
done with PHP.
3.
The database will hold information about recipes. Middleware will request
data from the database based on user entry. The database will be read-only for
the app.
This architecture enables us to achieve the desired performance and function of the
app:
1.
Users can search and browse a list of recipes, and select individual recipes
from the database.
2.
The database being read only will eliminate potential data-entry errors by
users in the public database, and will allow fast access since the app won’t have to
write data to the database.
Comparison with other Architecture:
Our 3 tier architecture is similar to the ​
layered architecture​
. Where the database
layer is at the core and application server layer and the client layer work on top of it
in that order.
3-tier architecture is also similar to the ​
client server architecture​
, or it is a
specialization of client server architecture.
We have not preferred the pipe-filter architecture as the top level architecture since,
in the broader scope, our requirements do not hint at only the data
processing/manipulating aspects of ERP. There are many quality requirements which
are crucial for the success of the project. We may have pipe-filter like architecture
for some of the embedded modules in the application server layer.
Data Model
User Interface
● Start up
○ “Welcome to ChopChop! Please enter the time, diet restrictions, and
ingredients you have to receive recipe suggestions.”
○ “Select the meal you want to prepare”: ​
Drop down menu with choices:
Breakfast, Lunch, Dinner, Dessert, Snack
● Cooking Time Entry
○ “Enter how much time you have available to cook right now”: ​
Text field
to type the time with hours and minutes (program will scan to make
sure value is a number and is a valid time)
● Diet Restrictions Selection
○ “If you are diabetic, vegetarian, cannot have white flour, etc., indicate
it in the checklist below”: ​
check box list of diet restrictions
● Ingredient Availability Selection
○ “Choose which ingredients you have available”: ​
Checkbox list of
ingredients from the recipes that meet the criteria so far
● Recipe Selection
○ Based on your entries, here are recipes that will suit you: ​
Listview
where each item is a button that will lead to a page with the full recipe
The user can navigate back and forth through these screens to edit their input, or
select a different recipe to look at.
User Interface Diagram
​
Resources
http://www.reuters.com/article/2014/05/28/us-health-obesity-idUSKBN0E82HX20140528