# ynuske/projetos-faculdade architecture

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

- Interactive diagram: https://gitdiagram.com/ynuske/projetos-faculdade
- Repository: https://github.com/ynuske/projetos-faculdade

## Overview

This is a small Tkinter Kanban task manager implemented in one Python file. The user enters tasks, the app validates and creates them, stores project data as JSON, and refreshes the board; board columns present tasks by status and provide task actions. The excerpt also shows task editing and deadline-aware task models. Some wiring lies in omitted lines, so the graph avoids inferring those calls.

Main entry points: [`Kanban/task.py`](https://github.com/ynuske/projetos-faculdade/blob/main/Kanban/task.py) (Kanban app)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_ui["Task interface"]
  node_app["Kanban app<br/>[task.py]"]
  node_edit["Edit dialog<br/>[task.py]"]
  node_columns["Board columns<br/>[task.py]"]
end

subgraph group_domain["Task domain"]
  node_task["Task models<br/>[task.py]"]
end

subgraph group_storage["Project storage"]
  node_project["Project model<br/>[task.py]"]
  node_json["JSON file"]
end

node_user(("User"))

node_user -->|"enters tasks"| node_app
node_app -->|"creates task"| node_task
node_app -->|"adds task"| node_project
node_app -->|"saves project"| node_project
node_project -->|"reads and writes"| node_json
node_app -->|"refreshes board"| node_columns
node_user -.->|"edits task"| node_edit
node_edit -->|"returns changes"| node_app
node_columns -->|"renders task"| node_task

click node_app "https://github.com/ynuske/projetos-faculdade/blob/main/Kanban/task.py"
click node_edit "https://github.com/ynuske/projetos-faculdade/blob/main/Kanban/task.py"
click node_columns "https://github.com/ynuske/projetos-faculdade/blob/main/Kanban/task.py"
click node_task "https://github.com/ynuske/projetos-faculdade/blob/main/Kanban/task.py"
click node_project "https://github.com/ynuske/projetos-faculdade/blob/main/Kanban/task.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_app,node_edit,node_columns,node_user toneBlue
class node_task toneAmber
class node_project,node_json toneMint
```

## Components

### Task interface

- [Kanban app](https://github.com/ynuske/projetos-faculdade/blob/main/Kanban/task.py): `Kanban/task.py`
- [Edit dialog](https://github.com/ynuske/projetos-faculdade/blob/main/Kanban/task.py): `Kanban/task.py`
- [Board columns](https://github.com/ynuske/projetos-faculdade/blob/main/Kanban/task.py): `Kanban/task.py`

### Task domain

- [Task models](https://github.com/ynuske/projetos-faculdade/blob/main/Kanban/task.py): `Kanban/task.py`

### Project storage

- [Project model](https://github.com/ynuske/projetos-faculdade/blob/main/Kanban/task.py): `Kanban/task.py`
- **JSON file**

### Other components

- **User**

## Connections

- User → Kanban app: enters tasks (evidence: `Kanban/task.py`)
- Kanban app → Task models: creates task (evidence: `Kanban/task.py`)
- Kanban app → Project model: adds task (evidence: `Kanban/task.py`)
- Kanban app → Project model: saves project (evidence: `Kanban/task.py`)
- Project model → JSON file: reads and writes (evidence: `Kanban/task.py`)
- Kanban app → Board columns: refreshes board (evidence: `Kanban/task.py`)
- User → Edit dialog: edits task
- Edit dialog → Kanban app: returns changes (evidence: `Kanban/task.py`)
- Board columns → Task models: renders task (evidence: `Kanban/task.py`)
