Skip to content

Requirements

Dağlar Eren Tekşen edited this page Mar 11, 2025 · 22 revisions

Draft Requirements

Glossary

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

1.1 User Requirements

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 Meal Planner

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. Non-Functional Requirements

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.
Clone this wiki locally