User Class Diagram

Version 1.1 by Robert Schaub on 2025/12/24 10:21

classDiagram
    class User {
        +UUID id
        +String username
        +String email
        +Role role
        +Int reputation
        +Timestamp created_at
        +contribute()
        +flag_issue()
        +earn_reputation()
    }
    class Reader {
        <>
        +browse()
        +search()
        +flag_content()
    }
    class Contributor {
        <>
        +edit_claims()
        +add_evidence()
        +suggest_improvements()
        +requires: reputation sufficient
    }
    class Moderator {
        <>
        +review_flags()
        +hide_content()
        +resolve_disputes()
        +requires: appointed by Governing Team
    }
    User --> Reader : default role
    User --> Contributor : registers + earns reputation
    User --> Moderator : appointed
    note for User "Reputation system unlocks permissions progressively"
    note for Contributor "Reputation sufficient: Full edit access"
    note for Contributor "Reputation sufficient: Can approve changes"

Simplified flat role structure:

  • Three roles only: Reader (default), Contributor (earned), Moderator (appointed)
  • Reputation system replaces role hierarchy
  • Progressive permissions based on reputation, not titles