Skip to content

003. Domain Definition

Jas edited this page Oct 29, 2023 · 6 revisions

Domain Objects

Entities

  • User (Id, MasterPassword)
  • Group (GroupName, UserID, Accounts)
  • Account (Identifier, LoginName, Password)
  • Settings (UserID, PasswordGeneratorCriteria, ClipboardTimeoutSetting, MainGroupSetting)

Value Objects

  • PasswordGeneratorCriteria (IncludeLowerCase, IncludeUppercase, IncludeNumeric, IncludeSpecial, IncludeBrackets, IncludeSpaces, MinimumLength, MaximumLength)
  • ClipboardTimeoutSetting (Timeout Duration)
  • MainGroupSetting (Main Group Identifier)

Aggregates

Aggregates UML

Repositories

  • GroupRepository
    • Get a specific group by its group name
    • Get a list of all the names of the groups the user owns
    • Add a new group
    • Update a group
    • Delete a group
  • SettingsRepository
    • Get the user's settings
    • Update the user's settings
  • UserRepository
    • Add new User
    • Check Password attempt

Domain Services

  • CryptService
    • Hash a string
    • Encrypt a string
    • Decrypt a string
  • PasswordGeneratorService
    • Generate a Password based on given criteria