# harshitarocks07-debug/taskflow architecture

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

- Interactive diagram: https://gitdiagram.com/harshitarocks07-debug/taskflow
- Repository: https://github.com/harshitarocks07-debug/taskflow

## Overview

This repository implements a small FastAPI reports service, despite the README describing a separate React task-management app; the inspected Python package and its API are the architecture shown here. The principal workflow serves report-list requests, filters and sorts deterministic in-memory seed records, then returns a paginated response that omits internal-only fields. The source also mentions a CSV export feature, but no export implementation is present in the provided files. Relationships below are limited to calls and model construction visible in excerpts.

Main entry points: [`app/main.py`](https://github.com/harshitarocks07-debug/taskflow/blob/main/app/main.py) (Reports API), [`app/reports.py`](https://github.com/harshitarocks07-debug/taskflow/blob/main/app/reports.py) (Report query), [`app/data.py`](https://github.com/harshitarocks07-debug/taskflow/blob/main/app/data.py) (Seed dataset), [`app/models.py`](https://github.com/harshitarocks07-debug/taskflow/blob/main/app/models.py) (Report models)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_http["HTTP layer"]
  node_api["Reports API<br/>[main.py]"]
end

subgraph group_reports["Report data and queries"]
  node_query["Report query<br/>[reports.py]"]
  node_seed["Seed dataset<br/>[data.py]"]
end

subgraph group_schemas["Response models"]
  node_models["Report models<br/>[models.py]"]
end

node_client(("API client"))

node_client -->|"requests reports"| node_api
node_api -->|"queries reports"| node_query
node_query -->|"loads records"| node_seed
node_seed -->|"constructs reports"| node_models
node_api -->|"maps response"| node_models

click node_api "https://github.com/harshitarocks07-debug/taskflow/blob/main/app/main.py"
click node_query "https://github.com/harshitarocks07-debug/taskflow/blob/main/app/reports.py"
click node_seed "https://github.com/harshitarocks07-debug/taskflow/blob/main/app/data.py"
click node_models "https://github.com/harshitarocks07-debug/taskflow/blob/main/app/models.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_api,node_client toneBlue
class node_query,node_seed toneAmber
class node_models toneMint
```

## Components

### HTTP layer

- [Reports API](https://github.com/harshitarocks07-debug/taskflow/blob/main/app/main.py): `app/main.py`

### Report data and queries

- [Report query](https://github.com/harshitarocks07-debug/taskflow/blob/main/app/reports.py): `app/reports.py`
- [Seed dataset](https://github.com/harshitarocks07-debug/taskflow/blob/main/app/data.py): `app/data.py`

### Response models

- [Report models](https://github.com/harshitarocks07-debug/taskflow/blob/main/app/models.py): `app/models.py`

### Other components

- **API client**

## Connections

- API client → Reports API: requests reports (evidence: `app/main.py`)
- Reports API → Report query: queries reports (evidence: `app/main.py`)
- Report query → Seed dataset: loads records (evidence: `app/reports.py`)
- Seed dataset → Report models: constructs reports (evidence: `app/data.py`)
- Reports API → Report models: maps response (evidence: `app/main.py`)
