# shami297/teamtaskmanagementsystem architecture

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

- Interactive diagram: https://gitdiagram.com/shami297/teamtaskmanagementsystem
- Repository: https://github.com/shami297/teamtaskmanagementsystem

## Overview

TTMS is a role-based team task management system. Users authenticate, then work through role-scoped task and team workflows; task changes can trigger notifications, while dashboard views summarize task state. The React app calls a REST API, whose controllers delegate business operations to Core services backed by Entity Framework and SQL Server. The tree and README document additional user, comment, and notification capabilities, but their implementation details were not sampled, so uncertain internal call wiring is omitted.

Main entry points: [`FrontEnd/src/api/axiosClient.ts`](https://github.com/shami297/teamtaskmanagementsystem/blob/main/FrontEnd/src/api/axiosClient.ts) (HTTP client), [`FrontEnd/src/App.tsx`](https://github.com/shami297/teamtaskmanagementsystem/blob/main/FrontEnd/src/App.tsx) (Routes and session), [`Backend/TTMSAPI.Core/Data/AppDbContext.cs`](https://github.com/shami297/teamtaskmanagementsystem/blob/main/Backend/TTMSAPI.Core/Data/AppDbContext.cs) (Relational data), [`Backend/TTMSAPI.Core/Services/TaskService.cs`](https://github.com/shami297/teamtaskmanagementsystem/blob/main/Backend/TTMSAPI.Core/Services/TaskService.cs) (Task service)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_web["Web application"]
  node_app["Routes and session<br/>[App.tsx]"]
  node_authctx["Auth context<br/>[AuthContext.tsx]"]
  node_login["Login and register<br/>[LoginPage.tsx]"]
  node_tasksui["Task workflows<br/>[TasksPage.tsx]"]
  node_dashboardui["Dashboard<br/>[DashboardPage.tsx]"]
  node_teamsui["Team management<br/>[TeamsPage.tsx]"]
  node_detailui["Task details<br/>[TaskDetailPage.tsx]"]
  node_notificationsui["Notifications"]
  node_http["HTTP client<br/>[axiosClient.ts]"]
  node_authapi["Auth API<br/>[authApi.ts]"]
  node_tasksapi["Tasks API<br/>[tasksApi.ts]"]
  node_dashboardapi["Dashboard API<br/>[dashboardApi.ts]"]
  node_teamsapi["Teams API<br/>[teamsApi.ts]"]
  node_commentsapi["Comments API<br/>[commentsApi.ts]"]
  node_notificationsapi["Notifications API"]
end

subgraph group_api["REST API"]
  node_authctl["Authentication<br/>[AuthController.cs]"]
  node_taskctl["Task endpoints<br/>[TasksController.cs]"]
  node_dashctl["Dashboard endpoints"]
  node_teamctl["Team endpoints<br/>[TeamsController.cs]"]
  node_commentctl["Comment endpoints"]
  node_notifyctl["Notification endpoints"]
  node_userctl["User endpoints<br/>[UsersController.cs]"]
end

subgraph group_core["Core services and data"]
  node_authsvc["Auth service<br/>[AuthService.cs]"]
  node_tasksvc["Task service<br/>[TaskService.cs]"]
  node_teamsvc["Team service<br/>[TeamService.cs]"]
  node_commentsvc["Comment service<br/>[CommentService.cs]"]
  node_notifysvc["Notification service"]
  node_db[("Relational data<br/>[AppDbContext.cs]")]
end

node_user(("User"))
node_sql[("SQL Server")]

node_user -->|"uses"| node_app
node_app -->|"provides session"| node_authctx
node_app -->|"routes"| node_login
node_app -->|"routes"| node_tasksui
node_app -->|"routes"| node_dashboardui
node_app -->|"routes"| node_teamsui
node_app -->|"routes"| node_detailui
node_app -->|"routes"| node_notificationsui
node_login -->|"authenticates"| node_authapi
node_tasksui -->|"loads and updates"| node_tasksapi
node_tasksui -->|"loads assignees"| node_teamsapi
node_dashboardui -->|"requests summary"| node_dashboardapi
node_teamsui -->|"manages teams"| node_teamsapi
node_detailui -->|"handles discussion"| node_commentsapi
node_notificationsui -->|"manages alerts"| node_notificationsapi
node_authapi -->|"sends requests"| node_http
node_tasksapi -->|"sends requests"| node_http
node_dashboardapi -->|"sends requests"| node_http
node_teamsapi -->|"sends requests"| node_http
node_commentsapi -->|"sends requests"| node_http
node_notificationsapi -->|"sends requests"| node_http
node_http -->|"HTTP calls"| node_authctl
node_http -->|"HTTP calls"| node_taskctl
node_http -->|"HTTP calls"| node_dashctl
node_http -->|"HTTP calls"| node_teamctl
node_http -->|"HTTP calls"| node_commentctl
node_http -->|"HTTP calls"| node_notifyctl
node_authctl -->|"delegates auth"| node_authsvc
node_taskctl -->|"delegates tasks"| node_tasksvc
node_dashctl -->|"requests aggregates"| node_tasksvc
node_teamctl -->|"delegates teams"| node_teamsvc
node_commentctl -->|"delegates comments"| node_commentsvc
node_tasksvc -->|"dispatches events"| node_notifysvc
node_authsvc -->|"reads and writes"| node_db
node_tasksvc -->|"reads and writes"| node_db
node_teamsvc -->|"reads and writes"| node_db
node_commentsvc -->|"reads and writes"| node_db
node_notifysvc -->|"reads and writes"| node_db
node_db -->|"persists data"| node_sql

click node_app "https://github.com/shami297/teamtaskmanagementsystem/blob/main/FrontEnd/src/App.tsx"
click node_authctx "https://github.com/shami297/teamtaskmanagementsystem/blob/main/FrontEnd/src/context/AuthContext.tsx"
click node_login "https://github.com/shami297/teamtaskmanagementsystem/blob/main/FrontEnd/src/pages/LoginPage.tsx"
click node_tasksui "https://github.com/shami297/teamtaskmanagementsystem/blob/main/FrontEnd/src/pages/TasksPage.tsx"
click node_dashboardui "https://github.com/shami297/teamtaskmanagementsystem/blob/main/FrontEnd/src/pages/DashboardPage.tsx"
click node_teamsui "https://github.com/shami297/teamtaskmanagementsystem/blob/main/FrontEnd/src/pages/TeamsPage.tsx"
click node_detailui "https://github.com/shami297/teamtaskmanagementsystem/blob/main/FrontEnd/src/pages/TaskDetailPage.tsx"
click node_notificationsui "https://github.com/shami297/teamtaskmanagementsystem/blob/main/FrontEnd/src/pages/NotificationsPage.tsx"
click node_http "https://github.com/shami297/teamtaskmanagementsystem/blob/main/FrontEnd/src/api/axiosClient.ts"
click node_authapi "https://github.com/shami297/teamtaskmanagementsystem/blob/main/FrontEnd/src/api/authApi.ts"
click node_tasksapi "https://github.com/shami297/teamtaskmanagementsystem/blob/main/FrontEnd/src/api/tasksApi.ts"
click node_dashboardapi "https://github.com/shami297/teamtaskmanagementsystem/blob/main/FrontEnd/src/api/dashboardApi.ts"
click node_teamsapi "https://github.com/shami297/teamtaskmanagementsystem/blob/main/FrontEnd/src/api/teamsApi.ts"
click node_commentsapi "https://github.com/shami297/teamtaskmanagementsystem/blob/main/FrontEnd/src/api/commentsApi.ts"
click node_notificationsapi "https://github.com/shami297/teamtaskmanagementsystem/blob/main/FrontEnd/src/api/notificationsApi.ts"
click node_authctl "https://github.com/shami297/teamtaskmanagementsystem/blob/main/Backend/TTMSAPI/Controllers/AuthController.cs"
click node_taskctl "https://github.com/shami297/teamtaskmanagementsystem/blob/main/Backend/TTMSAPI/Controllers/TasksController.cs"
click node_dashctl "https://github.com/shami297/teamtaskmanagementsystem/blob/main/Backend/TTMSAPI/Controllers/DashboardController.cs"
click node_teamctl "https://github.com/shami297/teamtaskmanagementsystem/blob/main/Backend/TTMSAPI/Controllers/TeamsController.cs"
click node_commentctl "https://github.com/shami297/teamtaskmanagementsystem/blob/main/Backend/TTMSAPI/Controllers/CommentsController.cs"
click node_notifyctl "https://github.com/shami297/teamtaskmanagementsystem/blob/main/Backend/TTMSAPI/Controllers/NotificationsController.cs"
click node_userctl "https://github.com/shami297/teamtaskmanagementsystem/blob/main/Backend/TTMSAPI/Controllers/UsersController.cs"
click node_authsvc "https://github.com/shami297/teamtaskmanagementsystem/blob/main/Backend/TTMSAPI.Core/Services/AuthService.cs"
click node_tasksvc "https://github.com/shami297/teamtaskmanagementsystem/blob/main/Backend/TTMSAPI.Core/Services/TaskService.cs"
click node_teamsvc "https://github.com/shami297/teamtaskmanagementsystem/blob/main/Backend/TTMSAPI.Core/Services/TeamService.cs"
click node_commentsvc "https://github.com/shami297/teamtaskmanagementsystem/blob/main/Backend/TTMSAPI.Core/Services/CommentService.cs"
click node_notifysvc "https://github.com/shami297/teamtaskmanagementsystem/blob/main/Backend/TTMSAPI.Core/Services/NotificationService.cs"
click node_db "https://github.com/shami297/teamtaskmanagementsystem/blob/main/Backend/TTMSAPI.Core/Data/AppDbContext.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_authctx,node_login,node_tasksui,node_dashboardui,node_teamsui,node_detailui,node_notificationsui,node_http,node_authapi,node_tasksapi,node_dashboardapi,node_teamsapi,node_commentsapi,node_notificationsapi,node_user toneBlue
class node_authctl,node_taskctl,node_dashctl,node_teamctl,node_commentctl,node_notifyctl,node_userctl,node_sql toneAmber
class node_authsvc,node_tasksvc,node_teamsvc,node_commentsvc,node_notifysvc,node_db toneMint
```

## Components

### Web application

- [Routes and session](https://github.com/shami297/teamtaskmanagementsystem/blob/main/FrontEnd/src/App.tsx): `FrontEnd/src/App.tsx`
- [Auth context](https://github.com/shami297/teamtaskmanagementsystem/blob/main/FrontEnd/src/context/AuthContext.tsx): `FrontEnd/src/context/AuthContext.tsx`
- [Login and register](https://github.com/shami297/teamtaskmanagementsystem/blob/main/FrontEnd/src/pages/LoginPage.tsx): `FrontEnd/src/pages/LoginPage.tsx`
- [Task workflows](https://github.com/shami297/teamtaskmanagementsystem/blob/main/FrontEnd/src/pages/TasksPage.tsx): `FrontEnd/src/pages/TasksPage.tsx`
- [Dashboard](https://github.com/shami297/teamtaskmanagementsystem/blob/main/FrontEnd/src/pages/DashboardPage.tsx): `FrontEnd/src/pages/DashboardPage.tsx`
- [Team management](https://github.com/shami297/teamtaskmanagementsystem/blob/main/FrontEnd/src/pages/TeamsPage.tsx): `FrontEnd/src/pages/TeamsPage.tsx`
- [Task details](https://github.com/shami297/teamtaskmanagementsystem/blob/main/FrontEnd/src/pages/TaskDetailPage.tsx): `FrontEnd/src/pages/TaskDetailPage.tsx`
- [Notifications](https://github.com/shami297/teamtaskmanagementsystem/blob/main/FrontEnd/src/pages/NotificationsPage.tsx): `FrontEnd/src/pages/NotificationsPage.tsx`
- [HTTP client](https://github.com/shami297/teamtaskmanagementsystem/blob/main/FrontEnd/src/api/axiosClient.ts): `FrontEnd/src/api/axiosClient.ts`
- [Auth API](https://github.com/shami297/teamtaskmanagementsystem/blob/main/FrontEnd/src/api/authApi.ts): `FrontEnd/src/api/authApi.ts`
- [Tasks API](https://github.com/shami297/teamtaskmanagementsystem/blob/main/FrontEnd/src/api/tasksApi.ts): `FrontEnd/src/api/tasksApi.ts`
- [Dashboard API](https://github.com/shami297/teamtaskmanagementsystem/blob/main/FrontEnd/src/api/dashboardApi.ts): `FrontEnd/src/api/dashboardApi.ts`
- [Teams API](https://github.com/shami297/teamtaskmanagementsystem/blob/main/FrontEnd/src/api/teamsApi.ts): `FrontEnd/src/api/teamsApi.ts`
- [Comments API](https://github.com/shami297/teamtaskmanagementsystem/blob/main/FrontEnd/src/api/commentsApi.ts): `FrontEnd/src/api/commentsApi.ts`
- [Notifications API](https://github.com/shami297/teamtaskmanagementsystem/blob/main/FrontEnd/src/api/notificationsApi.ts): `FrontEnd/src/api/notificationsApi.ts`

### REST API

- [Authentication](https://github.com/shami297/teamtaskmanagementsystem/blob/main/Backend/TTMSAPI/Controllers/AuthController.cs): `Backend/TTMSAPI/Controllers/AuthController.cs`
- [Task endpoints](https://github.com/shami297/teamtaskmanagementsystem/blob/main/Backend/TTMSAPI/Controllers/TasksController.cs): `Backend/TTMSAPI/Controllers/TasksController.cs`
- [Dashboard endpoints](https://github.com/shami297/teamtaskmanagementsystem/blob/main/Backend/TTMSAPI/Controllers/DashboardController.cs): `Backend/TTMSAPI/Controllers/DashboardController.cs`
- [Team endpoints](https://github.com/shami297/teamtaskmanagementsystem/blob/main/Backend/TTMSAPI/Controllers/TeamsController.cs): `Backend/TTMSAPI/Controllers/TeamsController.cs`
- [Comment endpoints](https://github.com/shami297/teamtaskmanagementsystem/blob/main/Backend/TTMSAPI/Controllers/CommentsController.cs): `Backend/TTMSAPI/Controllers/CommentsController.cs`
- [Notification endpoints](https://github.com/shami297/teamtaskmanagementsystem/blob/main/Backend/TTMSAPI/Controllers/NotificationsController.cs): `Backend/TTMSAPI/Controllers/NotificationsController.cs`
- [User endpoints](https://github.com/shami297/teamtaskmanagementsystem/blob/main/Backend/TTMSAPI/Controllers/UsersController.cs): `Backend/TTMSAPI/Controllers/UsersController.cs`

### Core services and data

- [Auth service](https://github.com/shami297/teamtaskmanagementsystem/blob/main/Backend/TTMSAPI.Core/Services/AuthService.cs): `Backend/TTMSAPI.Core/Services/AuthService.cs`
- [Task service](https://github.com/shami297/teamtaskmanagementsystem/blob/main/Backend/TTMSAPI.Core/Services/TaskService.cs): `Backend/TTMSAPI.Core/Services/TaskService.cs`
- [Team service](https://github.com/shami297/teamtaskmanagementsystem/blob/main/Backend/TTMSAPI.Core/Services/TeamService.cs): `Backend/TTMSAPI.Core/Services/TeamService.cs`
- [Comment service](https://github.com/shami297/teamtaskmanagementsystem/blob/main/Backend/TTMSAPI.Core/Services/CommentService.cs): `Backend/TTMSAPI.Core/Services/CommentService.cs`
- [Notification service](https://github.com/shami297/teamtaskmanagementsystem/blob/main/Backend/TTMSAPI.Core/Services/NotificationService.cs): `Backend/TTMSAPI.Core/Services/NotificationService.cs`
- [Relational data](https://github.com/shami297/teamtaskmanagementsystem/blob/main/Backend/TTMSAPI.Core/Data/AppDbContext.cs): `Backend/TTMSAPI.Core/Data/AppDbContext.cs`

### Other components

- **User**
- **SQL Server**

## Connections

- User → Routes and session: uses
- Routes and session → Auth context: provides session
- Routes and session → Login and register: routes
- Routes and session → Task workflows: routes
- Routes and session → Dashboard: routes
- Routes and session → Team management: routes
- Routes and session → Task details: routes
- Routes and session → Notifications: routes
- Login and register → Auth API: authenticates
- Task workflows → Tasks API: loads and updates
- Task workflows → Teams API: loads assignees
- Dashboard → Dashboard API: requests summary
- Team management → Teams API: manages teams
- Task details → Comments API: handles discussion
- Notifications → Notifications API: manages alerts
- Auth API → HTTP client: sends requests
- Tasks API → HTTP client: sends requests
- Dashboard API → HTTP client: sends requests
- Teams API → HTTP client: sends requests
- Comments API → HTTP client: sends requests
- Notifications API → HTTP client: sends requests
- HTTP client → Authentication: HTTP calls
- HTTP client → Task endpoints: HTTP calls
- HTTP client → Dashboard endpoints: HTTP calls
- HTTP client → Team endpoints: HTTP calls
- HTTP client → Comment endpoints: HTTP calls
- HTTP client → Notification endpoints: HTTP calls
- Authentication → Auth service: delegates auth
- Task endpoints → Task service: delegates tasks
- Dashboard endpoints → Task service: requests aggregates
- Team endpoints → Team service: delegates teams
- Comment endpoints → Comment service: delegates comments
- Task service → Notification service: dispatches events
- Auth service → Relational data: reads and writes
- Task service → Relational data: reads and writes
- Team service → Relational data: reads and writes
- Comment service → Relational data: reads and writes
- Notification service → Relational data: reads and writes
- Relational data → SQL Server: persists data
