Skip to content

Functional Requirements Demo 1

GabrielaBerimbau edited this page Jul 27, 2026 · 1 revision

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.

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.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 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.

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.2 The system will allow users to manage recipe ingredients.

    • R4.2.1 Users will be able to add ingredient names.
    • R4.2.2 Users will be able to add ingredient quantities.
    • R4.2.3 Users will be able to add ingredient units.
    • 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 enter an ingredient name.
    • R5.1.2 Users will be able to select an ingredient category.
    • R5.1.3 Users will be able to enter an ingredient quantity.
    • R5.1.4 Users will be able to enter an ingredient unit.
    • R5.1.5 Users will be able to enter the price paid for the ingredient.
  • 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.2.4 Users will be able to identify ingredients as out of stock.
  • R5.3 The system will allow users to update pantry ingredients.

    • R5.3.1 Users will be able to edit ingredient names.
    • R5.3.2 Users will be able to edit ingredient categories.
    • R5.3.3 Users will be able to edit ingredient quantities.
    • R5.3.4 Users will be able to edit ingredient units.
    • R5.3.5 Users will be able to edit ingredient price information.
  • 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.
  • R5.5 The system will allow users to mark pantry ingredients as out of stock.

    • R5.5.1 Users will be able to mark an ingredient as out of stock.
    • R5.5.2 Users will be able to restore an out of stock ingredient by updating its quantity.

R6: Recipe Recommendation and Generation

  • R6.1 The system will generate recipe suggestions based on the user's pantry ingredients.
  • R6.2 The system will consider user dietary restrictions, allergies, disliked ingredients, and flavour profile when generating recipes.
  • R6.3 The system will identify which recipe ingredients are available in the user's pantry.
  • R6.4 The system will identify which recipe ingredients are missing from the user's pantry.
  • R6.5 The system will allow users to regenerate recipe suggestions.
  • R6.6 The system will allow users to filter generated recipes by cuisine type, cooking time, dietary restriction, and serving size.

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 generate a shopping list from missing recipe ingredients.
  • R8.2 The system will exclude pantry ingredients that the user already has in sufficient quantity.
  • R8.3 The system will allow users to add missing ingredients from multiple recipes to one shopping list.
  • R8.4 The system will allow users to manually add 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: Session and Account Access Management

  • R10.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