-
Notifications
You must be signed in to change notification settings - Fork 1
Requirements
This project aims to serve people to learn more about what they eat in terms of micro and macro nutrients.
The main purpose of this application is presenting foods with exclusive information about the ingredients considering personal preferences and reliability standards with a wide interconnection availability between consumer and provider sides with all its openness to social media. This application will enable food servers to create a profile and description of the food they serve as well as individual users being able to create a profile and interact with the servers and the other users by all means. The nutritional properties for the food served will be determined from nutritional information of the given ingredients. There will be basically two types of users: registered users and guests. Guests have access only to explore the website whereas registered users (including servers and and regular users) have also access to follow other users, comment and tag on foods and servers, post media or any other information in their comments, advanced search and filter etc. There will be also user-specific profiles that contains preferences, daily consumptions, history of previous meals and so on..
Guest: Is a person who uses the website to explore restaurants and foods.
Registered User: Servers and regular users. They have some privileges.
Server: Restaurants, cafeterias, canteens.
Regular User: Registered users other than server.
Comment: Allows both the user and the server to interact with each other.
Rating: Restaurants are rated by their hygiene, taste and service quality.
Notification: User is notified when a restaurant he follows has a special offer or a new restaurant of his preference is open nearby. Servers are also notified by emails about positive and negative feedbacks the users give.
Image: Servers include images for food descriptions and users are able to post images in comments.
User Profile: Each registered user has a user profile that contains personal preferences, history of orders, favourite foods.
Popularity: Based on periodically consumption of foods.
Semantic Tag: Used for grouping restaurants and foods on different factors. (i.e. For restaurants, cuisine,diet information. For foods, allergen, diet, organic information.)
Filter: Could be either on restaurants or foods. Restaurants could be filtered by location and labels. Foods could be filtered by ingredients, cuisine type, regimes, organic or allergenic types.
Sorting: Restaurants on alphabetical ordering, popularity and ratings, foods on total calorie amount and which cuisine they belong to.
Payment: Payment options such as credit/debit card, cash, ticket..
Working hours: When the restaurants are open.
Micronutrients: Nutrients that humans consume in small quantities throughout life such as vitamins.
Macronutrients: Chemical elements that humans consume in the largest quantities. Three primary macronutrients are carbohydrate, fat and protein.
Restaurant Profile: Restaurants have their own profile including a section at the top of food list which contains quantitatively most consumed foods, contact info, location, ratings.
Recommendations: Main page of registered users include a section which provides recommendations based on their consumption history
History: Keeps track of what the user has ordered, what he searched for,what he has consumed.
Location: Restaurants have detailed location information on their public pages.
Menu: Restaurants have to provide their menus on their profiles.
Privacy: Personal information is visible to users who follow each other.
Label: Restaurants and foods are labeled such that if a restaurant is open it has an open label and if some food is organic it has organic label.
Favourites: User profile has this favourite food/place section which he can share with others.
Sharing: In accordance with other social networks such as Facebook, Twitter, Instagram.
-
1.1. Unregistered Users
- 1.1.1. Guests shall be able to register to the website through mobile app or website.
- 1.1.1.1. Guests shall be able to register either as a user or a Server.
- 1.1.1.2. Guest shall provide a valid email for their registration.
- 1.1.2. Guests shall be able to search for foods, registered users, servers.
- 1.1.2.1. Guests shall be able to use filtering and semantic tags in their search.
- 1.1.1. Guests shall be able to register to the website through mobile app or website.
-
1.2. Registered Users
-
1.2.1. Users
- 1.2.1.1. Search
- 1.2.1.1.1. Search shall include filtering option for diet preferences.
- 1.2.1.1.2. Search shall include filtering option for location of the server.
- 1.2.1.1.3. Search shall include filtering option for cuisine types.
- 1.2.1.1.4. Search shall include filtering option for allergenic ingredients.
- 1.2.1.1.5. Search shall include sorting option according to restaurant ratings.
- 1.2.1.1.6. Search shall include sorting option according to alphabetical order.
- 1.2.1.1.7. Search shall include filtering option for payment options.
- 1.2.1.1.8. Search shall include filtering option for working hours.
- 1.2.1.1.9. Search shall be done according to name.
- 1.2.1.1.10. Search shall be done according to the server.
- 1.2.1.2. Social Interaction
- 1.2.1.2.1 Users shall be able to rate on restaurants about tasted foods.
- 1.2.1.2.1.1. Food taste shall be included into the rating system.
- 1.2.1.2.1.2. Restaurant hygiene shall be included into the rating system.
- 1.2.1.2.1.3. Service quality shall be included into the rating system.
- 1.2.1.2.1.4. Atmosphere of the restaurant shall be included into the rating system.
- 1.2.1.2.2. Users shall be able to upload images to their comments.
- 1.2.1.2.2.1. Image size shall be less than 3 MB.
- 1.2.1.2.2.2. Image format shall be JPG or PNG.
- 1.2.1.2.3. Regular users shall be able to follow other users and servers.
- 1.2.1.2.4. Users shall be able to get notification about newly opened restaurants.
- 1.2.1.2.1 Users shall be able to rate on restaurants about tasted foods.
- 1.2.1.3. Profile
- 1.2.1.3.1. Profile of a user shall include a section about her daily calorie consumption.
- 1.2.1.3.1.1 Calorie consumption shall be calculated through the macronutrients and micronutrients of the consumed foods.
- 1.2.1.3.2. Main page of registered users shall include a section which provides recommendations based on their consumption history.
- 1.2.1.3.3. Profile page of signed in users shall have a section for consumption history.
- 1.2.1.3.4. Users shall be able to add foods to their “Favorite List”.
- 1.2.1.3.5. The last search criterion shall be kept for the next.
- 1.2.1.3.1. Profile of a user shall include a section about her daily calorie consumption.
- 1.2.1.1. Search
-
1.2.2. Servers
- 1.2.2.1. Servers shall be able to reply on comments on their restaurant and meals.
- 1.2.2.2. Servers shall be able to add semantic tags.
- 1.2.2.2.1 Servers shall add semantic tags for the restaurant.
- 1.2.2.2.1.1. Semantic tags on restaurants shall have cuisine information.
- 1.2.2.2.2. Servers shall add semantic tags for the food.
- 1.2.2.2.2.1. Semantic tags for the food shall have allergen information.
- 1.2.2.2.2.2. Semantic tags for the food shall have diet information.
- 1.2.2.2.1 Servers shall add semantic tags for the restaurant.
- 1.2.2.3. Servers shall include an image to their food descriptions.
- 1.2.2.3.1. Image size shall be less than 3 MB.
- 1.2.2.3.2. Image format shall be JPG or PNG.
- 1.2.2.4. Restaurant profile shall include a section at the top of food list which contains quantitatively most consumed 5 foods.
- 1.2.2.5. Restaurant page shall include location information.
- 1.2.2.6. Restaurant page shall include information about working hours.
- 1.2.2.7. Restaurant page shall include comments section.
- 1.2.2.8. Restaurant page shall include list of foods.
- 1.2.2.9. Food page shall contain a button labeled as “Tasted it!”.
- 1.2.2.10. Food description shall include the ingredients.
- 1.2.2.10.1. Food description shall include micronutrients and macronutrients which are calculated from the ingredients automatically.
- 1.2.2.10.2. Food description shall include calorie depending on the ingredients.
- 1.2.2.11. Restaurant pages shall include a map information which can be interacted with through clicking, i.e Google Maps.
-
-
2.1. Functional Requirements
- 2.1.1. The system shall allow a user to examine the history of his/her consumption.
- 2.1.2. The system shall warn the user if he or she is about selecting a food which contains some nutrients she does not want
- 2.1.3. The system shall allow a user to see top foods of a restaurant to which s/he is going.
- 2.1.4. The system shall allow a user to sort a list of foods according to some fields which are set beforehand.(Ingredients, calorie etc.)
- 2.1.5. The system shall allow a user to rate a food or server in terms of some subcategories which are also set beforehand.
-
2.2. Non-Functional Requirements
- 2.2.1. Security
- 2.2.1.1. Confidentiality, integrity, availability, accountability, privacy and authenticity shall be provided.
- 2.2.1.1.1. Privacy
- 2.2.1.1.1.1. The user’s information shall not be shared, copied or used without user’s permission.
- 2.2.1.1.2. Availability
- 2.2.1.1.2.1. Information shall be available to authorised users when they need them.
- 2.2.1.1.1. Privacy
- 2.2.1.1. Confidentiality, integrity, availability, accountability, privacy and authenticity shall be provided.
- 2.2.2. Usability
- 2.2.2.1. The system shall be user friendly.
- 2.2.2.1.1. Learnability
- 2.2.2.1.1.1. New users shall begin effective interaction.
- 2.2.2.1.1.2. Help document shall be provided.
- 2.2.2.1.2. Flexibility
- 2.2.2.1.2.1. Negotiable task allocation between the user and the system should be provided. (Task-Migratability)
- 2.2.2.1.2.2. The system shall be dialogue initiative.
- 2.2.2.1.3. Robustness
- 2.2.2.1.3.1. User shall be able to evaluate internal conditions of the system. (Observability)
- 2.2.2.1.3.2. The system shall provide support for undoing errors. (Recoverability)
- 2.2.2.1.3.3. The system functionality shall match common user tasks. (Task Conformance)
- 2.2.2.1.1. Learnability
- 2.2.2.1. The system shall be user friendly.
- 2.2.3. Portability
- 2.2.3.1. The system shall have Web and Mobile client.
- 2.2.3.1.1. The system shall be compatible with latest versions of Google Chrome, Mozilla Firefox and Safari available in 2016.
- 2.2.3.1.2. The system shall be compatible with Android.
- 2.2.3.1. The system shall have Web and Mobile client.
- 2.2.4 Reliability
- 2.2.4.1. The system shall recover the last working state in case of crush.
- 2.2.5 Flexibility
- 2.2.5.1. The system shall be designed to add new features easily.
- 2.2.6. Accessibility
- 2.2.6.1. The interface shall be designed according to color-blindness.
- 2.2.6.2. The font size shall be changed for users who have eye discomforts.
*2.2.7. Efficiency - 2.2.7.1. The system shall be storage-friendly.
- 2.2.8. Maintainability
- 2.2.8.1. The system shall support previous version for 6 months.
- 2.2.9. Price
- 2.2.9.1. The system shall be free for all users.
- 2.2.10. Operability
- 2.2.10.1. The system shall be kept in safe and reliable functioning operation.
- 2.2.11. Performance
- 2.2.11.1. The maximum response time shall be 5 seconds for all tasks excluding problems regarding users such as network problems etc..
- 2.2.1. Security
- Project Description
- Project Video
- Themes/Features
- User Stories & Acceptance Criteria
- Personas
- Domain Analysis
- Requirements
- Initial Plan
- Diagrams
- Use Cases
- Peer Reviews
- Mockups
- Test Plan
- User Tests
- Test Web Project
- Meeting 1 - 16.02.2016
- Meeting 2 - 18.02.2016
- Meeting 3 - 3.3.2016
- Meeting 4 - 7.3.2016
- Meeting 5 - 11.3.2016
- Customer Meeting 1 - 28.03.2016
- Meeting 6 - 8.4.2016
- Customer Meeting 1 - 29.9.2016
- Customer Meeting 2 - 06.10.2016
- Meeting 7 - 06.10.2016
- Meeting 8 - 13.10.2016
- Customer Meeting 3 - 27.10.2016
- Meeting 9 - 27.10.2016
- Customer Meeting 4 - 03.11.2016
- Meeting 10 - 03.11.2016
- Meeting 11 - 10.11.2016
- Meeting 12 - 01.12.2016
- Meeting 13 - 08.12.2016
- Customer Meeting 5 - 08.12.2016
- Meeting 14 - 08.12.2016