Documentation Group F: Smart Recipes

Logo

Project Manager: Benny

Literature Review: Benny, SeongJoon

Communication Officer: Risa, Ryo

Senior coder: Kaiyuan WANG(Kenny)

Junior coder: Ryo


Literature Review

Ryo: Definition and Concept of Smart Cities and The Impact of Cooking Tutorial Videos

SeongJoon: Benefit of Smart City and Online Grocery Shopping

Lisa: Challenges and Limitations

Benny: Sustainable Living in Smart Cities and Shopping List

Kenny: Smart Cities Health and Personalized Recipes Recommendation


Requirement Engineering Process

Click here to do the survey

User requirements:

 1. Able to personalize users’ experience and save their preferences.

 2. Able to specify users’ dietary restrictions in their profile so the system can recommend appropriate recipes.

 3. Able to input the ingredients in users’ fridges so that they can get recipe recommendations based on these ingredients.

 4. Able to specify the type of food users want to eat so the system can recommend suitable recipes.

 5. Able to rate and review recipes so that users can share my experience with others.

 6. Able to save one’s favorite recipes so that they can easily find them later.

 7. Able to receive recommendations quickly so that I can decide what to cook without wasting time.

 8. Able to generate a shopping list based on users’ selected recipes so that they can easily see what ingredients they need to buy.

System requirements:

 1. Functional requirements:

 2. User Authentication: The system shall allow users to create personal accounts, log in, and log out.

 3. User Profile Management: The system shall enable users to manage their profiles, specifying dietary restrictions or preferences.

 4. Ingredient Input: The system shall provide a user-friendly interface for users to input ingredients they have on hand.

 5. Recipe Recommendation by Ingredients: Based on the ingredients input by the user, the system shall recommend a list of recipes that can be made with those ingredients.

 6. Food Preference Input: The system shall provide an interface for users to input their desired food (e.g. salad without beef).

 7. Recipe Recommendation by Food Preferences: Based on the food preferences input by the user, the system shall recommend a list of recipes that match the preferences.

 8. Recipe Display: The system shall provide detailed information for each recipe, including ingredients needed, YouTube tutorial link, and reviews by other users.

 9. User Feedback: The system shall allow users to rate and review recipes.

 10. Search Functionality: The system should allow users to search for recipes based on specific keywords and ingredients they inputted.

 11. Recipe Saving: The system should allow users to save their favorite recipes in their profiles.

 12. Shopping List Generation: The system should be able to generate a shopping list, possibly minus the ingredients already have.

 13. Social Sharing: The system should allow users to share their recipes on social media.

Non-Functional requirements:

 1. Usability: The system shall be user-friendly, with intuitive navigation and clear instructions.

 2. Performance: The system shall return recipe recommendations within a reasonable time.

 3. Security: The system shall ensure the safety of user data.

 4. Maintainability: The system shall be designed modularly (two modes) to allow for updates and change quickly in the future.

 5. Data Integrity: The system shall ensure the recipes and users’ data are accurate and up to date.

 6. Data Backup and Recovery: The system should have a database for regular data backups and recovery in case of data loss.

 7. Testability: The system should be designed to allow easy testing.

 8. Documentation: The system should be well-documented to provide a clear understanding of the project to developers, testers, and future maintenance teams.


Diagrams

Activity Diagram

ActivityDiagram

FlowChart

FlowChart

State Diagram

StateDiagram

System Architecture Diagram

SystemArchitectureDiagram