Use Cases Demo 4 - COS301-SE-2026/Mealchemy GitHub Wiki
Please scroll down.
Use Cases
Acronyms
TUCBW - This use case begins with
TUCEW - This use case ends with
Profile and Preferences Use Case Diagram
1: Register
TUCBW the user opens the registration screen and enters their required account details.
TUCEW the user account is created and the user can proceed to set up their profile and preferences.
2: Log In
TUCBW the user enters their email address and password on the login screen and clicks "Log in."
TUCEW the user is authenticated and redirected to the application home screen.
3: Log Out
TUCBW the logged-in user selects the sign out option from their account or profile area.
TUCEW the user session is ended and the user is returned to the login screen.
4: Manage User Profile
TUCBW the logged-in user opens the user profile section.
TUCEW the user has viewed or updated their profile details, including display name, profile picture, preferred units, and available cooking equipment.
5: Manage Preference Profile
TUCBW the logged-in user opens the preference profile section.
TUCEW the user has viewed or updated their saved food preferences.
6: Set Dietary Restrictions
TUCBW the user opens the dietary restrictions section in their preference profile.
TUCEW the user has selected and saved their dietary restrictions.
7: Set Allergies
TUCBW the user opens the allergies section in their preference profile.
TUCEW the user has selected and saved their allergy constraints.
8: Set Disliked Ingredients
TUCBW the user opens the disliked ingredients section in their preference profile.
TUCEW the user has added or removed disliked ingredients from their preference profile.
9: Set Flavour Profile
TUCBW the user opens the flavour profile section in their preference profile.
TUCEW the user has selected and saved their preferred flavour profile.
10: Set Nutritional Goals
TUCBW the user opens the nutritional goals section in their preference profile.
TUCEW the user has selected and saved their nutritional goals.
11: Set Cooking Equipment
TUCBW the user opens the cooking equipment section in their profile.
TUCEW the user has selected and saved the cooking equipment available to them.
12: Set Preferred Units
TUCBW the user opens the preferred units section in their profile.
TUCEW the user has selected and saved their preferred unit system, such as metric or imperial.
Vaults and Vault Folders Use Case Diagram
1: View Recipe Vault
TUCBW the logged-in user navigates to the Vault tab.
TUCEW the user can see all saved recipes and folders in their private vault.
2: Switch Between Vaults
TUCBW the logged-in user opens the vault selector.
TUCEW the user is viewing their chosen vault, either their Private Vault or one of their Shared Vaults.
3: Create Recipe Folder
TUCBW the logged-in user selects the option to create a new folder within their recipe vault and enters a folder name.
TUCEW the new folder is created and appears in the user's vault, ready to have recipes moved into it.
4: Rename or Delete Recipe Folder
TUCBW the logged-in user selects the folder menu of a folder in their private vault and chooses to rename or delete it.
TUCEW the folder is renamed or deleted.
5: Save Recipe to Vault Folder
TUCBW the logged-in user selects the save option on a recipe in Recipe Details or Sizzles and chooses a vault folder.
TUCEW the recipe is saved in the chosen folder and can be found there later.
6: Browse Global Vault
TUCBW the logged-in user navigates to the global vault.
TUCEW the user can see all the recipes that have been published to the community repository.
7: Save Recipe from Global Vault
TUCBW the logged-in user browses the global vault and selects a recipe to save.
TUCEW a copy of the recipe is added to the user's private vault and can be edited independently of the original.
8: Save External Link
TUCBW the logged-in user navigates to their External Links folder in their private vault.
TUCEW the external link (URL) is saved with a name to the user's folder and is immediately accessible.
9: Edit or Delete External Link
TUCBW the logged-in user selects the edit or delete option on a saved link.
TUCEW the link is updated or removed from My Links.
Shared Vault Collaboration Use Case Diagram
1: Create Shared Vault
TUCBW the logged-in user navigates to Shared Vaults, selects "Add Vault", and enters a vault name.
TUCEW the shared vault is created, the user is assigned the Owner role, and the vault appears in the shared-vault row.
2: Manage Shared Vault
TUCBW the logged-in user selects a shared vault they belong to.
TUCEW the user can view the vault's recipes and folders, and the member and invitation controls their role allows.
3: Invite User to Shared Vault
TUCBW the logged-in vault Owner opens the Invitations section of a shared vault and enters the email address of the user to invite.
TUCEW the invitation is sent and shown with a pending status.
4: Cancel Invitation
TUCBW the logged-in vault Owner selects a pending invitation and chooses to cancel it.
TUCEW the invitation is cancelled and can no longer be accepted.
5: View Incoming Invitations
TUCBW the logged-in user selects "Incoming invitations" in the Shared Vaults view.
TUCEW the user can see their pending invitations, or a "No pending invitations" message if there are none.
6: Accept or Decline Invitation
TUCBW the logged-in user selects Accept or Decline on a pending invitation.
TUCEW the user has joined the shared vault as a Viewer, or the invitation has been declined.
7: View Vault Members
TUCBW the logged-in user opens the Members section of a shared vault.
TUCEW the user can see the vault's members and their own role.
8: Change Member Role
TUCBW the logged-in vault Owner selects a member and chooses to change their role to Viewer or Editor.
TUCEW the member's role is updated and the member is notified.
9: Remove Member from Shared Vault
TUCBW the logged-in vault Owner opens the Members section and selects a member to remove.
TUCEW the selected user is removed from the shared vault and can no longer access its contents.
10: Add Recipe to Shared Vault
TUCBW the logged-in vault Owner or Editor selects a recipe and chooses to add it to a shared vault they can edit.
TUCEW a shared copy of the recipe is added to the shared vault and becomes accessible to all members. Changes to the shared copy do not change the original in the private vault.
11: Edit Shared Recipe
TUCBW the logged-in vault Owner or Editor selects the edit icon on a shared recipe.
TUCEW the system has obtained an editing lock, the user has updated the recipe and saved it, and the lock has been released. If another member is editing, the user is told that editing is currently unavailable.
12: Delete Shared Recipe
TUCBW the logged-in vault Owner or Editor selects the option to delete a recipe in a shared vault and confirms the action.
TUCEW the recipe is removed from the shared vault.
13: Save Shared Recipe to Private Vault
TUCBW the logged-in vault member selects a recipe in a shared vault and chooses to save it to their private vault.
TUCEW a copy of the recipe is added to the user's private vault and can be edited independently of the shared recipe.
14: Browse Shared Recipes as Viewer
TUCBW the logged-in vault Viewer opens a shared vault.
TUCEW the user can browse the vault's recipes but the edit, add and delete controls are not available.
Notifications Use Case Diagram
1: View Notifications
TUCBW the logged-in user selects the bell icon on the Home or Vault page.
TUCEW the user can see their notifications about invitations, recipe updates, role changes and other vault activity, or a "No notifications yet" message if there are none.
2: Open Notification Destination
TUCBW the logged-in user selects an actionable notification.
TUCEW the user is taken to the related invitation, vault or recipe, or told that it is no longer available if it was removed or access was lost.
3: Mark All Notifications as Read
TUCBW the logged-in user selects "Mark all read" in the notifications inbox.
TUCEW all unread notifications are marked as read.
4: Refresh Notifications
TUCBW the logged-in user selects the refresh icon in the notifications inbox.
TUCEW the inbox shows the latest notifications.
Recipes Use Case Diagram
1: Create Custom Recipe
TUCBW the logged-in user selects the option to add a custom recipe and enters the recipe title, ingredients, steps, prep time, cook time, and serving size.
TUCEW the recipe is saved to the user's personal vault and is immediately accessible.
2: Upload Optional Recipe Photo and/or Video
TUCBW the logged-in user selects the option to add a photo and/or video to a selected recipe via their photo gallery or camera.
TUCEW the recipe is saved with the photo and/or video and can be viewed by the user.
3: View Saved Recipe
TUCBW the logged-in user selects a recipe from their vault.
TUCEW the full recipe details including title, ingredients, steps, an optional photo and nutritional information are displayed.
4: Edit Recipe
TUCBW the logged-in user opens a saved recipe and selects the option to edit it.
TUCEW the user has updated one or more recipe fields and the changes are saved to their vault.
5: Edit Optional Recipe Photo and/or Video
TUCBW the logged-in user opens a saved recipe and selects the option to edit it and replace the photo and/or video.
TUCEW the user has updated the photo and/or video and the changes are saved to their vault.
6: Delete Optional Photo and/or Video
TUCBW the logged-in user opens a saved recipe and selects the option to edit it and deletes the photo and/or Video.
TUCEW the user has removed the photo and/or Video and the changes are saved to their vault.
7: Delete Recipe
TUCBW the logged-in user selects the option to delete a recipe from their vault and confirms the action.
TUCEW the recipe is permanently removed from the user's vault.
8: Publish Recipe to Global Vault
TUCBW the logged-in user opens a saved recipe and selects the option to publish it to the global vault.
TUCEW the recipe is marked as public and becomes visible to all users in the community repository.
Pantry Use Case Diagram
1: View Pantry Ingredients
TUCBW the logged-in user navigates to their personal pantry.
TUCEW the user can see all the ingredients with details like name, quantity and unit that are currently in their pantry.
2: Search and Filter Pantry
TUCBW the logged-in user enters a search term or selects a category filter on the Pantry page.
TUCEW the user sees only the matching pantry ingredients.
3: Add Ingredient to Pantry
TUCBW the logged-in user selects the option to add a pantry ingredient, then searches the catalogue and selects the name and enters the quantity and unit of measure.
TUCEW the ingredient is saved to the user’s pantry and can be view under the corresponding ingredient category.
4: Edit Pantry Ingredient
TUCBW the logged-in user selects the option to edit a pantry ingredient.
TUCEW the user has updated one or more of the pantry ingredient fields and the changes are saved to their pantry.
5: Remove Ingredient from Pantry
TUCBW the logged-in user selects the option to remove a pantry ingredient.
TUCEW the pantry ingredient is permanently removed from their pantry.
Shopping List Use Case Diagram
1: View Shopping Lists
TUCBW the logged-in user navigates to their personal shopping lists.
TUCEW the user can see all their shopping lists with the respective names and number of items.
2: Create Shopping List
TUCBW the logged-in user selects the option to create a new shopping list and enters the new shopping list name.
TUCEW the new list is saved to the user’s shopping lists and is ready for items to be added to it.
3: Edit or Delete Shopping List
TUCBW the logged-in user selects the option to edit the shopping list name or delete an entire shopping list.
TUCEW the shopping list name is updated or the list and all of its items are permanently deleted from the user’s shopping lists.
4: Generate Shopping List From Recipe
TUCBW the logged-in user selects the option to generate a new shopping list from a recipe.
TUCEW the recipe ingredients are added to the user's new or chosen shopping list.
5: Add Recipe Ingredients to a Shopping List
TUCBW the logged-in user selects the option to add ingredients from a selected recipe to an existing shopping list.
TUCEW the recipe ingredients are added to the user's shopping list.
6: Add Manual Shopping List Item
TUCBW the logged-in user navigates to a shopping list and selects the option to add a new item to the list, then enters the name, quantity and unit of measure of the item.
TUCEW the item is saved to the user’s selected shopping list and can be view under the corresponding category.
7: Edit Shopping List Item
TUCBW the logged-in user selects the option to edit an item in a shopping list.
TUCEW the item's details are updated.
8: Remove Item from Shopping List
TUCBW the logged-in user navigates to a shopping list and selects the option to remove an item.
TUCEW the item is permanently removed from the shopping list.
9: Check off Purchased Item
TUCBW the logged-in user navigates to a shopping list and selects items.
TUCEW the items are marked as purchased.
10: Delete Selected Items
TUCBW the logged-in user selects several items in a shopping list and chooses to delete the selected items.
TUCEW all selected items are removed from the shopping list.
11: Update Pantry from Shopping List
TUCBW the logged-in user navigates to a shopping list and selects the option to update pantry.
TUCEW all the items marked as purchased are automatically added to the user’s personal pantry and permanently removed from the shopping list.
Nutrition, Servings and Unit Conversion Use Case Diagram
1: View Nutritional Calculator
TUCBW the logged-in user navigates to the Nutrition tab in a recipe.
TUCEW the user can see the total macro nutrients and other nutritional information calculated for that recipe based on its ingredients and quantities.
2: View Nutritional Calculator Per Serving
TUCBW the logged-in user navigates to the Nutrition tab in a recipe and selects the per serving option.
TUCEW the user can see the macro nutrients and other nutritional information calculated per serving for the recipe.
3: View Ingredient Nutrients
TUCBW the logged-in user navigates to the Ingredients drop down section in the Nutrition tab in a recipe.
TUCEW the user can see the individual nutrition values (calories, protein, carbs, fat, fibre and sodium) for each ingredient in the recipe.
4: Scale Recipe's Serving Size
TUCBW the logged-in user navigates to a selected recipe's details and temporarily adjusts the serving size.
TUCEW the user can see the recipe's ingredients adjusted accordingly.
5: View Quantities and Units
TUCBW the logged-in user navigates to a recipe, their pantry or shopping list.
TUCEW the user can see all quantites and units of ingredients and items in their preferred measurement system (Metric/Imperial).
Intelligence and Guided Discovery Use Case Diagram
1: View Recommended Recipes
TUCBW the logged-in user navigates to their swipe interface.
TUCEW the user can see a tinder-like swipe interface where recipes are recommended to them based on their preferences.
2: Filter Recommendations
TUCBW the logged-in user selects a filter such as All, Quick Meals, High Protein or Vegetarian in Guided Discovery.
TUCEW the recommendations shown are limited to the selected filter.
3: Preview Recipe details
TUCBW the logged-in user clicks on the recommended.
TUCEW the user can see the recipes details (overview, ingredients, steps and nutritional information).
4: Swipe Right / Like a Recommended Recipe
TUCBW the logged-in user swipes right on the recommended recipe.
TUCEW the recipe is saved to the user's liked recipes folder in their private vault.
5: Swipe Left / Dislike a Recommended Recipe
TUCBW the logged-in user swipes left on the recommended recipe.
TUCEW the recipe is is marked as disliked and will not be rerecommended again for a certain period of time.
6: Skip a Recommended Recipe
TUCBW the logged-in user selects the skip button on a recommended recipe.
TUCEW the recipe is skipped without being liked or disliked and the next recommendation is shown.
7: View Liked Recipes
TUCBW the logged-in user navigates to the Liked folder in their private vault.
TUCEW the user can see all the recommended recipes they have liked (swiped right on).
8: View Recommendation Explanation
TUCBW the logged-in user views a recommended recipe card.
TUCEW the user can see why the recipe was recommended, for example pantry match, freshness, cuisine preference and nutritional goals.
9: Adjust Recommendation Priorities
TUCBW the logged-in user opens the option to adjust what matters most in recommendations.
TUCEW the user has updated the importance of signals such as pantry match, freshness, cuisine and nutritional goals, and future recommendations reflect it.
Sizzles (Short Recipe Video) Use Case Diagram
1: Browse Sizzles
TUCBW the logged-in user selects the Sizzles tab in the Swipes area.
TUCEW the user can watch short cooking videos and swipe vertically to browse others.
2: Mute or Unmute Sizzle
TUCBW the logged-in user selects the Mute or Unmute control on a video.
TUCEW the video sound is turned off or on.
3: Open Recipe from Sizzle
TUCBW the logged-in user selects "Recipe" on a video.
TUCEW the full recipe details are displayed.
4: Save Recipe from Sizzle
TUCBW the logged-in user selects "Save" on a video.
TUCEW the recipe is saved to a vault folder chosen by the user.
Hands-Free Cooking and Timers Use Case Diagram
1: Start Cooking
TUCBW the logged-in user selects "Start Cooking" on a recipe.
TUCEW the cooking mode is displayed showing the first step, a step counter and a progress bar.
2: Listen to Step
TUCBW the cooking screen displays a step.
TUCEW the step is read aloud, and the user can pause or replay it.
3: Change Reading Speed
TUCBW the logged-in user selects the playback speed control in cooking mode.
TUCEW the steps are read at the selected speed.
4: Navigate Steps
TUCBW the logged-in user selects Next or Back in cooking mode.
TUCEW the next or previous step is displayed.
5: Use Voice Commands
TUCBW the logged-in user selects "Speak", grants microphone access if prompted, and says a supported command such as "next", "back" or "repeat".
TUCEW the cooking mode performs the command.
6: Finish Cooking
TUCBW the logged-in user reaches the final step and selects "Finish", or selects the close icon at any step.
TUCEW the cooking session ends and the user leaves the cooking screen.
7: Add Cooking Timer
TUCBW the logged-in user selects "Add a cooking timer" in cooking mode, enters an optional name and sets a duration.
TUCEW the timer starts and shows its remaining time and associated recipe step.
8: Pause, Resume or Cancel Timer
TUCBW the logged-in user opens the controls of an active timer.
TUCEW the timer is paused, resumed or cancelled.
9: Continue Cooking from Home
TUCBW the logged-in user leaves the cooking screen and opens the Home tab while a cooking session is active.
TUCEW the user can see "Continue cooking" and their active timers, and can return to the current recipe and step.
Meal Planning Use Case Diagram
1: Create a Meal Plan
TUCBW the logged-in user selects the option to create a new meal plan and provides its details.
TUCEW the meal plan is created and available in their private vault.
2: Add a Recipe to the Meal Plan
TUCBW the logged-in user selects a recipe, a date and a timeslot (breakfast, lunch, dinner or other) to add it to their meal plan.
TUCEW the recipe is added as a planned entry in the chosen timeslot. If the time falls outside the timeslot's allowed range, the entry is rejected and the user is told why.
3: View a Planned Recipe
TUCBW the logged-in user selects a planned entry in their meal plan.
TUCEW the user can see the planned recipe's details along with its date and timeslot.
4: Edit a Planned Entry
TUCBW the logged-in user selects a planned entry and changes its details, such as the date, time or timeslot.
TUCEW the entry is updated with the new details, provided they pass timeslot validation. Otherwise the change is rejected and the entry stays as it was.
5: Remove a Planned Recipe
TUCBW the logged-in user selects a planned entry and chooses to remove it.
TUCEW the entry is removed from the meal plan.
6: View Planned Recipes Between Dates
TUCBW the logged-in user specifies a start date and an end date for their meal plan.
TUCEW the user can see all planned recipes that fall between the two dates.
7: Get a Recipe Recommended From Pantry and Preferences
TUCBW the logged-in user requests a recipe recommendation.
TUCEW the user is shown a recipe recommended based on their pantry and preferences. If earlier planned recipes have not been cooked yet, the pantry projection accounts for their ingredients when weighing the pantry match.
8: Create a Shopping List From One Recipe
TUCBW the logged-in user selects a recipe and chooses to create a shopping list from it.
TUCEW a shopping list is created containing the ingredients of that recipe.
9: Create a Shopping List From a Date Range
TUCBW the logged-in user specifies a start date and an end date and chooses to create a shopping list.
TUCEW a shopping list is created containing the ingredients of all recipes planned between the two dates.
10: Smart Add to Shopping List
TUCBW the logged-in user chooses smart add when creating a shopping list.
TUCEW a fresh shopping list is created containing only the ingredients the user does not already own. Smart add cannot add to an existing list.
11: Overwrite an Existing Planned Entry
TUCBW the logged-in user adds a recipe to a slot that already holds a planned entry, and the system asks for confirmation.
TUCEW if the user confirms, the existing entry is replaced by the new recipe. If the user declines, the existing entry is kept.
12: Manage a Meal Plan in a Shared Vault
TUCBW the logged-in user with the required permissions creates a meal plan in, or adds a recipe to a meal plan in, a shared vault.
TUCEW the meal plan or entry is saved in the shared vault and visible to its members. Without the right permissions the action is rejected.
13: Restrict Planning to Accessible Recipes
TUCBW the logged-in user attempts to add a recipe to a meal plan.
TUCEW the recipe is only added if the user has access to it. Otherwise it is rejected and the user is informed.
Community Moderation Use Case Diagram
1: Report Recipe
TUCBW the logged-in user selects the flag icon on an eligible community recipe.
TUCEW the user has selected a reason, submitted the report, and seen a confirmation. The recipe is not removed automatically.
2: View Flagged Recipe Details
TUCBW the logged-in moderator selects a flagged recipe from the list.
TUCEW the moderator can see the recipe details and the report reasons.
3: Remove Flagged Recipe
TUCBW the logged-in moderator selects the option to remove a flagged recipe.
TUCEW the recipe is removed from the global vault and is no longer visible to other users.
4: Dismiss Flagged Recipe
TUCBW the logged-in moderator selects the option to dismiss a flagged recipe.
TUCEW the flag is resolved and the recipe remains in the global vault.
Offline Functionality Use Case Diagram
1: View Cached Vault Offline
TUCBW the user's device loses connectivity while navigating to their recipe vault.
TUCEW the user sees their previously synchronized vaults, folders, and recipes, with a freshness label indicating when the data was last updated.
2: View Cached Recipe Offline
TUCBW the offline user opens a previously synchronized recipe.
TUCEW the full recipe (metadata, ingredients, steps, and image if previously cached) is displayed, or if the recipe was never fully cached, the user is informed it isn't available offline.
3: View Cached Pantry Offline
TUCBW the offline user navigates to their pantry.
TUCEW the user sees their most recently synchronized pantry ingredients, with editing controls disabled.
4: View Cached Shopping Lists Offline
TUCBW the offline user navigates to their shopping lists.
TUCEW the user sees their most recently synchronized lists and items in read-only form, with a freshness label shown.
5: Browse Cached Discover Content Offline
TUCBW the offline user navigates to the Discover tab.
TUCEW the user sees previously saved Discover content in read-only form, with a freshness label shown.
6: Attempt Mutation While Offline
TUCBW the offline user attempts to create, edit, move, invite, or upload while viewing cached data.
TUCEW the relevant control is disabled and the user sees an explanation that the action requires connectivity.
7: Attempt to Access Global Vault or Discovery Offline
TUCBW the offline user selects the Discovery or Swipe feed.
TUCEW the user sees a message that the feature requires an internet connection and remains on their current screen.