Skip to content

Domain model

Fredrik Jonathan Marjoni edited this page Feb 19, 2026 · 4 revisions

Domain-model

@startuml
' ===== HmH Domain Model (aligned with wireframe search page) =====

class User {
  -int userId
  -Boolean status
  -String name
  -String email
  -String passwordHash
}


class Customer {
    -super SuperUser
    -List<orgNumber> preferredCauses
    -Hashmap<date, Donation> donationLog
}


class Organization {
    -int orgNumber
    -String name 
    -boolean trusted
    -String websiteURL
    -boolean isPreApproved
}

class OrganizationRegister {
    -Hashmap<orgNumber, Organization> searchPage
}

class Donation {
    -int donationId
    -User user
    -Organization organization
    -BigDecimal amount
    -Date date
    -String paymentMethod
}

class IKVerification {
    -int verificationId
    -String status
    -Date lastChecked
    -String source   ' API or CSV
}

' ===== Relationships =====
User  <|--  Customer : inherits
Customer <.. Donation : uses
Donation ..> Organization : uses
Organization ..> Customer : uses (maybe)
Customer <.. OrganizationRegister : uses (maybe)

OrganizationRegister  *-- Organization : composition

OrganizationRegister <.. IKVerification : uses

@enduml

image