ProjectHub Documentation
Team 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
    Team Management Documentation - ProjectHub

    Team Management Documentation

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

    This documentation covers ProjectHub's team management system, including team creation, member assignments, and project associations.

    Component Hierarchy

    graph TD %% Main Components Root[BorderPane: Root] Content[SplitPane: Content] List[VBox: TeamList] Details[ScrollPane: Details] %% List Components SearchBar[TextField: Search] TeamTable[TableView: Teams] AddButton[Button: AddTeam] %% Details Components TeamForm[Form: TeamForm] NameField[TextField: Name] CohortSelect[ComboBox: Cohort] MemberList[TableView: Members] ProjectList[TableView: Projects] %% Action Components Actions[HBox: Actions] SaveBtn[Button: Save] DeleteBtn[Button: Delete] %% Hierarchy Root --> Content Content --> List Content --> Details List --> SearchBar List --> TeamTable List --> AddButton Details --> TeamForm TeamForm --> NameField TeamForm --> CohortSelect Details --> MemberList Details --> ProjectList Details --> Actions Actions --> SaveBtn Actions --> DeleteBtn %% 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,TeamForm component class SearchBar,TeamTable,NameField,CohortSelect,MemberList,ProjectList,SaveBtn,DeleteBtn control

    Team Management Sequence

    sequenceDiagram actor User participant View as TeamView participant Controller as TeamController participant ViewModel as TeamViewModel participant Service as TeamService participant DB as Database %% Load Teams User->>View: Open Teams View->>Controller: initialize() Controller->>ViewModel: loadTeams() ViewModel->>Service: getAllTeams() Service->>DB: fetchTeams() DB-->>Service: teams Service-->>ViewModel: teamsList ViewModel-->>View: updateTeamTable() %% Team Operations User->>View: Create Team View->>Controller: handleNewTeam() Controller->>ViewModel: createTeam(TeamDTO) ViewModel->>Service: saveTeam() Service->>DB: persist() DB-->>Service: confirmation Service-->>View: showSuccess() %% Member Management User->>View: Add Member View->>Controller: handleAddMember() Controller->>ViewModel: addMember(userId) ViewModel->>Service: assignMember() Service->>DB: updateTeam() DB-->>Service: updated Service-->>View: refreshMembers()

    Data Dictionary

    Team Entity

    Field Type Description
    teamId UUID Unique identifier
    name String Team name
    cohortId UUID Associated cohort
    members List<UUID> Team members
    projects List<UUID> Assigned projects

    View States

    State Type Description
    selectedTeam TeamDTO Currently selected team
    memberList ObservableList<UserDTO> Team members list
    projectList ObservableList<ProjectDTO> Team projects
    Made with Material for MkDocs