ProjectHub Documentation
User Flow
Initializing search
    • Home
    • Documentation
    • Technical Guide
    • Reference
    • Home
        • Introduction
        • Objectives
        • Project Scope
        • Architecture
        • Project
        • Task
        • Resource
        • Risk
        • Sprints
        • Conclusion
      • App Settings
      • App Start
      • Dashboard
      • Login/Register
      • Project Flow
      • Task Flow
      • Team Flow
      • User Flow
      • Cohort Flow
      • Component Flow
      • Cover
      • Changelog
      • CDC
      • Rules
    User Management - ProjectHub

    User Management

    Component Hierarchy | User Management Sequence | Data Dictionary | Go Back

    User Management Documentation

    This section provides comprehensive information on managing users within ProjectHub, including user creation, role assignments, and account management.

    Component Hierarchy

    graph TD %% Main Components Root[BorderPane: Root] Content[SplitPane: Content] List[VBox: UserList] Details[ScrollPane: UserDetails] %% List Components SearchBar[TextField: Search] UserTable[TableView: Users] AddButton[Button: AddUser] %% Details Components UserForm[Form: UserDetails] NameField[TextField: Name] EmailField[TextField: Email] RoleSelect[ComboBox: Role] Activities[TableView: Activities] %% Actions Actions[HBox: Actions] SaveBtn[Button: Save] ResetPwdBtn[Button: ResetPassword] %% Hierarchy Root --> Content Content --> List Content --> Details List --> SearchBar List --> UserTable List --> AddButton Details --> UserForm UserForm --> NameField UserForm --> EmailField UserForm --> RoleSelect Details --> Activities Details --> Actions Actions --> SaveBtn Actions --> ResetPwdBtn %% Styling classDef container fill:#e1f5fe,stroke:#01579b classDef component fill:#fff,stroke:#0288d1 classDef control fill:#e8f5e9,stroke:#2e7d32 class Root,Content container class List,Details,UserForm component class SearchBar,UserTable,NameField,EmailField,RoleSelect,Activities,SaveBtn,ResetPwdBtn control

    User Management Sequence

    sequenceDiagram actor Admin participant View as UserManagement participant Controller participant ViewModel participant Service participant DB %% Load Users Admin->>View: Open Users View->>Controller: initialize() Controller->>ViewModel: loadUsers() ViewModel->>Service: getUsers() Service->>DB: fetchUsers() DB-->>Service: users Service-->>ViewModel: usersList ViewModel-->>View: updateUserTable() %% User Operations Admin->>View: Select User View->>Controller: handleUserSelect() Controller->>ViewModel: loadUserDetails() ViewModel->>Service: getUserDetails() Service->>DB: fetchDetails() DB-->>Service: userDetails Service-->>ViewModel: userDTO ViewModel-->>View: displayUserDetails() %% Edit User Admin->>View: Edit User View->>Controller: handleEditUser() Controller->>ViewModel: validateUserData() alt Valid Input ViewModel->>Service: updateUser() Service->>DB: saveUser() DB-->>Service: success Service-->>ViewModel: updated ViewModel-->>View: showSuccess() else Invalid Input ViewModel-->>View: showValidationError() end %% Role Management Admin->>View: Change Role View->>Controller: handleRoleChange() Controller->>ViewModel: updateUserRole() ViewModel->>Service: changeRole() Service->>DB: updateRole() DB-->>Service: success Service-->>View: refreshUserDetails()

    Data Dictionary

    User Entity

    Field Type Description
    email String User email
    role UserRole User permission level
    status UserStatus Account status

    Activity Log

    Field Type Description
    logId UUID Activity identifier
    userId UUID User reference
    action ActivityType Type of activity
    timestamp DateTime When activity occurred

    User Management Documentation

    This section provides comprehensive information on managing users within ProjectHub, including user creation, role assignments, and account management.

    © 2024 ProjectHub. All rights reserved.

    Made with Material for MkDocs