UseCaseDiagram451 - bounswe/bounswe2025group5 GitHub Wiki

The full code of Use Case Diagram:
@startuml left to right direction' ==== Actors ==== actor User as "User" actor RegisteredUser as "Registered User" actor Moderator as "Moderator" actor Admin as "Admin" actor Wikidata as "Wikidata"
' ==== Styling ==== skinparam usecase { BorderColor Black BackgroundColor White RoundCorner 15 Margin 20 } skinparam actorMargin 30 skinparam usecaseMargin 30
' ==== Identity and Access Management (IAM) ==== usecase UC11 as "Register" usecase UC12 as "Set Up Credentials" usecase UC21 as "Login" usecase UC22 as "Enter Username and Password"
' New IAM bubbles from the page usecase adminLogin as "Admin Login" usecase verifyAccount as "Verify Account"
' New additions usecase resetPassword as "Reset Password (via email link)" usecase deleteAccount as "Delete Account (Irreversible)" usecase verifyEmail as "Verify Email"
' ==== Profile & Goals ==== usecase viewProfile as "View Profile" usecase up as "Add/Change Profile Picture" usecase bio as "Add/Change Bio Section" usecase display as "Select Badges to Display" usecase addText as "Add/Change Descriptive Text" usecase set as "Set Waste Management Goals" usecase selectType as "Select the Goal Type" usecase select as "See Created Goal" usecase removeGoal as "Remove Goal" usecase edit as "Edit Profile" usecase changePassword as "Change Password" usecase log as "Log Waste" usecase visualize as "Visualize Progress"
' Waste tracking additions usecase categorizeWaste as "Categorize Waste" usecase viewHistory as "View Waste History (12+ months)" usecase bulkLog as "Bulk Log Waste (Batch Entry)" ' system/internal usecase genReports as "Generate Weekly/Monthly Reports" ' system/internal usecase calcReduction as "Compute % Reduction Over Time"
' ==== Admin & Moderator ==== usecase createDefaultChallenges as "Create default challenges" usecase viewAppStats as "View statistics about app usage" usecase modReports as "View and Moderate Reported posts" usecase modChallengeRequests as "Verify challenge requests from registered users"
' ==== Challenges / Leaderboard / Rewards ==== usecase viewChallenges as "View Challenges" usecase selectCommunityChallenge as "Select a Community Challenge" usecase viewLeaderboard as "View Leaderboard" usecase joinChallenge as "Join a Challenge"
' Rewards additions usecase viewRewards as "View Rewards Catalog" usecase viewPoints as "View Points & Transactions" usecase redeemReward as "Redeem Reward"
' ==== Forum / Posts ==== usecase createPost as "Create Post" usecase viewPost as "View Post" usecase semanticSearch as "Semantic Search" usecase likePost as "Like Post" usecase commentPost as "Comment on Post" usecase savePost as "Save Post" usecase sharePost as "Share Post" usecase reportPost as "Report a Post" usecase accessForumViewOnly as "Access Forum (View Only Mode)" usecase viewOwnerProfile as "View Profile (of the Post Owner)"
' ==== Notifications (your additions) ==== usecase notifGoal as "Receive Goal Progress Notifications" usecase notifLeaderboard as "Receive Leaderboard Notifications"
' ==== Missing use cases referenced in relationships ==== usecase logout as "Logout" usecase deletePosts as "Delete Posts" usecase seePosts as "See Posts"
' ========================== ' Relationships (kept + new) ' ==========================
' IAM User --> UC11 RegisteredUser --> UC21 UC21 -.> UC22 : <> UC11 -.> UC12 : <>
' Admin login + verification (from page) User --> adminLogin adminLogin -.> verifyAccount : <>
' IAM additions RegisteredUser --> resetPassword RegisteredUser --> deleteAccount UC11 -.> verifyEmail : <>
' Profile & Goals RegisteredUser --> viewProfile RegisteredUser --> log RegisteredUser --> edit RegisteredUser --> logout RegisteredUser --> deletePosts RegisteredUser --> seePosts RegisteredUser --> select RegisteredUser --> removeGoal RegisteredUser --> set
bio <-. display : <> bio <-. addText : <> set -.> selectType : <> select -.> visualize : <> edit <-. bio : <> edit <-. up : <> edit <-. changePassword : <>
' Waste tracking (additions) RegisteredUser --> categorizeWaste RegisteredUser --> viewHistory RegisteredUser --> bulkLog visualize -.> genReports : <> visualize -.> calcReduction: <>
' Challenges / Leaderboard / Rewards RegisteredUser --> viewLeaderboard RegisteredUser --> viewChallenges viewChallenges <-. selectCommunityChallenge : <> selectCommunityChallenge <-. joinChallenge : <>
' Rewards (additions) RegisteredUser --> viewRewards RegisteredUser --> viewPoints RegisteredUser --> redeemReward log -.> viewPoints : <> ' points update triggered by logging waste
' Notifications (additions) RegisteredUser --> notifGoal RegisteredUser --> notifLeaderboard
' Forum / Posts RegisteredUser --> createPost RegisteredUser --> viewPost RegisteredUser --> sharePost RegisteredUser --> savePost RegisteredUser --> commentPost RegisteredUser --> likePost RegisteredUser --> reportPost
' Semantic search integration (kept) viewPost -.> semanticSearch : <> Wikidata --> semanticSearch
' View-only forum access (kept) User --> accessForumViewOnly
' View owner's profile from a post (kept) viewPost <-. viewOwnerProfile : <>
' Inheritance RegisteredUser <|-- Moderator Admin --> createDefaultChallenges Admin --> viewAppStats Moderator --> modReports Moderator --> modChallengeRequests @enduml