Requirements for We Are What We Eat Project (NeutraList) - kaksoy/SWE573_GH_INTRO GitHub Wiki

Requirements Document for the Web Application of Social Recipe Interaction and Nutrition Level Calculation of the Ingredients in Recipes

Direction: Includes information about time needed for cooking and ease of user level.

  1. Users and members shall be able to call the website.
  2. 5 Categories (breakfast, dessert, appetizers etc) shall be shown on the home page of the website.
  3. When each 5 categories are selected seperately, top 5 “recommended/liked” recipes under each category shall be shown.
  4. Users and members shall be able to search by typing food/meal name, other profiles, company name and location info on search box.
  5. Users and members shall be able to view detailed ingredient list and the directions of the recipes by selecting the interested recipe.
  6. In order to create a recipe, comment under a recipe and read comments under recipes; a user shall be able to create an account (to become a member).
  7. User shall become a member by providing her/his Name, Family Name, E-mail address, Password, Phone Number for account creation.
  8. In order to do whatever a member could do but also publish daily and monthly menus with nutritional information included; a user shall be able to create a food provider account.
  9. User shall become a food provider by providing her/his Name, Family Name, E-mail address, Password, Phone Number, Company Name, Location Address for account creation.
  10. Member shall upgrade to a food provider account by only adding Company Name and Location Address information on account page.
  11. Food Provider shall be able to perform/inherit all the actions that a member could perform.
  12. Food Provider shall be able to construct menus by adding constructed recipes.
  13. Member shall be able to login/logout
  14. Member shall be able to provide her/his ingredient and food/meal preferences as well as her/his “absolutely no” selections; either based on health priorities or their personal tastes, on their profiles.
  15. Member shall be able to follow other member’s/food provider’s profile.
  16. Member shall be able to create/edit/save/delete their own recipes.
  17. Member shall be able to reference other recipes for her/his recipe.
  18. Member shall give a title to her/his recipe (spaghetti bolognese)
  19. Member shall be able to label/tag their recipes.
  20. Each member shall have a message box on their profiles.
  21. Recommendations (of ingredients, recipes, locations) shall be made to members by messages based on their preferences and food social network.
  22. Member shall be able to message other members.
  23. Member shall be able to comment under recipes which are also created by other members.
  24. Member shall be able to comment under menus which are created by food providers.
  25. Member shall be able to edit and delete her/his own comment.
  26. When a search is made by a member, warning/notification should be made if any selected meal or ingredient of that meal is on member’s “absolutely no” list.
  27. Member shall be able to share/like other member’s/food provider’s recipes and menus.
  28. Member shall be able to save other’s ingredients, recipe and meals on their private space.
  29. Only members shall be able to use the nutrition level calculator.
  30. Member shall be able to add/edit/delete ingredients, materials, weight units.
  31. Member shall be able to enter/edit cooking directions of the meal.
  32. Ingredients (salt, sugar, etc) shall be entered to a new recipe by a drop down menu.
  33. The materials (x tablespoon salt, x teaspoon sugar , x cup milk etc.) or weight unit (x gr sugar) required to include ingredients for the cooking process shall be entered by a drop down menu
  34. Material or weight unit shall not be selected if not needed (1 apple).
  35. The amount needed for each ingredient of the recipe shall be entered corresponding to the material or weight unit selected.
  36. Warning shall be made if an amount entered is not expected according to the correspondng material or weight unit selected.
  37. Nutrition level shall be calculated based on recipe’s ingredients.
  38. Calories, Carbonhydrates, Fats and Proteins shall be the macronutrient output of the nutrition calculator and vitamins, minerals shal be the micronutrient output of the nutrion calculator.
  39. Nurition Level Calculation of the recipes shall be made by clicking “Calculate Nutrition” button which takes place under each recipe.
  40. Member shall be able to prefer to create and save/publicize their own recipes with calculated nutrition levels of the recipe itself is included.
  41. If the nutrition level of a recipe is not publicized by the recipe owner, a member recipe reviewer shall be able to use “Calculate Nutrition” button for that recipe by her/himself.
  42. When a user clicks “Calculate Nutrition” button of a recipe, s/he shall be directed to account creation page.
  43. Private space (profile) shall include a list.
  44. Member shall be able to track their nutritional intake by transferring nutritional calculation result of consumed recipes to their list by “add list” button placed under a recipe.
  45. Nutritional calculation results of consumed recipes placed on list shall be summed up daily and weekly in order to track nutritonal intake.
  46. Reactions under (comments, likes) menus of the food providers shall be reported to them in order to measure customer satisfaction of foods provided and place a change in menus if needed.
  47. Member shall be able to search for other member profiles and navigate to their recipes.
  48. Member shall be able to search for food provider’s profile and navigate to their menus and recipes.
  49. All type of users shall be able to flag a comment, recipe, menu or profile.
  50. System admins shall be able to check flags and take action if needed.