# eudessb/trackgrade architecture

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

- Interactive diagram: https://gitdiagram.com/eudessb/trackgrade
- Repository: https://github.com/eudessb/trackgrade

## Overview

This Django app supports student accounts, subject enrollment, grade recording, semester performance summaries, and grade simulations. The visible routes dispatch to views whose source files are absent from the supplied tree, so their internal wiring to forms, templates, and services cannot be confirmed. The graph shows only evidenced imports, model relationships, and queries; the replacement simulator is included as an independent capability present in the source.

Main entry points: [`core/urls.py`](https://github.com/eudessb/trackgrade/blob/main/core/urls.py) (URL routes), [`core/models/grade.py`](https://github.com/eudessb/trackgrade/blob/main/core/models/grade.py) (Grades), [`core/models/subject.py`](https://github.com/eudessb/trackgrade/blob/main/core/models/subject.py) (Subjects), [`core/forms/forms.py`](https://github.com/eudessb/trackgrade/blob/main/core/forms/forms.py) (User and grade forms)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_entry["Web workflow"]
  node_routes["URL routes<br/>[urls.py]"]
  node_dashboard_view["Dashboard view"]
  node_grade_view["Grade views"]
  node_subject_view["Subject views"]
  node_user_view["User views"]
  node_simulator_view["Simulator view"]
  node_forms["User and grade forms<br/>[forms.py]"]
  node_templates["App pages"]
end

subgraph group_records["Academic records"]
  node_user[("User accounts<br/>[usuario.py]")]
  node_subject[("Subjects<br/>[subject.py]")]
  node_grade[("Grades<br/>[grade.py]")]
end

subgraph group_analysis["Grade analysis"]
  node_performance["Semester performance"]
  node_goal_sim["Goal simulation<br/>[calcular_media.py]"]
  node_makeup_sim["Makeup simulation"]
end

node_student(("Student"))

node_student -->|"requests pages"| node_routes
node_routes -->|"dispatches"| node_dashboard_view
node_routes -->|"dispatches"| node_grade_view
node_routes -->|"dispatches"| node_subject_view
node_routes -->|"dispatches"| node_user_view
node_routes -->|"dispatches"| node_simulator_view
node_forms -->|"queries and validates"| node_subject
node_forms -->|"validates"| node_grade
node_forms -->|"validates"| node_user
node_performance -->|"queries"| node_subject
node_performance -->|"queries"| node_grade
node_subject -->|"enrolls many-to-many"| node_user
node_grade -->|"references"| node_subject
node_grade -->|"references"| node_user

click node_routes "https://github.com/eudessb/trackgrade/blob/main/core/urls.py"
click node_forms "https://github.com/eudessb/trackgrade/blob/main/core/forms/forms.py"
click node_templates "https://github.com/eudessb/trackgrade/tree/main/core/templates/core"
click node_user "https://github.com/eudessb/trackgrade/blob/main/core/models/usuario.py"
click node_subject "https://github.com/eudessb/trackgrade/blob/main/core/models/subject.py"
click node_grade "https://github.com/eudessb/trackgrade/blob/main/core/models/grade.py"
click node_performance "https://github.com/eudessb/trackgrade/blob/main/core/services/simulador_performance.py"
click node_goal_sim "https://github.com/eudessb/trackgrade/blob/main/core/services/calcular_media.py"
click node_makeup_sim "https://github.com/eudessb/trackgrade/blob/main/core/services/simulador_reposicao.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_routes,node_dashboard_view,node_grade_view,node_subject_view,node_user_view,node_simulator_view,node_forms,node_templates toneBlue
class node_user,node_subject,node_grade toneAmber
class node_performance,node_goal_sim,node_makeup_sim toneMint
class node_student toneIndigo
```

## Components

### Web workflow

- [URL routes](https://github.com/eudessb/trackgrade/blob/main/core/urls.py): `core/urls.py`
- **Dashboard view**
- **Grade views**
- **Subject views**
- **User views**
- **Simulator view**
- [User and grade forms](https://github.com/eudessb/trackgrade/blob/main/core/forms/forms.py): `core/forms/forms.py`
- [App pages](https://github.com/eudessb/trackgrade/tree/main/core/templates/core): `core/templates/core`

### Academic records

- [User accounts](https://github.com/eudessb/trackgrade/blob/main/core/models/usuario.py): `core/models/usuario.py`
- [Subjects](https://github.com/eudessb/trackgrade/blob/main/core/models/subject.py): `core/models/subject.py`
- [Grades](https://github.com/eudessb/trackgrade/blob/main/core/models/grade.py): `core/models/grade.py`

### Grade analysis

- [Semester performance](https://github.com/eudessb/trackgrade/blob/main/core/services/simulador_performance.py): `core/services/simulador_performance.py`
- [Goal simulation](https://github.com/eudessb/trackgrade/blob/main/core/services/calcular_media.py): `core/services/calcular_media.py`
- [Makeup simulation](https://github.com/eudessb/trackgrade/blob/main/core/services/simulador_reposicao.py): `core/services/simulador_reposicao.py`

### Other components

- **Student**

## Connections

- Student → URL routes: requests pages
- URL routes → Dashboard view: dispatches
- URL routes → Grade views: dispatches
- URL routes → Subject views: dispatches
- URL routes → User views: dispatches
- URL routes → Simulator view: dispatches
- User and grade forms → Subjects: queries and validates
- User and grade forms → Grades: validates
- User and grade forms → User accounts: validates
- Semester performance → Subjects: queries
- Semester performance → Grades: queries
- Subjects → User accounts: enrolls many-to-many
- Grades → Subjects: references
- Grades → User accounts: references
