# gabrielxy123/-simple-task-management-app architecture

> Architecture diagram of the GitHub repository gabrielxy123/-simple-task-management-app, 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/gabrielxy123/-simple-task-management-app
- Repository: https://github.com/gabrielxy123/-simple-task-management-app

## Overview

TaskFlow is a full-stack task-management app. Users sign in, then load a Kanban dashboard with task and assignee data; they can search/filter, view progress, create or edit tasks, change status, and delete tasks. The dashboard also exposes an AI assistant that answers questions using task context. The graph reflects sampled frontend/API and backend routing/authentication code; chatbot internals are represented from the README and file tree, so its exact backend data flow is not inferred.

Main entry points: [`frontend/src/lib/api.ts`](https://github.com/gabrielxy123/-simple-task-management-app/blob/main/frontend/src/lib/api.ts) (HTTP client), [`frontend/src/app/dashboard/page.tsx`](https://github.com/gabrielxy123/-simple-task-management-app/blob/main/frontend/src/app/dashboard/page.tsx) (Kanban dashboard), [`backend/routes.py`](https://github.com/gabrielxy123/-simple-task-management-app/blob/main/backend/routes.py) (Auth and task routes), [`backend/main.py`](https://github.com/gabrielxy123/-simple-task-management-app/blob/main/backend/main.py) (FastAPI app)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_web["Web interface"]
  node_login["Sign-in page<br/>[page.tsx]"]
  node_dashboard["Kanban dashboard<br/>[page.tsx]"]
  node_taskcard["Task cards<br/>[TaskCard.tsx]"]
  node_taskmodal["Task editor<br/>[TaskModal.tsx]"]
  node_chatui["Chat panel<br/>[Chatbot.tsx]"]
end

subgraph group_client["API client"]
  node_apiclient["HTTP client<br/>[api.ts]"]
end

subgraph group_service["Backend service"]
  node_api["FastAPI app<br/>[main.py]"]
  node_routes["Auth and task routes<br/>[routes.py]"]
  node_chat["Chat endpoint<br/>[chat.py]"]
  node_auth["JWT and password auth<br/>[auth.py]"]
end

subgraph group_data["Persistence and models"]
  node_schemas["Request and response schemas<br/>[schemas.py]"]
  node_models["User and task models<br/>[models.py]"]
  node_dbsession["DB session layer<br/>[database.py]"]
end

node_user(("User"))
node_postgres[("PostgreSQL")]
node_groq{{"Groq LLM API"}}

node_user -->|"signs in"| node_login
node_user -->|"manages tasks"| node_dashboard
node_login -->|"submits credentials"| node_apiclient
node_dashboard -->|"loads data"| node_apiclient
node_dashboard -->|"renders tasks"| node_taskcard
node_dashboard -->|"opens editor"| node_taskmodal
node_dashboard -->|"opens assistant"| node_chatui
node_taskcard -->|"updates or deletes"| node_apiclient
node_taskmodal -->|"creates or updates"| node_apiclient
node_chatui -->|"sends question"| node_apiclient
node_apiclient -->|"HTTP requests"| node_api
node_api -->|"dispatches routes"| node_routes
node_api -->|"dispatches chat"| node_chat
node_api -->|"creates tables"| node_dbsession
node_routes -->|"verifies credentials"| node_auth
node_routes -->|"queries and commits"| node_dbsession
node_routes -->|"uses ORM entities"| node_models
node_routes -->|"validates and serializes"| node_schemas
node_auth -->|"loads user"| node_dbsession
node_auth -->|"queries user"| node_models
node_dbsession -->|"opens sessions"| node_postgres
node_chat -.->|"requests AI reply"| node_groq

click node_login "https://github.com/gabrielxy123/-simple-task-management-app/blob/main/frontend/src/app/login/page.tsx"
click node_dashboard "https://github.com/gabrielxy123/-simple-task-management-app/blob/main/frontend/src/app/dashboard/page.tsx"
click node_taskcard "https://github.com/gabrielxy123/-simple-task-management-app/blob/main/frontend/src/components/TaskCard.tsx"
click node_taskmodal "https://github.com/gabrielxy123/-simple-task-management-app/blob/main/frontend/src/components/TaskModal.tsx"
click node_chatui "https://github.com/gabrielxy123/-simple-task-management-app/blob/main/frontend/src/components/Chatbot.tsx"
click node_apiclient "https://github.com/gabrielxy123/-simple-task-management-app/blob/main/frontend/src/lib/api.ts"
click node_api "https://github.com/gabrielxy123/-simple-task-management-app/blob/main/backend/main.py"
click node_routes "https://github.com/gabrielxy123/-simple-task-management-app/blob/main/backend/routes.py"
click node_chat "https://github.com/gabrielxy123/-simple-task-management-app/blob/main/backend/chat.py"
click node_auth "https://github.com/gabrielxy123/-simple-task-management-app/blob/main/backend/auth.py"
click node_schemas "https://github.com/gabrielxy123/-simple-task-management-app/blob/main/backend/schemas.py"
click node_models "https://github.com/gabrielxy123/-simple-task-management-app/blob/main/backend/models.py"
click node_dbsession "https://github.com/gabrielxy123/-simple-task-management-app/blob/main/backend/database.py"

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_login,node_dashboard,node_taskcard,node_taskmodal,node_chatui,node_user toneBlue
class node_apiclient,node_postgres toneAmber
class node_api,node_routes,node_chat,node_auth,node_groq toneMint
class node_schemas,node_models,node_dbsession toneRose
```

## Components

### Web interface

- [Sign-in page](https://github.com/gabrielxy123/-simple-task-management-app/blob/main/frontend/src/app/login/page.tsx): `frontend/src/app/login/page.tsx`
- [Kanban dashboard](https://github.com/gabrielxy123/-simple-task-management-app/blob/main/frontend/src/app/dashboard/page.tsx): `frontend/src/app/dashboard/page.tsx`
- [Task cards](https://github.com/gabrielxy123/-simple-task-management-app/blob/main/frontend/src/components/TaskCard.tsx): `frontend/src/components/TaskCard.tsx`
- [Task editor](https://github.com/gabrielxy123/-simple-task-management-app/blob/main/frontend/src/components/TaskModal.tsx): `frontend/src/components/TaskModal.tsx`
- [Chat panel](https://github.com/gabrielxy123/-simple-task-management-app/blob/main/frontend/src/components/Chatbot.tsx): `frontend/src/components/Chatbot.tsx`

### API client

- [HTTP client](https://github.com/gabrielxy123/-simple-task-management-app/blob/main/frontend/src/lib/api.ts): `frontend/src/lib/api.ts`

### Backend service

- [FastAPI app](https://github.com/gabrielxy123/-simple-task-management-app/blob/main/backend/main.py): `backend/main.py`
- [Auth and task routes](https://github.com/gabrielxy123/-simple-task-management-app/blob/main/backend/routes.py): `backend/routes.py`
- [Chat endpoint](https://github.com/gabrielxy123/-simple-task-management-app/blob/main/backend/chat.py): `backend/chat.py`
- [JWT and password auth](https://github.com/gabrielxy123/-simple-task-management-app/blob/main/backend/auth.py): `backend/auth.py`

### Persistence and models

- [Request and response schemas](https://github.com/gabrielxy123/-simple-task-management-app/blob/main/backend/schemas.py): `backend/schemas.py`
- [User and task models](https://github.com/gabrielxy123/-simple-task-management-app/blob/main/backend/models.py): `backend/models.py`
- [DB session layer](https://github.com/gabrielxy123/-simple-task-management-app/blob/main/backend/database.py): `backend/database.py`

### Other components

- **User**
- **PostgreSQL**
- **Groq LLM API**

## Connections

- User → Sign-in page: signs in
- User → Kanban dashboard: manages tasks
- Sign-in page → HTTP client: submits credentials
- Kanban dashboard → HTTP client: loads data
- Kanban dashboard → Task cards: renders tasks
- Kanban dashboard → Task editor: opens editor
- Kanban dashboard → Chat panel: opens assistant
- Task cards → HTTP client: updates or deletes
- Task editor → HTTP client: creates or updates
- Chat panel → HTTP client: sends question
- HTTP client → FastAPI app: HTTP requests
- FastAPI app → Auth and task routes: dispatches routes
- FastAPI app → Chat endpoint: dispatches chat
- FastAPI app → DB session layer: creates tables
- Auth and task routes → JWT and password auth: verifies credentials
- Auth and task routes → DB session layer: queries and commits
- Auth and task routes → User and task models: uses ORM entities
- Auth and task routes → Request and response schemas: validates and serializes
- JWT and password auth → DB session layer: loads user
- JWT and password auth → User and task models: queries user
- DB session layer → PostgreSQL: opens sessions
- Chat endpoint → Groq LLM API: requests AI reply
