# yvanlos/trade-task-manager architecture

> Architecture diagram of the GitHub repository yvanlos/trade-task-manager, 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/yvanlos/trade-task-manager
- Repository: https://github.com/yvanlos/trade-task-manager

## Overview

Trade Task Manager is a browser-based task CRUD application backed by Spring Boot and PostgreSQL. Users manage tasks through the web UI; the REST controller handles listing, creation, updates, deletion, title search, and status statistics, delegating persistence queries to the repository. The task entity defines the persisted record. The README documents the browser-to-API and repository-to-database architecture; source excerpts confirm controller/repository/model responsibilities. The UI implementation and runtime configuration were not sampled, so their internal behavior is not inferred.

Main entry points: [`src/main/java/com/yvanlos/trade_task_manager/repository/TradeTaskRepository.java`](https://github.com/yvanlos/trade-task-manager/blob/main/src/main/java/com/yvanlos/trade_task_manager/repository/TradeTaskRepository.java) (Task queries), [`src/main/java/com/yvanlos/trade_task_manager/controller/TradeTaskController.java`](https://github.com/yvanlos/trade-task-manager/blob/main/src/main/java/com/yvanlos/trade_task_manager/controller/TradeTaskController.java) (Task REST API), [`src/main/resources/static/index.html`](https://github.com/yvanlos/trade-task-manager/blob/main/src/main/resources/static/index.html) (Task web UI), [`src/main/java/com/yvanlos/trade_task_manager/model/TradeTask.java`](https://github.com/yvanlos/trade-task-manager/blob/main/src/main/java/com/yvanlos/trade_task_manager/model/TradeTask.java) (Task entity)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_frontend["Web interface"]
  node_webui["Task web UI<br/>[index.html]"]
end

subgraph group_backend["Spring API"]
  node_application["Spring Boot app"]
  node_api["Task REST API"]
end

subgraph group_persistence["Task persistence"]
  node_repository["Task queries"]
  node_entity["Task entity<br/>[TradeTask.java]"]
  node_postgres[("PostgreSQL")]
end

node_user(("Task user"))

node_user -->|"uses"| node_webui
node_webui -->|"REST / JSON"| node_api
node_application -.->|"hosts"| node_api
node_api -->|"queries"| node_repository
node_repository -->|"returns and persists"| node_entity
node_repository -->|"JDBC persistence"| node_postgres
node_entity -->|"maps trade_tasks"| node_postgres

click node_webui "https://github.com/yvanlos/trade-task-manager/blob/main/src/main/resources/static/index.html"
click node_application "https://github.com/yvanlos/trade-task-manager/blob/main/src/main/java/com/yvanlos/trade_task_manager/TradeTaskManagerApplication.java"
click node_api "https://github.com/yvanlos/trade-task-manager/blob/main/src/main/java/com/yvanlos/trade_task_manager/controller/TradeTaskController.java"
click node_repository "https://github.com/yvanlos/trade-task-manager/blob/main/src/main/java/com/yvanlos/trade_task_manager/repository/TradeTaskRepository.java"
click node_entity "https://github.com/yvanlos/trade-task-manager/blob/main/src/main/java/com/yvanlos/trade_task_manager/model/TradeTask.java"

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_webui toneBlue
class node_application,node_api toneAmber
class node_repository,node_entity,node_postgres toneMint
class node_user toneRose
```

## Components

### Web interface

- [Task web UI](https://github.com/yvanlos/trade-task-manager/blob/main/src/main/resources/static/index.html): `src/main/resources/static/index.html`

### Spring API

- [Spring Boot app](https://github.com/yvanlos/trade-task-manager/blob/main/src/main/java/com/yvanlos/trade_task_manager/TradeTaskManagerApplication.java): `src/main/java/com/yvanlos/trade_task_manager/TradeTaskManagerApplication.java`
- [Task REST API](https://github.com/yvanlos/trade-task-manager/blob/main/src/main/java/com/yvanlos/trade_task_manager/controller/TradeTaskController.java): `src/main/java/com/yvanlos/trade_task_manager/controller/TradeTaskController.java`

### Task persistence

- [Task queries](https://github.com/yvanlos/trade-task-manager/blob/main/src/main/java/com/yvanlos/trade_task_manager/repository/TradeTaskRepository.java): `src/main/java/com/yvanlos/trade_task_manager/repository/TradeTaskRepository.java`
- [Task entity](https://github.com/yvanlos/trade-task-manager/blob/main/src/main/java/com/yvanlos/trade_task_manager/model/TradeTask.java): `src/main/java/com/yvanlos/trade_task_manager/model/TradeTask.java`
- **PostgreSQL**

### Other components

- **Task user**

## Connections

- Task user → Task web UI: uses (evidence: `README.md`)
- Task web UI → Task REST API: REST / JSON (evidence: `README.md`)
- Spring Boot app → Task REST API: hosts
- Task REST API → Task queries: queries (evidence: `src/main/java/com/yvanlos/trade_task_manager/controller/TradeTaskController.java`)
- Task queries → Task entity: returns and persists (evidence: `src/main/java/com/yvanlos/trade_task_manager/repository/TradeTaskRepository.java`)
- Task queries → PostgreSQL: JDBC persistence (evidence: `README.md`)
- Task entity → PostgreSQL: maps trade_tasks (evidence: `src/main/java/com/yvanlos/trade_task_manager/model/TradeTask.java`)
