Skip to content

Functional Requirements Demo 2

GabrielaBerimbau edited this page Jul 29, 2026 · 3 revisions

Mealchemy

Functional Requirements

R1: Registration and Login

  • R1.1 The system will allow users to sign up for an account.
    • R1.1.1 Users should be able to signup with an email address and password.
  • R1.2 The system shall allow users to log into their account.
    • R1.2.1 Users should be able to log into their account with their email address and password.

R2: User Profile and Preference Management

  • R2.1 The system will allow users to store and update their profile details.

    • R2.1.1 Set their display name.
    • R2.1.2 Set their profile picture.
    • R2.1.3 Set their preferred unit of measurement (imperial or metric).
    • R2.1.4 Set the cooking equipment they have available to them.
    • R2.1.5 Set their preferred font size.
  • R2.2 The system will allow users to store and update their preferences.

    • R2.2.1 Set their dietary restrictions.
    • R2.2.2 Set their allergy constraints.
    • R2.2.3 Set their common disliked ingredients.
    • R2.2.4 Set their flavour profile.
    • R2.2.5 Set their nutritional goals.

R3: Vault Creation and Management

  • R3.1 The system will have a global recipe vault.

    • R3.1.1 The system will allow users to publish standardised recipes to the global vault.
    • R3.1.2 The system will allow users to save a copy of a recipe in the global vault to their private vault.
    • R3.1.3 The system will allow users to flag recipes that violate community guidelines, which will be reviewed by admins.
  • R3.2 The system will allow users to have 2 additional types of recipe vaults.

    • R3.2.1 Private Vault

      • R3.2.1.1 The system will assign a private vault to a user upon account creation.
      • R3.2.1.2 The system will allow users to upload and edit personal recipes to their private vault, using a standardised template.
      • R3.2.1.3 The system will allow users to create custom recipe folders within their private vault.
    • R3.2.2 Shared Vault

      • R3.2.2.1 The system will allow users to created shared vaults and add other users to these vault.
      • R3.2.2.2 The system will allow users to create custom recipe folders within the shared vault.
      • R3.2.2.3 The system will allow vault members to upload and edit their recipes within the shared vault.
      • R3.2.2.4 The system will assign an admin role to the creator of the vault.
        • R3.2.2.4.1 The system will allow admins to add and remove vault members.
      • R3.2.2.5 The system will allowed users to save a copy of a recipe in the shared vault to their private vault.

R4: Recipe Creation and Management

  • R4.1 The system will allow users to create recipes using a standardised recipe template.

    • R4.1.1 Users will be able to enter a recipe title.
    • R4.1.2 Users will be able to enter a recipe description.
    • R4.1.3 Users will be able to select a cuisine type.
    • R4.1.4 Users will be able to enter preparation time and cooking time.
    • R4.1.5 Users will be able to enter serving size.
    • R4.1.6 Users will be able to upload an optional recipe photo.
    • R4.1.7 Users will be able to upload an optional tutorial video.
    • R4.1.8 Users will be able to upload an optional external link.
  • R4.2 The system will allow users to manage recipe ingredients.

    • R4.2.1 Users will be able to add ingredients from a given catalogue.
    • R4.2.2 Users will be able to add ingredient quantities.
    • R4.2.3 Users will be able to select ingredient units (Metric/Imperial).
    • R4.2.4 Users will be able to edit recipe ingredients.
    • R4.2.5 Users will be able to remove recipe ingredients.
    • R4.2.6 Users will be able to reorder recipe ingredients.
  • R4.3 The system will allow users to manage recipe steps.

    • R4.3.1 Users will be able to add numbered cooking steps.
    • R4.3.2 Users will be able to edit cooking steps.
    • R4.3.3 Users will be able to remove cooking steps.
    • R4.3.4 Users will be able to reorder cooking steps.
  • R4.4 The system will allow users to view saved recipes.

    • R4.4.1 Users will be able to view recipe details.
    • R4.4.2 Users will be able to view recipe ingredients.
    • R4.4.3 Users will be able to view recipe steps.
  • R4.5 The system will allow users to update saved recipes.

    • R4.5.1 Users will be able to edit recipe metadata.
    • R4.5.2 Users will be able to edit recipe ingredients.
    • R4.5.3 Users will be able to edit recipe steps.
    • R4.5.4 Users will be able to replace or remove recipe media.
  • R4.6 The system will allow users to delete saved recipes.

    • R4.6.1 Users will be able to confirm recipe deletion before it is permanently removed.

