ProjectHub Documentation
Cohort 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
    Cohort Management - Data Dictionary and Sequence Diagram

    Cohort Management

    This documentation provides a comprehensive overview of the Cohort Management module, including data models, user interfaces, and operational workflows.

    UI Component Hierarchy

    graph TD %% Main Components Root[BorderPane: Root] Content[SplitPane: Content] List[VBox: CohortList] Details[ScrollPane: Details] %% List Components SearchBar[TextField: Search] CohortTable[TableView: Cohorts] AddButton[Button: AddCohort] %% Details Components CohortForm[Form: CohortForm] NameField[TextField: Name] DatePicker[DatePicker: Dates] TeamList[ListView: Teams] %% Action Components Actions[HBox: Actions] SaveBtn[Button: Save] DeleteBtn[Button: Delete] %% Dialog Components DialogPane[DialogPane: Confirmation] DialogBtns[ButtonBar: DialogButtons] %% Hierarchy Root --> Content Content --> List Content --> Details List --> SearchBar List --> CohortTable List --> AddButton Details --> CohortForm CohortForm --> NameField CohortForm --> DatePicker CohortForm --> TeamList Details --> Actions Actions --> SaveBtn Actions --> DeleteBtn Root --> DialogPane DialogPane --> DialogBtns %% 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,CohortForm,DialogPane component class SearchBar,CohortTable,NameField,DatePicker,TeamList,SaveBtn,DeleteBtn,DialogBtns control

    Sequence Diagram

    The following sequence diagram illustrates the interactions between the user interface, view models, services, and the database during cohort management operations.

    sequenceDiagram actor User participant UI as User Interface participant ViewModel as CohortViewModel participant Service as CohortService participant Database as Database participant Notification as NotificationSystem %% Main Navigation User->>UI: Navigate to Cohorts UI->>ViewModel: Load Cohort List ViewModel->>Service: Fetch Cohorts Service->>Database: Retrieve Cohorts Database-->>Service: Provide Cohort Data Service-->>ViewModel: Return Cohorts ViewModel-->>UI: Display Cohort List %% Create Cohort User->>UI: Add New Cohort UI->>ViewModel: Initialize New Cohort Form User->>UI: Enter Cohort Details UI->>ViewModel: Submit New Cohort ViewModel->>Service: Save Cohort Service->>Database: Persist Cohort Database-->>Service: Confirmation Service-->>ViewModel: Cohort Saved ViewModel-->>UI: Update Cohort List UI->>Notification: Show Success Message %% Edit Cohort User->>UI: Select Cohort to Edit UI->>ViewModel: Load Cohort Details ViewModel->>Service: Fetch Cohort by ID Service->>Database: Retrieve Cohort Data Database-->>Service: Provide Cohort Details Service-->>ViewModel: Return Cohort Data ViewModel-->>UI: Populate Edit Form User->>UI: Modify Cohort Details UI->>ViewModel: Submit Changes ViewModel->>Service: Update Cohort Service->>Database: Update Cohort Record Database-->>Service: Confirmation Service-->>ViewModel: Cohort Updated ViewModel-->>UI: Refresh Cohort List UI->>Notification: Show Update Success %% Delete Cohort User->>UI: Delete Cohort UI->>ViewModel: Confirm Deletion ViewModel->>Service: Remove Cohort Service->>Database: Delete Cohort Record Database-->>Service: Confirmation Service-->>ViewModel: Cohort Deleted ViewModel-->>UI: Update Cohort List UI->>Notification: Show Deletion Success %% Navigation Guard User->>UI: Attempt to Navigate Away UI->>ViewModel: Check for Unsaved Changes alt Unsaved Changes Present ViewModel->>UI: Prompt to Save or Discard User->>UI: Choose to Discard UI->>ViewModel: Proceed with Navigation else No Unsaved Changes UI->>ViewModel: Proceed with Navigation end

    Data Dictionary

    The Data Dictionary below outlines the key data entities used within the Cohort Management module, detailing their attributes, types, and descriptions.

    User

    Attribute Type Description
    UserID UUID Unique identifier for the user.
    Username String Name of the user.
    Role Enum Role of the user (e.g., Admin, Manager).

    Cohort

    Attribute Type Description
    id UUID Unique identifier for the cohort.
    name String Name of the cohort.
    description String Description of the cohort.
    startDate Date Start date of the cohort.
    endDate Date End date of the cohort.
    teams List<Team> List of teams associated with the cohort.

    Team

    Attribute Type Description
    teamId UUID Unique identifier for the team.
    teamName String Name of the team.
    members List<User> List of team members.

    Dialog

    Attribute Type Description
    dialogType Enum Type of dialog (e.g., Confirmation, Warning).
    message String The content displayed in the dialog.
    userResponse Enum User's response to the dialog (e.g., Confirm, Cancel).

    Explanation

    • Main Navigation: Users navigate to the Cohort Management interface and load the list of cohorts.
    • Create Cohort: Describes the process of adding a new cohort, from initializing the form to saving the cohort and updating the UI.
    • Edit Cohort: Details how users can select and modify existing cohorts, including loading details, submitting changes, and refreshing the cohort list.
    • Delete Cohort: Explains the steps involved in removing a cohort, including confirmation and updating the UI.
    • Navigation Guard: Discusses how the system handles attempts to navigate away with unsaved changes, prompting the user to save or discard.
    Made with Material for MkDocs