# saimahmt03/trackwise architecture

> Architecture diagram of the GitHub repository saimahmt03/trackwise, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-11). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/saimahmt03/trackwise
- Repository: https://github.com/saimahmt03/trackwise

## Overview

TrackWise is a React and ASP.NET Core application for organizing and tracking structured business data. The visible frontend workflow is department entry through a form, department state/validation, and an HTTP create request. The backend tree includes department, employee, task, assignment, and activity-log domain types, but no controllers or service/repository implementations are present. The README describes REST and SQL Server, yet sampled evidence does not establish backend routing or persistence calls, so those connections are left out. The rendered App is still a starter screen, not the department workflow.

Main entry points: [`TrackWise.UI/track-wise/src/services/departmentService.js`](https://github.com/saimahmt03/trackwise/blob/main/TrackWise.UI/track-wise/src/services/departmentService.js) (Department Service), [`TrackWise.UI/track-wise/src/components/Department/DepartmentForm.jsx`](https://github.com/saimahmt03/trackwise/blob/main/TrackWise.UI/track-wise/src/components/Department/DepartmentForm.jsx) (Department Form), [`TrackWise.UI/track-wise/src/services/apiClient.js`](https://github.com/saimahmt03/trackwise/blob/main/TrackWise.UI/track-wise/src/services/apiClient.js) (HTTP Client), [`TrackWise.UI/track-wise/src/hooks/useDepartment.js`](https://github.com/saimahmt03/trackwise/blob/main/TrackWise.UI/track-wise/src/hooks/useDepartment.js) (Department State)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_ui["Frontend"]
  node_app["React App<br/>[App.js]"]
  node_department_form["Department Form<br/>[DepartmentForm.jsx]"]
  node_form_input["Form Input<br/>[FormInput.jsx]"]
  node_button["Shared Button<br/>[Button.jsx]"]
  node_department_hook["Department State<br/>[useDepartment.js]"]
  node_department_service["Department Service"]
  node_api_client["HTTP Client<br/>[apiClient.js]"]
end

subgraph group_api["Backend API"]
  node_api_host["Department API"]
  node_program["API Startup<br/>[Program.cs]"]
  node_connection_factory["DB Connection Factory"]
end

subgraph group_domain["Domain Data"]
  node_department_dto["Department DTOs<br/>[DepartmentRequest]"]
  node_employee_dto["Employee DTOs<br/>[EmployeeRequest]"]
  node_task_dto["Task DTOs<br/>[TaskRequest]"]
  node_department_result["Department Result"]
  node_employee_result["Employee Result<br/>[GetAllEmployee.cs]"]
  node_department_model["Department<br/>[Department.cs]"]
  node_employee_model["Employee<br/>[Employee.cs]"]
  node_task_model["Task<br/>[Task.cs]"]
  node_assignment_model["Task Assignment<br/>[TaskAssignment.cs]"]
  node_activity_model["Activity Log<br/>[ActivityLog.cs]"]
end

node_user(("User"))

node_user -->|"uses"| node_app
node_department_form -->|"renders"| node_form_input
node_department_form -->|"renders"| node_button
node_department_hook -->|"creates via"| node_department_service
node_department_service -->|"posts through"| node_api_client
node_api_client -->|"sends HTTP"| node_api_host
node_department_service -->|"posts department"| node_api_host
node_department_result -->|"contains"| node_department_model
node_employee_result -->|"contains"| node_employee_model

click node_app "https://github.com/saimahmt03/trackwise/blob/main/TrackWise.UI/track-wise/src/App.js"
click node_department_form "https://github.com/saimahmt03/trackwise/blob/main/TrackWise.UI/track-wise/src/components/Department/DepartmentForm.jsx"
click node_form_input "https://github.com/saimahmt03/trackwise/blob/main/TrackWise.UI/track-wise/src/components/Shared/FormInput.jsx"
click node_button "https://github.com/saimahmt03/trackwise/blob/main/TrackWise.UI/track-wise/src/components/Shared/Button.jsx"
click node_department_hook "https://github.com/saimahmt03/trackwise/blob/main/TrackWise.UI/track-wise/src/hooks/useDepartment.js"
click node_department_service "https://github.com/saimahmt03/trackwise/blob/main/TrackWise.UI/track-wise/src/services/departmentService.js"
click node_api_client "https://github.com/saimahmt03/trackwise/blob/main/TrackWise.UI/track-wise/src/services/apiClient.js"
click node_program "https://github.com/saimahmt03/trackwise/blob/main/TrackWise.API/TrackWise.API/Program.cs"
click node_connection_factory "https://github.com/saimahmt03/trackwise/blob/main/TrackWise.API/TrackWise.API/Data/DbConnectionFactory.cs"
click node_department_dto "https://github.com/saimahmt03/trackwise/tree/main/TrackWise.API/TrackWise.API/DTOs/Request/DepartmentRequest"
click node_employee_dto "https://github.com/saimahmt03/trackwise/tree/main/TrackWise.API/TrackWise.API/DTOs/Request/EmployeeRequest"
click node_task_dto "https://github.com/saimahmt03/trackwise/tree/main/TrackWise.API/TrackWise.API/DTOs/Request/TaskRequest"
click node_department_result "https://github.com/saimahmt03/trackwise/blob/main/TrackWise.API/TrackWise.API/DTOs/Result/DepartmentResult/GetAllDepartment.cs"
click node_employee_result "https://github.com/saimahmt03/trackwise/blob/main/TrackWise.API/TrackWise.API/DTOs/Result/EmployeeResult/GetAllEmployee.cs"
click node_department_model "https://github.com/saimahmt03/trackwise/blob/main/TrackWise.API/TrackWise.API/Models/Department.cs"
click node_employee_model "https://github.com/saimahmt03/trackwise/blob/main/TrackWise.API/TrackWise.API/Models/Employee.cs"
click node_task_model "https://github.com/saimahmt03/trackwise/blob/main/TrackWise.API/TrackWise.API/Models/Task.cs"
click node_assignment_model "https://github.com/saimahmt03/trackwise/blob/main/TrackWise.API/TrackWise.API/Models/TaskAssignment.cs"
click node_activity_model "https://github.com/saimahmt03/trackwise/blob/main/TrackWise.API/TrackWise.API/Models/ActivityLog.cs"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_app,node_department_form,node_form_input,node_button,node_department_hook,node_department_service,node_api_client,node_user toneBlue
class node_api_host,node_program,node_connection_factory toneAmber
class node_department_dto,node_employee_dto,node_task_dto,node_department_result,node_employee_result,node_department_model,node_employee_model,node_task_model,node_assignment_model,node_activity_model toneMint
```

## Components

### Frontend

- [React App](https://github.com/saimahmt03/trackwise/blob/main/TrackWise.UI/track-wise/src/App.js): `TrackWise.UI/track-wise/src/App.js`
- [Department Form](https://github.com/saimahmt03/trackwise/blob/main/TrackWise.UI/track-wise/src/components/Department/DepartmentForm.jsx): `TrackWise.UI/track-wise/src/components/Department/DepartmentForm.jsx`
- [Form Input](https://github.com/saimahmt03/trackwise/blob/main/TrackWise.UI/track-wise/src/components/Shared/FormInput.jsx): `TrackWise.UI/track-wise/src/components/Shared/FormInput.jsx`
- [Shared Button](https://github.com/saimahmt03/trackwise/blob/main/TrackWise.UI/track-wise/src/components/Shared/Button.jsx): `TrackWise.UI/track-wise/src/components/Shared/Button.jsx`
- [Department State](https://github.com/saimahmt03/trackwise/blob/main/TrackWise.UI/track-wise/src/hooks/useDepartment.js): `TrackWise.UI/track-wise/src/hooks/useDepartment.js`
- [Department Service](https://github.com/saimahmt03/trackwise/blob/main/TrackWise.UI/track-wise/src/services/departmentService.js): `TrackWise.UI/track-wise/src/services/departmentService.js`
- [HTTP Client](https://github.com/saimahmt03/trackwise/blob/main/TrackWise.UI/track-wise/src/services/apiClient.js): `TrackWise.UI/track-wise/src/services/apiClient.js`

### Backend API

- **Department API**
- [API Startup](https://github.com/saimahmt03/trackwise/blob/main/TrackWise.API/TrackWise.API/Program.cs): `TrackWise.API/TrackWise.API/Program.cs`
- [DB Connection Factory](https://github.com/saimahmt03/trackwise/blob/main/TrackWise.API/TrackWise.API/Data/DbConnectionFactory.cs): `TrackWise.API/TrackWise.API/Data/DbConnectionFactory.cs`

### Domain Data

- [Department DTOs](https://github.com/saimahmt03/trackwise/tree/main/TrackWise.API/TrackWise.API/DTOs/Request/DepartmentRequest): `TrackWise.API/TrackWise.API/DTOs/Request/DepartmentRequest`
- [Employee DTOs](https://github.com/saimahmt03/trackwise/tree/main/TrackWise.API/TrackWise.API/DTOs/Request/EmployeeRequest): `TrackWise.API/TrackWise.API/DTOs/Request/EmployeeRequest`
- [Task DTOs](https://github.com/saimahmt03/trackwise/tree/main/TrackWise.API/TrackWise.API/DTOs/Request/TaskRequest): `TrackWise.API/TrackWise.API/DTOs/Request/TaskRequest`
- [Department Result](https://github.com/saimahmt03/trackwise/blob/main/TrackWise.API/TrackWise.API/DTOs/Result/DepartmentResult/GetAllDepartment.cs): `TrackWise.API/TrackWise.API/DTOs/Result/DepartmentResult/GetAllDepartment.cs`
- [Employee Result](https://github.com/saimahmt03/trackwise/blob/main/TrackWise.API/TrackWise.API/DTOs/Result/EmployeeResult/GetAllEmployee.cs): `TrackWise.API/TrackWise.API/DTOs/Result/EmployeeResult/GetAllEmployee.cs`
- [Department](https://github.com/saimahmt03/trackwise/blob/main/TrackWise.API/TrackWise.API/Models/Department.cs): `TrackWise.API/TrackWise.API/Models/Department.cs`
- [Employee](https://github.com/saimahmt03/trackwise/blob/main/TrackWise.API/TrackWise.API/Models/Employee.cs): `TrackWise.API/TrackWise.API/Models/Employee.cs`
- [Task](https://github.com/saimahmt03/trackwise/blob/main/TrackWise.API/TrackWise.API/Models/Task.cs): `TrackWise.API/TrackWise.API/Models/Task.cs`
- [Task Assignment](https://github.com/saimahmt03/trackwise/blob/main/TrackWise.API/TrackWise.API/Models/TaskAssignment.cs): `TrackWise.API/TrackWise.API/Models/TaskAssignment.cs`
- [Activity Log](https://github.com/saimahmt03/trackwise/blob/main/TrackWise.API/TrackWise.API/Models/ActivityLog.cs): `TrackWise.API/TrackWise.API/Models/ActivityLog.cs`

### Other components

- **User**

## Connections

- User → React App: uses (evidence: `README.md`)
- Department Form → Form Input: renders (evidence: `TrackWise.UI/track-wise/src/components/Department/DepartmentForm.jsx`)
- Department Form → Shared Button: renders (evidence: `TrackWise.UI/track-wise/src/components/Department/DepartmentForm.jsx`)
- Department State → Department Service: creates via (evidence: `TrackWise.UI/track-wise/src/hooks/useDepartment.js`)
- Department Service → HTTP Client: posts through (evidence: `TrackWise.UI/track-wise/src/services/departmentService.js`)
- HTTP Client → Department API: sends HTTP (evidence: `TrackWise.UI/track-wise/src/services/apiClient.js`)
- Department Service → Department API: posts department (evidence: `TrackWise.UI/track-wise/src/services/departmentService.js`)
- Department Result → Department: contains (evidence: `TrackWise.API/TrackWise.API/DTOs/Result/DepartmentResult/GetAllDepartment.cs`)
- Employee Result → Employee: contains (evidence: `TrackWise.API/TrackWise.API/DTOs/Result/EmployeeResult/GetAllEmployee.cs`)
