From 05159991ad663006a862dbfa3fd4707cf728c482 Mon Sep 17 00:00:00 2001 From: cathrkri Date: Wed, 18 Mar 2026 12:13:01 +0100 Subject: [PATCH] feat: sequenze diagrams added and updatet --- .../Organization_message.puml | 31 ++++++++++ .../Organization_onboard.puml | 46 +++++++++++++++ .../Organization_update_profile.puml | 26 +++++++++ helpmehelpapplication/User_authenticator.puml | 36 ++++++++++++ helpmehelpapplication/User_browser.puml | 56 +++++++++++++++++++ helpmehelpapplication/User_donate.puml | 41 ++++++++++++++ 6 files changed, 236 insertions(+) create mode 100644 helpmehelpapplication/Organization_message.puml create mode 100644 helpmehelpapplication/Organization_onboard.puml create mode 100644 helpmehelpapplication/Organization_update_profile.puml create mode 100644 helpmehelpapplication/User_authenticator.puml create mode 100644 helpmehelpapplication/User_browser.puml create mode 100644 helpmehelpapplication/User_donate.puml diff --git a/helpmehelpapplication/Organization_message.puml b/helpmehelpapplication/Organization_message.puml new file mode 100644 index 0000000..81ef5b9 --- /dev/null +++ b/helpmehelpapplication/Organization_message.puml @@ -0,0 +1,31 @@ + +'https://plantuml.com/sequence-diagram + +@startuml +title Messaging between Organisation and User + +actor Organisation as Org +actor User +participant "Organization Portal (UI)" as OrgUI +participant "User App (UI)" as UserUI +participant "Messaging Service" as MsgSvc +database "Messages DB" as MsgDB +participant "Notification Service" as Notify + +Org -> OrgUI: Write message to user +OrgUI -> MsgSvc: sendMessage(orgId, userId, content) +MsgSvc -> MsgDB: store message +MsgDB --> MsgSvc: stored +MsgSvc -> Notify: notifyUser(userId, "New message") +Notify --> MsgSvc: queued +MsgSvc --> OrgUI: sent OK +OrgUI --> Org: Message sent + +User -> UserUI: Open Inbox +UserUI -> MsgSvc: getInbox(userId) +MsgSvc -> MsgDB: fetch messages for userId +MsgDB --> MsgSvc: messages +MsgSvc --> UserUI: messages +UserUI --> User: Display inbox + +@enduml \ No newline at end of file diff --git a/helpmehelpapplication/Organization_onboard.puml b/helpmehelpapplication/Organization_onboard.puml new file mode 100644 index 0000000..fe48d6f --- /dev/null +++ b/helpmehelpapplication/Organization_onboard.puml @@ -0,0 +1,46 @@ + +'https://plantuml.com/sequence-diagram + +@startuml +title Organisation onboarding + +actor Organisation as Org +participant "Organization Portal (UI)" as UI +participant "Authentication Service" as Auth +participant "Email Service" as Mail +participant "Organisation Service" as OrgSvc +database "Organisation DB" as OrgDB +participant "Payment Provider" as Pay + +Org -> UI: Open Organisation Portal Dashboard +UI --> Org: Show portal dashboard + +Org -> UI: Register organisation account +UI -> Auth: register(orgEmail, password) +Auth --> UI: accountCreated + verificationToken + +Auth -> Mail: sendVerificationEmail(orgEmail, token) +Mail --> Auth: sent + +Org -> UI: Click verification link (token) +UI -> Auth: verifyEmail(token) +Auth --> UI: verified OK + +Org -> UI: Create organisation profile (name, desc, category, media) +UI -> OrgSvc: createProfile(profileData) +OrgSvc -> OrgDB: insert profile +OrgDB --> OrgSvc: created +OrgSvc --> UI: profileCreated +UI --> Org: Profile created + +Org -> UI: Set up payout account +UI -> Pay: createConnectedAccount(orgData) +Pay --> UI: connectedAccountId + status + +UI -> OrgSvc: savePayoutAccount(orgId, connectedAccountId) +OrgSvc -> OrgDB: update payout info +OrgDB --> OrgSvc: saved +OrgSvc --> UI: payoutSetupSaved +UI --> Org: Payout setup complete + +@enduml diff --git a/helpmehelpapplication/Organization_update_profile.puml b/helpmehelpapplication/Organization_update_profile.puml new file mode 100644 index 0000000..e6ef6f0 --- /dev/null +++ b/helpmehelpapplication/Organization_update_profile.puml @@ -0,0 +1,26 @@ + +'https://plantuml.com/sequence-diagram + +@startuml +title Organisation updates profile + +actor Organisation as Org +participant "Organization Portal (UI)" as UI +participant "Organisation Service" as OrgSvc +database "Organisation DB" as OrgDB + +Org -> UI: Open My Organisation Profile +UI -> OrgSvc: getProfile +OrgSvc -> OrgDB: load profile +OrgDB --> OrgSvc: profile data +OrgSvc --> UI: profile data +UI --> Org: Show profile + +Org -> UI: Edit profile fields + upload media +UI -> OrgSvc: updateProfile +OrgSvc -> OrgDB: update profile +OrgDB --> OrgSvc: updated +OrgSvc --> UI: update OK +UI --> Org: Show updated profile + +@enduml diff --git a/helpmehelpapplication/User_authenticator.puml b/helpmehelpapplication/User_authenticator.puml new file mode 100644 index 0000000..403814f --- /dev/null +++ b/helpmehelpapplication/User_authenticator.puml @@ -0,0 +1,36 @@ + +'https://plantuml.com/sequence-diagram + +@startuml +title User authentication for for signin and Login + +actor User +participant "Desktop App (UI)" as UI +participant "Authenticator Service" as Auth +database "User DB" as UDB + +User -> UI: Open Dashboard +UI --> User: Show dashboard + +User -> UI: Click Login +UI --> User: Show Welcome/Login page + +User -> UI: Go to Sign In +UI --> User: Show Sign In form + +User -> UI: Submit credentials +UI -> Auth: signIn(email, password) +Auth -> UDB: validate credentials +UDB --> Auth: valid +Auth --> UI: session/token +UI --> User: Logged in (Dashboard updated) + +User -> UI: Click "My Profile" (from Dashboard) +UI --> User: Show Profile + +User -> UI: Click Logout +UI -> Auth: logout(session) +Auth --> UI: session terminated +UI --> User: Redirect to Dashboard + +@enduml diff --git a/helpmehelpapplication/User_browser.puml b/helpmehelpapplication/User_browser.puml new file mode 100644 index 0000000..d279b7e --- /dev/null +++ b/helpmehelpapplication/User_browser.puml @@ -0,0 +1,56 @@ + +'https://plantuml.com/sequence-diagram + +@startuml +title User explores organisations + +actor User +participant "Desktop App (UI)" as UI +participant "Organisation Service" as OrgSvc +database "Organisation DB" as OrgDB + +User -> UI: Open Dashboard +UI --> User: Show dashboard + +User -> UI: Click "Browse Organisations" +UI -> OrgSvc: getFeaturedOrgs() +OrgSvc -> OrgDB: query featured orgs +OrgDB --> OrgSvc: org list +OrgSvc --> UI: org list +UI --> User: Show organisations list + +alt User chooses Category + User -> UI: Select category + UI -> OrgSvc: getOrgsByCategory(category) + OrgSvc -> OrgDB: query orgs by category + OrgDB --> OrgSvc: results + OrgSvc --> UI: results + UI --> User: Show filtered list +end + +alt User uses Filter/Sort + User -> UI: Set filters/sort + UI -> OrgSvc: getOrgsFiltered(filters, sort) + OrgSvc -> OrgDB: query with filters/sort + OrgDB --> OrgSvc: results + OrgSvc --> UI: results + UI --> User: Show filtered list +end + +alt User searches from Dashboard or list + User -> UI: Search organisations (query) + UI -> OrgSvc: searchOrgs(query) + OrgSvc -> OrgDB: fulltext/search query + OrgDB --> OrgSvc: results + OrgSvc --> UI: results + UI --> User: Show search results +end + +User -> UI: Open organisation page +UI -> OrgSvc: getOrganisationDetails(orgId) +OrgSvc -> OrgDB: load org details +OrgDB --> OrgSvc: org details +OrgSvc --> UI: org details +UI --> User: Show organisation page + +@enduml \ No newline at end of file diff --git a/helpmehelpapplication/User_donate.puml b/helpmehelpapplication/User_donate.puml new file mode 100644 index 0000000..f856d18 --- /dev/null +++ b/helpmehelpapplication/User_donate.puml @@ -0,0 +1,41 @@ + +'https://plantuml.com/sequence-diagram + +@startuml +title User donation + +actor User +participant "Desktop App (UI)" as UI +participant "Donation Service" as DonSvc +participant "Payment Provider" as Pay +database "Donation DB" as DonDB +participant "Organisation Service" as OrgSvc + +User -> UI: Click "Donate" +UI --> User: Show donation form + +User -> UI: Enter amount + confirm +UI -> DonSvc: createDonationIntent(userId, orgId, amount) + +DonSvc -> OrgSvc: validateOrganisation(orgId) +OrgSvc --> DonSvc: OK + +DonSvc -> Pay: createPaymentIntent(amount) +Pay --> DonSvc: paymentIntentId + clientSecret + +DonSvc --> UI: clientSecret +UI -> Pay: Complete payment (clientSecret) +Pay --> UI: Payment success + +UI -> DonSvc: confirmDonation(paymentIntentId) +DonSvc -> Pay: verifyPayment(paymentIntentId) +Pay --> DonSvc: verified OK + +DonSvc -> DonDB: store donation record +DonDB --> DonSvc: stored + +DonSvc --> UI: Donation confirmation +UI --> User: Show "Thank you" + receipt + +@enduml +