R5: Pantry Ingredient Management

  • R5.1 The system will allow users to add ingredients to their personal pantry.

    • R5.1.1 Users will be able to add ingredients from a given catalogue.
    • R5.1.2 Users will be able to enter an ingredient quantity.
    • R5.1.3 Users will be able to select an ingredient unit.
  • R5.2 The system will allow users to view pantry ingredients.

    • R5.2.1 Users will be able to view all pantry ingredients.
    • R5.2.2 Users will be able to view ingredient quantities and units.
    • R5.2.3 Users will be able to view ingredient categories.
  • R5.3 The system will allow users to update pantry ingredients.

    • R5.3.1 Users will be able to edit ingredient quantities.
    • R5.3.2 Users will be able to edit ingredient units.
  • R5.4 The system will allow users to remove ingredients from their pantry.

    • R5.4.1 Users will be able to delete pantry ingredients.
    • R5.4.2 Users will be able to confirm deletion before an ingredient is removed.

R6: Recipe Recommendation

  • R6.1 The system will consider user dietary restrictions, allergies, disliked ingredients when recommending recipes.
  • R6.2 The system will recommend recipes based on the user's preference weights of recommendation signals.
    • R6.2.1 The system will recommend recipes based on the user's pantry ingredient matches.
    • R6.2.2 The system will recommend recipes based on the user's flavour preferences (cuisine affinities).
    • R6.2.3 The system will recommend recipes based on the user's nutritional goals.
    • R6.2.4 The system will recommend recipes based on the user's pantry ingredient freshness.
    • R6.2.5 The system will recommend recipes based on a novelty score.
  • R6.3 The system will group recommend recipes by cuisine type.

R7: Guided Discovery

  • R7.1 The system will provide a guided recipe discovery interface.

    • R7.1.1 Users will be able to view one recipe suggestion card at a time.
    • R7.1.2 Users will be able to like a recipe suggestion.
    • R7.1.3 Users will be able to pass on a recipe suggestion.
    • R7.1.4 Users will be able to preview full recipe details before liking or passing.
    • R7.1.5 Users will be able to undo their most recent swipe action.
    • R7.1.6 Users will be able to view recipes liked during the current discovery session.
    • R7.1.7 Users will be able to save liked recipes to their vault.
  • R7.2 The system will use discovery feedback to improve future recipe suggestions.


R8: Shopping List Management

  • R8.1 The system will allow users to create personal shopping lists.
  • R8.2 The system will generate a shopping list from a user selected recipe.
    • R8.2.1 The system will exclude pantry ingredients that the user already has in sufficient quantity if the user chooses.
    • R8.2.2 The system will allow the user to add all of the selected recipe's ingredients to a new shopping list if the user chooses.
  • R8.3 The system will allow users to manually add custom shopping list items.
  • R8.4 The system will allow users to manually edit custom shopping list items.
  • R8.5 The system will allow users to remove shopping list items.
  • R8.6 The system will allow users to check off purchased items.
  • R8.7 The system will allow users to update their pantry from checked-off shopping list items.

R9: Nutritional Information

  • R9.1 The system will calculate nutritional information for recipes.
  • R9.2 The system will display calories and macronutrient information for recipes.
  • R9.3 The system will update nutritional information when recipe ingredients are edited.
  • R9.4 The system will allow nutritional values to scale according to serving size.
  • R9.5 The system will display a nutritional data accuracy disclaimer.

R10: Flagged recipe review

  • R10.1 The system will allow admins to view flagged recipes.
  • R10.2 The system will allow admins to resolve flagged recipes.
    • R10.2.1 The system will allow admins to remove flagged recipes from the global vault.
    • R10.2.2 The system will allow admins to dismiss flagged recipes, keeping the recipe in the global vault.

R11: Session and Account Access Management

  • R11.1 The system will allow users to log out of their account.

Mealchemy

Team PUL5E · COS 301


Documentation

Demo 4
Demo 3
Demo 2
Demo 1

Setup Guides


Quick Links


Updated: 13 September 2026

Clone this wiki locally