Use Case Diagram - bounswe/bounswe2025group8 GitHub Wiki

plantuml

Below is the PlantUML code used to generate the Use Case Diagram:

@startuml
left to right direction

actor "Guest User" as GuestUser
actor "Registered User" as RegisteredUser
actor "Administrator" as Admin

rectangle "Neighborhood Assistance Board" {
    ' Auth & account
    usecase "Register" as UC1
    usecase "Log in" as UC21
    usecase "Log Out" as UC22
    usecase "Recover Password" as UC2
    usecase "Delete Account" as UC18

    ' Discovery & profiles
    usecase "View Public Requests" as UC3
    usecase "View Task Feed" as UC20
    usecase "Filter and Search" as UC8
    usecase "View User Profile" as UC16
    usecase "Follow/Unfollow Users" as UC17

    ' Bookmarks
    usecase "Add/Remove to/from Bookmarks" as UC10
    usecase "Manage Bookmark Tags" as UC30

    ' Task lifecycle
    usecase "Post Assistance Request" as UC4
    usecase "Attach Photos to Tasks" as UC9
    usecase "Volunteer for Request" as UC5
    usecase "Cancel Assistance Requests" as UC23
    usecase "Update Assistance Requests" as UC24
    usecase "Accept/Reject Volunteer" as UC13
    usecase "Confirm Task Completion" as UC12

    ' Social & comments
    usecase "Rate and Review" as UC7
    usecase "Comment on Requests" as UC19

    ' Safety & moderation
    usecase "Report User" as UC15
    usecase "Ban User" as UC11
    usecase "View Reported Users" as UC27
    usecase "Get Admin User Detail" as UC28

    ' Notifications
    usecase "View Notifications" as UC25
    usecase "Mark Notifications Read" as UC26
    usecase "Edit Notification Preferences" as UC14

    ' Profile
    usecase "Change Profile Information" as UC6
}

' Includes
UC12 ..> UC7 : <<Includes>>

' Extends 
UC4  <.. UC12 : <<Extends>>
UC4  <.. UC13 : <<Extends>>
UC20 <.. UC5  : <<Extends>>
UC20 <.. UC8  : <<Extends>>
UC8  <.. UC16 : <<Extends>>
UC20 <.. UC10 : <<Extends>>
UC10 <.. UC30 : <<Extends>>
UC16 <.. UC17 : <<Extends>>
UC16 <.. UC15 : <<Extends>>
UC21 <.. UC18 : <<Extends>>
UC21 <.. UC22 : <<Extends>>
UC4  <.. UC23 : <<Extends>>
UC4  <.. UC24 : <<Extends>>
UC4  <.. UC9  : <<Extends>>
UC20 <.. UC19 : <<Extends>>
UC25 <.. UC26 : <<Extends>>
UC27 <.. UC28 : <<Extends>>
UC27 <.. UC11 : <<Extends>>

' Actor associations
GuestUser      -- UC3
GuestUser      -- UC1
RegisteredUser -- UC21
RegisteredUser -- UC2
RegisteredUser -- UC4
RegisteredUser -- UC6
RegisteredUser -- UC20
RegisteredUser -- UC25
RegisteredUser -- UC14
Admin          -- UC27
Admin          -- UC11
@enduml
⚠️ **GitHub.com Fallback** ⚠️