# jonnblaire/student-task-deadline-tracker-website architecture

> Architecture diagram of the GitHub repository jonnblaire/student-task-deadline-tracker-website, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-10). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/jonnblaire/student-task-deadline-tracker-website
- Repository: https://github.com/jonnblaire/student-task-deadline-tracker-website

## Overview

TaskFlow is a Django task and subject planner. A user’s browser request is routed to a view, which may validate submitted data, access the user’s records, and render a page; the browser then provides interactive filtering and calendar behavior. The graph separates dashboard, task, subject, calendar, and account stages, plus the shared model and presentation layers. The README documents the general MVT flow; sampled source confirms routing, forms, view/model calls, and browser-side behavior. Individual template wiring is not sampled.

Main entry points: [`taskflow/urls.py`](https://github.com/jonnblaire/student-task-deadline-tracker-website/blob/main/taskflow/urls.py) (URL routing), [`tasks/models.py`](https://github.com/jonnblaire/student-task-deadline-tracker-website/blob/main/tasks/models.py) (Planner records), [`templates/tasks`](https://github.com/jonnblaire/student-task-deadline-tracker-website/tree/main/templates/tasks) (Page templates), [`tasks/views.py`](https://github.com/jonnblaire/student-task-deadline-tracker-website/blob/main/tasks/views.py) (Task management)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_web["Web interaction"]
  node_browser["Browser pages"]
  node_browserjs["Page interactions<br/>[app.js]"]
end

subgraph group_domain["Planner workflows"]
  node_dashboard["Dashboard<br/>[views.py]"]
  node_taskwork["Task management<br/>[views.py]"]
  node_subjectwork["Subject management<br/>[views.py]"]
  node_calendar["Calendar view<br/>[views.py]"]
end

subgraph group_data["Data and presentation"]
  node_forms["Task and subject forms<br/>[forms.py]"]
  node_models["Planner records<br/>[models.py]"]
  node_database[("SQLite database<br/>[db.sqlite3]")]
  node_templates["Page templates"]
end

subgraph group_identity["Identity and runtime"]
  node_routes["URL routing<br/>[urls.py]"]
  node_auth["Django authentication"]
  node_account["Account pages<br/>[views.py]"]
  node_settings["Django configuration<br/>[settings.py]"]
  node_admin["Admin records<br/>[admin.py]"]
end

node_user(("User"))

node_user -->|"uses"| node_browser
node_browser -->|"sends requests"| node_routes
node_routes -->|"routes to"| node_dashboard
node_routes -->|"routes to"| node_taskwork
node_routes -->|"routes to"| node_subjectwork
node_routes -->|"routes to"| node_calendar
node_routes -->|"routes to"| node_account
node_routes -->|"uses"| node_auth
node_dashboard -->|"queries"| node_models
node_taskwork -->|"validates with"| node_forms
node_taskwork -->|"reads and writes"| node_models
node_subjectwork -->|"validates with"| node_forms
node_subjectwork -->|"reads and writes"| node_models
node_calendar -->|"queries"| node_models
node_account -->|"renders"| node_templates
node_dashboard -->|"renders"| node_templates
node_taskwork -->|"renders"| node_templates
node_subjectwork -->|"renders"| node_templates
node_calendar -->|"renders"| node_templates
node_templates -->|"renders as"| node_browser
node_browserjs -->|"enhances"| node_browser
node_models -->|"persists through"| node_database
node_admin -->|"registers"| node_models
node_settings -->|"configures"| node_database

click node_browser "https://github.com/jonnblaire/student-task-deadline-tracker-website/tree/main/templates"
click node_browserjs "https://github.com/jonnblaire/student-task-deadline-tracker-website/blob/main/static/js/app.js"
click node_routes "https://github.com/jonnblaire/student-task-deadline-tracker-website/blob/main/taskflow/urls.py"
click node_dashboard "https://github.com/jonnblaire/student-task-deadline-tracker-website/blob/main/tasks/views.py"
click node_taskwork "https://github.com/jonnblaire/student-task-deadline-tracker-website/blob/main/tasks/views.py"
click node_subjectwork "https://github.com/jonnblaire/student-task-deadline-tracker-website/blob/main/tasks/views.py"
click node_calendar "https://github.com/jonnblaire/student-task-deadline-tracker-website/blob/main/tasks/views.py"
click node_account "https://github.com/jonnblaire/student-task-deadline-tracker-website/blob/main/tasks/views.py"
click node_forms "https://github.com/jonnblaire/student-task-deadline-tracker-website/blob/main/tasks/forms.py"
click node_models "https://github.com/jonnblaire/student-task-deadline-tracker-website/blob/main/tasks/models.py"
click node_database "https://github.com/jonnblaire/student-task-deadline-tracker-website/blob/main/db.sqlite3"
click node_templates "https://github.com/jonnblaire/student-task-deadline-tracker-website/tree/main/templates/tasks"
click node_settings "https://github.com/jonnblaire/student-task-deadline-tracker-website/blob/main/taskflow/settings.py"
click node_admin "https://github.com/jonnblaire/student-task-deadline-tracker-website/blob/main/tasks/admin.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_browser,node_browserjs,node_user toneBlue
class node_dashboard,node_taskwork,node_subjectwork,node_calendar toneAmber
class node_forms,node_models,node_database,node_templates toneMint
class node_routes,node_auth,node_account,node_settings,node_admin toneRose
```

## Components

### Web interaction

- [Browser pages](https://github.com/jonnblaire/student-task-deadline-tracker-website/tree/main/templates): `templates`
- [Page interactions](https://github.com/jonnblaire/student-task-deadline-tracker-website/blob/main/static/js/app.js): `static/js/app.js`

### Planner workflows

- [Dashboard](https://github.com/jonnblaire/student-task-deadline-tracker-website/blob/main/tasks/views.py): `tasks/views.py`
- [Task management](https://github.com/jonnblaire/student-task-deadline-tracker-website/blob/main/tasks/views.py): `tasks/views.py`
- [Subject management](https://github.com/jonnblaire/student-task-deadline-tracker-website/blob/main/tasks/views.py): `tasks/views.py`
- [Calendar view](https://github.com/jonnblaire/student-task-deadline-tracker-website/blob/main/tasks/views.py): `tasks/views.py`

### Data and presentation

- [Task and subject forms](https://github.com/jonnblaire/student-task-deadline-tracker-website/blob/main/tasks/forms.py): `tasks/forms.py`
- [Planner records](https://github.com/jonnblaire/student-task-deadline-tracker-website/blob/main/tasks/models.py): `tasks/models.py`
- [SQLite database](https://github.com/jonnblaire/student-task-deadline-tracker-website/blob/main/db.sqlite3): `db.sqlite3`
- [Page templates](https://github.com/jonnblaire/student-task-deadline-tracker-website/tree/main/templates/tasks): `templates/tasks`

### Identity and runtime

- [URL routing](https://github.com/jonnblaire/student-task-deadline-tracker-website/blob/main/taskflow/urls.py): `taskflow/urls.py`
- **Django authentication**
- [Account pages](https://github.com/jonnblaire/student-task-deadline-tracker-website/blob/main/tasks/views.py): `tasks/views.py`
- [Django configuration](https://github.com/jonnblaire/student-task-deadline-tracker-website/blob/main/taskflow/settings.py): `taskflow/settings.py`
- [Admin records](https://github.com/jonnblaire/student-task-deadline-tracker-website/blob/main/tasks/admin.py): `tasks/admin.py`

### Other components

- **User**

## Connections

- User → Browser pages: uses (evidence: `README.md`)
- Browser pages → URL routing: sends requests (evidence: `README.md`)
- URL routing → Dashboard: routes to (evidence: `taskflow/urls.py`)
- URL routing → Task management: routes to (evidence: `taskflow/urls.py`)
- URL routing → Subject management: routes to (evidence: `taskflow/urls.py`)
- URL routing → Calendar view: routes to (evidence: `taskflow/urls.py`)
- URL routing → Account pages: routes to (evidence: `taskflow/urls.py`)
- URL routing → Django authentication: uses (evidence: `taskflow/urls.py`)
- Dashboard → Planner records: queries (evidence: `tasks/views.py`)
- Task management → Task and subject forms: validates with (evidence: `tasks/views.py`)
- Task management → Planner records: reads and writes (evidence: `tasks/views.py`)
- Subject management → Task and subject forms: validates with (evidence: `tasks/views.py`)
- Subject management → Planner records: reads and writes (evidence: `tasks/views.py`)
- Calendar view → Planner records: queries (evidence: `tasks/views.py`)
- Account pages → Page templates: renders (evidence: `README.md`)
- Dashboard → Page templates: renders (evidence: `README.md`)
- Task management → Page templates: renders (evidence: `README.md`)
- Subject management → Page templates: renders (evidence: `README.md`)
- Calendar view → Page templates: renders (evidence: `README.md`)
- Page templates → Browser pages: renders as (evidence: `README.md`)
- Page interactions → Browser pages: enhances (evidence: `static/js/app.js`)
- Planner records → SQLite database: persists through (evidence: `README.md`)
- Admin records → Planner records: registers (evidence: `tasks/admin.py`)
- Django configuration → SQLite database: configures (evidence: `taskflow/settings.py`)
