-
Notifications
You must be signed in to change notification settings - Fork 0
Domain Model
Sigurd Evensen edited this page Apr 24, 2026
·
4 revisions
This page summarizes the domain model used in HelpMeHelp.
- Main entities are User, Organization, and Donation.
- Donation represents a transaction made by a user to an organization.
- Register and database classes are shown as supporting persistence and data-loading services.
@startuml
left to right direction
hide methods
skinparam classAttributeIconSize 0
package "HelpMeHelp Domain" {
class User {
+uuid: String
+username: String
+name: String
+email: String
+phone: String
+passwordHash: String
+profileImageUrl: String
+country: String
}
class Organization {
+name: String
+amount: String
+status: String
+imageUrl: String
+tags: String
+description: String
+website: String
+bankAccountNumber: String
+vippsNumber: String
+createdDate: LocalDate
}
class Donation {
+organization: String
+date: String
+amount: String
+username: String
}
}
class OrganizationRegister
class DonationRegister
class UserDatabase
class DonationDatabase
User "1" -- "0..*" Donation : makes
Organization "1" -- "0..*" Donation : receives
OrganizationRegister ..> Organization : loads
DonationRegister ..> Donation : stores/queries
UserDatabase ..> User : persists/authenticates
DonationDatabase ..> Donation : initializes seed data
note right of Donation
Current implementation stores
organization and username as text
fields (not object references).
end note
@enduml- A User can make zero or many donations.
- An Organization can receive zero or many donations.
- Donation currently stores organization and username as String values.
- OrganizationRegister is responsible for loading organizations from the external API.
- DonationRegister, UserDatabase, and DonationDatabase handle SQLite persistence concerns.
