Skip to content
This repository was archived by the owner on Nov 3, 2025. It is now read-only.

Requirements

gozdeberk edited this page Sep 27, 2016 · 22 revisions

Summary

This project aims to serve people to learn more about what they eat in terms of micro and macro nutrients.

Background

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. 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 and do manual search 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 and automatic search etc. There will be also user-specific profiles that contains preferences, daily consumptions, history of previous meals and so on..

Glossary Of The Requirements

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 server of his preference is open. 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.

Regular User Profile: Each regular user has a user profile that contains personal preferences, history of consumption, favourite 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 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.

Server 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 regular users include a section which provides recommendations based on their consumption history

History: Keeps track of what the regular user has consumed.

Location: Restaurants have detailed location information on their public pages.

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.

1. User Requirements

  • 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 manual search.
  • 1.2. Registered Users
    • 1.2.1. Users

      • 1.2.1.1. Manual 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. Automatic Search
        • 1.2.1.2.1. Search shall be done automatically according to the last search criteria.
      • 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. 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.5. Users shall comment on food and server pages and see the other comments.
        • 1.2.1.2.6. Users shall sign the food tasted by "Tasted it" button.
      • 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.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.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. System Requirements

  • 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.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.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.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..

Clone this wiki locally