-
Notifications
You must be signed in to change notification settings - Fork 0
Requirements
- Non-Registered User: A user who does not have an account; they can browse recipes but cannot save, like, comment, or share them.
- Registered User: A user who has created an account using an email and password, gaining access to additional features such as saving, liking, sharing, and commenting on recipes.
- User Account: The credentials and associated data a registered user creates during registration, enabling them to log in, manage their profile, and interact with platform features.
- Base User: A standard registered user who can save, like, share, comment on recipes, and create their own recipes.
- Nutritionist: A specialized registered user who can create and verify health-focused recipes, provide dietary recommendations, and contribute expert insights.
- Admin User: A designated registered user responsible for managing platform content, moderating user activity, reviewing reports, and ensuring compliance with platform policies.
- Profile: The personal page of a registered user displaying their saved recipes, liked recipes, dietary preferences, and profile information.
- Recipe: A structured entry containing ingredients, preparation steps, cooking time, and images that registered users can create, browse, save, and share.
- Post: An entry that includes a recipe and comments, likes.
- Recipe Category: A predefined classification system for organizing recipes (e.g., vegetarian, dessert, breakfast, etc.).
- Save Recipe: A feature allowing registered users to bookmark recipes for easy access later.
- Like Recipe: A feature enabling registered users to express appreciation for a recipe, influencing its popularity ranking.
- Share Recipe: A functionality that allows users to distribute recipes via social media, direct links, or within the platform.
- Comment: A section under each recipe where registered users can leave reviews, tips, or feedback.
- Rating: A system where users can rate recipes (e.g., 1 to 5 stars) to provide feedback and help others find quality content.
- Search: A functionality enabling users to find recipes based on keywords, ingredients, categories, or dietary preferences.
- Filter: A tool allowing users to narrow down recipe searches based on criteria such as preparation time, difficulty level, or ingredient type.
- Tagging: A feature that allows registered users to add keywords to recipes to improve discoverability and content organization.
- Meal Planner: A tool that enables registered users to create personalized meal plans by selecting recipes for specific days of the week.
- Shopping List: A feature that automatically generates a grocery list based on the ingredients required for selected recipes.
- Dietary Preferences: User-defined settings that customize recipe recommendations based on dietary needs (e.g., vegan, keto, nut-free). Also they are indicated by tags.
1.1.1. 🔑 Authentication
1.1.1.1. Signup
- 1.1.1.1.1. Guests(glossary) shall agree to the privacy policy and terms&conditions.
- 1.1.1.1.2. Guests shall create signup, if they already have an account.
- 1.1.1.1.3. To signup guests shall enter unique username, unregistered email and a password.
- 1.1.1.1.4. Signup should be possible through Facebook or Gmail.
- 1.1.1.1.5. Guest shall pass email verfication as last step of signup.
1.1.1.2. Login
- 1.1.1.2.1. Users shall provide their usernames and passwords to login.
1.1.1.3. Logout
- 1.1.1.3.1 Users shall be able to log out.
1.1.1.3. Password Recovery / Change Password
- 1.1.1.3.1. Users shall provide their email and confirm recovery by entering verfication code they received.
- 1.1.1.3.2. New password should not contain previous password.
1.1.2. 👩🏼💻 User Interaction in Blogs
1.1.2.1. User should be able to create and publish posts.
1.1.2.2. User should write the content of the posts.
1.1.2.3. User should be able to browse the feed and explore other posts.
1.1.2.4. User should add tags to the post.
1.1.2.5. User should be able to search posts by tags.
1.1.2.6. User should be able to like and comment the posts.
1.1.2.7. User should be able save and share one's the post.
🛂 1.1.2.9 Moderation
- 1.1.2.8.1. There should be content moderation over users, preventing: misinformation or inappropriate content in shared recipes.
1.1.3. 😷 Nutritionist Interaction
1.1.2.0. Nutritionists can do all actions mentioned for (1.1.2.)User Interaction.
1.1.2.1. The system must support a secure authentication process for nutritionists, including a credential verification process (e.g., uploading certifications, credentials) to activate a professional profile.
1.1.2.2 Provide nutritionists with a dedicated interface to review user-submitted recipes.
- 1.1.2.2.1.1. Interactive nutrient breakdown charts and comparison tools to align recipes with dietary guidelines should be integrated.
1.1.2.3. Automatically assign an “Expert Verified” badge to recipes that have been reviewed and approved by a certified nutritionist.
🛂 1.1.2.4. Moderation
- 1.1.2.4.1. Moderation should review and approve process for submitted tips.
1.2.1. 📊 Generating Plan
- 1.2.1.1. Planner should be able to generate and compare meal options, considering resitrictions imposed
- 1.2.1.2. Planner should allow users to impose or remove restrictions for next generated list.
1.2.2. ✏️ Editing Plan
- 1.2.2.1. Planner should allow users to create and edit meal plans, with restrictions, based on their diet.
1.2.3. 🌐 Sharing Plan
- 1.2.3.1. Enable users to export their shopping lists for printing.
1.2.4. 🛠️ Tools and Features
- 1.2.4.1. Display nutritional values(glossary) in the shopping list.
- 1.2.4.2. Nutrition tips should be integrated with budget meal planner.
2.1 🔓 Availability and Accessibility
- 2.1.1. System should have a Website interface that provides an web specific user experience.
- 2.1.2. System should have a Android application interface that provides an mobile specific user experience.
- 2.1.3. System should support UTF-8 character encoding.
- 2.1.4. System should support English language.
- 2.1.5. System should support language translation function. (Optional)
2.2 🔏 Privacy
- 2.2.1. Ethical concerns must be considered, so system must follow the rules defined by GDPR/KVKK.
- 2.2.1.1 A well-defined explanation about how users data will be used must be given to users.
- 2.2.1.2 Users must agree to the Privacy Policy and User Agreement.
- 2.2.1.3 If any change happens in the policy, users must be notified about it.
2.3 🔐 Security
- 2.3.1. The system shall implement multi-factor authentication (MFA) for users with higher privileges, such as nutritionists, to add an extra layer of security to sensitive actions.
2.4 🏎 Performance and Scalability
- 2.4.1. The system should handle at least 1,000 concurrent users without significant degradation in performance, ensuring smooth operation during peak usage.