# prattyush09/assignment-tracker-system architecture

> Architecture diagram of the GitHub repository prattyush09/assignment-tracker-system, 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/prattyush09/assignment-tracker-system
- Repository: https://github.com/prattyush09/assignment-tracker-system

## Overview

This is a local Flask student-marks management application. A teacher uses the browser to manage students, subjects, assessments, and marks; the app stores and queries that data in MySQL, then presents dashboard summaries, filtered marks, and performance rankings. The sampled source is partial, so route-to-template and database links are included where the README documents the capability; uncertain finer-grained wiring is omitted.

Main entry points: [`app.py`](https://github.com/prattyush09/assignment-tracker-system/blob/master/app.py) (Flask Application), [`templates/base.html`](https://github.com/prattyush09/assignment-tracker-system/blob/master/templates/base.html) (Shared Layout), [`templates/students.html`](https://github.com/prattyush09/assignment-tracker-system/blob/master/templates/students.html) (Student Pages), [`templates/subjects.html`](https://github.com/prattyush09/assignment-tracker-system/blob/master/templates/subjects.html) (Subject Pages)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_management["Academic Records"]
  node_flask["Flask Application<br/>[app.py]"]
  node_student_mgmt["Student Management<br/>[app.py]"]
  node_subject_mgmt["Subject Management<br/>[app.py]"]
  node_assessment_mgmt["Assessment Management<br/>[app.py]"]
  node_validation["Input Validation<br/>[app.py]"]
end

subgraph group_marks["Marks Workflow"]
  node_marks_entry["Enter Marks<br/>[app.py]"]
  node_marks_view["View Marks<br/>[app.py]"]
end

subgraph group_insights["Reporting"]
  node_dashboard["Dashboard<br/>[app.py]"]
  node_performance["Performance Analysis<br/>[app.py]"]
end

subgraph group_presentation["Web Presentation"]
  node_base_template["Shared Layout<br/>[base.html]"]
  node_student_templates["Student Pages<br/>[students.html]"]
  node_subject_templates["Subject Pages<br/>[subjects.html]"]
  node_assessment_templates["Assessment Pages<br/>[assessments.html]"]
  node_marks_template["Marks Entry Page<br/>[marks.html]"]
  node_view_marks_template["Marks Results Page<br/>[view_marks.html]"]
  node_dashboard_template["Dashboard Page<br/>[dashboard.html]"]
  node_performance_template["Performance Page<br/>[performance.html]"]
  node_browser_js["Browser Behaviors<br/>[script.js]"]
end

node_teacher(("Teacher"))
node_mysql[("MySQL Database")]
node_schema["Database Schema<br/>[database.sql]"]

node_teacher -->|"uses"| node_flask
node_flask -->|"dispatches"| node_student_mgmt
node_flask -->|"dispatches"| node_subject_mgmt
node_flask -->|"dispatches"| node_assessment_mgmt
node_flask -->|"dispatches"| node_marks_entry
node_flask -->|"dispatches"| node_marks_view
node_flask -->|"dispatches"| node_dashboard
node_flask -->|"dispatches"| node_performance
node_student_mgmt -->|"validates"| node_validation
node_assessment_mgmt -->|"validates"| node_validation
node_student_mgmt -->|"reads/writes"| node_mysql
node_subject_mgmt -->|"reads/writes"| node_mysql
node_assessment_mgmt -->|"reads/writes"| node_mysql
node_marks_entry -->|"reads/writes"| node_mysql
node_marks_view -->|"reads"| node_mysql
node_dashboard -->|"queries"| node_mysql
node_performance -->|"aggregates"| node_mysql
node_schema -->|"defines schema"| node_mysql
node_student_mgmt -->|"renders"| node_student_templates
node_subject_mgmt -->|"renders"| node_subject_templates
node_assessment_mgmt -->|"renders"| node_assessment_templates
node_marks_entry -->|"renders"| node_marks_template
node_marks_view -->|"renders"| node_view_marks_template
node_dashboard -->|"renders"| node_dashboard_template
node_performance -->|"renders"| node_performance_template
node_student_templates -->|"extends"| node_base_template
node_subject_templates -->|"extends"| node_base_template
node_assessment_templates -->|"extends"| node_base_template
node_marks_template -->|"extends"| node_base_template
node_view_marks_template -->|"extends"| node_base_template
node_dashboard_template -->|"extends"| node_base_template
node_performance_template -->|"extends"| node_base_template
node_base_template -->|"loads"| node_browser_js
node_teacher -->|"views"| node_student_templates
node_teacher -->|"views"| node_subject_templates
node_teacher -->|"views"| node_assessment_templates
node_teacher -->|"enters marks"| node_marks_template
node_teacher -->|"filters marks"| node_view_marks_template
node_teacher -->|"views"| node_dashboard_template
node_teacher -->|"views"| node_performance_template

click node_flask "https://github.com/prattyush09/assignment-tracker-system/blob/master/app.py"
click node_student_mgmt "https://github.com/prattyush09/assignment-tracker-system/blob/master/app.py"
click node_subject_mgmt "https://github.com/prattyush09/assignment-tracker-system/blob/master/app.py"
click node_assessment_mgmt "https://github.com/prattyush09/assignment-tracker-system/blob/master/app.py"
click node_validation "https://github.com/prattyush09/assignment-tracker-system/blob/master/app.py"
click node_marks_entry "https://github.com/prattyush09/assignment-tracker-system/blob/master/app.py"
click node_marks_view "https://github.com/prattyush09/assignment-tracker-system/blob/master/app.py"
click node_dashboard "https://github.com/prattyush09/assignment-tracker-system/blob/master/app.py"
click node_performance "https://github.com/prattyush09/assignment-tracker-system/blob/master/app.py"
click node_schema "https://github.com/prattyush09/assignment-tracker-system/blob/master/database.sql"
click node_base_template "https://github.com/prattyush09/assignment-tracker-system/blob/master/templates/base.html"
click node_student_templates "https://github.com/prattyush09/assignment-tracker-system/blob/master/templates/students.html"
click node_subject_templates "https://github.com/prattyush09/assignment-tracker-system/blob/master/templates/subjects.html"
click node_assessment_templates "https://github.com/prattyush09/assignment-tracker-system/blob/master/templates/assessments.html"
click node_marks_template "https://github.com/prattyush09/assignment-tracker-system/blob/master/templates/marks.html"
click node_view_marks_template "https://github.com/prattyush09/assignment-tracker-system/blob/master/templates/view_marks.html"
click node_dashboard_template "https://github.com/prattyush09/assignment-tracker-system/blob/master/templates/dashboard.html"
click node_performance_template "https://github.com/prattyush09/assignment-tracker-system/blob/master/templates/performance.html"
click node_browser_js "https://github.com/prattyush09/assignment-tracker-system/blob/master/static/js/script.js"

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_flask,node_student_mgmt,node_subject_mgmt,node_assessment_mgmt,node_validation toneBlue
class node_marks_entry,node_marks_view,node_mysql,node_schema toneAmber
class node_dashboard,node_performance toneMint
class node_base_template,node_student_templates,node_subject_templates,node_assessment_templates,node_marks_template,node_view_marks_template,node_dashboard_template,node_performance_template,node_browser_js toneRose
class node_teacher toneIndigo
```

## Components

### Academic Records

- [Flask Application](https://github.com/prattyush09/assignment-tracker-system/blob/master/app.py): `app.py`
- [Student Management](https://github.com/prattyush09/assignment-tracker-system/blob/master/app.py): `app.py`
- [Subject Management](https://github.com/prattyush09/assignment-tracker-system/blob/master/app.py): `app.py`
- [Assessment Management](https://github.com/prattyush09/assignment-tracker-system/blob/master/app.py): `app.py`
- [Input Validation](https://github.com/prattyush09/assignment-tracker-system/blob/master/app.py): `app.py`

### Marks Workflow

- [Enter Marks](https://github.com/prattyush09/assignment-tracker-system/blob/master/app.py): `app.py`
- [View Marks](https://github.com/prattyush09/assignment-tracker-system/blob/master/app.py): `app.py`

### Reporting

- [Dashboard](https://github.com/prattyush09/assignment-tracker-system/blob/master/app.py): `app.py`
- [Performance Analysis](https://github.com/prattyush09/assignment-tracker-system/blob/master/app.py): `app.py`

### Web Presentation

- [Shared Layout](https://github.com/prattyush09/assignment-tracker-system/blob/master/templates/base.html): `templates/base.html`
- [Student Pages](https://github.com/prattyush09/assignment-tracker-system/blob/master/templates/students.html): `templates/students.html`
- [Subject Pages](https://github.com/prattyush09/assignment-tracker-system/blob/master/templates/subjects.html): `templates/subjects.html`
- [Assessment Pages](https://github.com/prattyush09/assignment-tracker-system/blob/master/templates/assessments.html): `templates/assessments.html`
- [Marks Entry Page](https://github.com/prattyush09/assignment-tracker-system/blob/master/templates/marks.html): `templates/marks.html`
- [Marks Results Page](https://github.com/prattyush09/assignment-tracker-system/blob/master/templates/view_marks.html): `templates/view_marks.html`
- [Dashboard Page](https://github.com/prattyush09/assignment-tracker-system/blob/master/templates/dashboard.html): `templates/dashboard.html`
- [Performance Page](https://github.com/prattyush09/assignment-tracker-system/blob/master/templates/performance.html): `templates/performance.html`
- [Browser Behaviors](https://github.com/prattyush09/assignment-tracker-system/blob/master/static/js/script.js): `static/js/script.js`

### Other components

- **Teacher**
- **MySQL Database**
- [Database Schema](https://github.com/prattyush09/assignment-tracker-system/blob/master/database.sql): `database.sql`

## Connections

- Teacher → Flask Application: uses
- Flask Application → Student Management: dispatches
- Flask Application → Subject Management: dispatches
- Flask Application → Assessment Management: dispatches
- Flask Application → Enter Marks: dispatches
- Flask Application → View Marks: dispatches
- Flask Application → Dashboard: dispatches
- Flask Application → Performance Analysis: dispatches
- Student Management → Input Validation: validates
- Assessment Management → Input Validation: validates
- Student Management → MySQL Database: reads/writes
- Subject Management → MySQL Database: reads/writes
- Assessment Management → MySQL Database: reads/writes
- Enter Marks → MySQL Database: reads/writes
- View Marks → MySQL Database: reads
- Dashboard → MySQL Database: queries
- Performance Analysis → MySQL Database: aggregates
- Database Schema → MySQL Database: defines schema
- Student Management → Student Pages: renders
- Subject Management → Subject Pages: renders
- Assessment Management → Assessment Pages: renders
- Enter Marks → Marks Entry Page: renders
- View Marks → Marks Results Page: renders
- Dashboard → Dashboard Page: renders
- Performance Analysis → Performance Page: renders
- Student Pages → Shared Layout: extends
- Subject Pages → Shared Layout: extends
- Assessment Pages → Shared Layout: extends
- Marks Entry Page → Shared Layout: extends
- Marks Results Page → Shared Layout: extends
- Dashboard Page → Shared Layout: extends
- Performance Page → Shared Layout: extends
- Shared Layout → Browser Behaviors: loads
- Teacher → Student Pages: views
- Teacher → Subject Pages: views
- Teacher → Assessment Pages: views
- Teacher → Marks Entry Page: enters marks
- Teacher → Marks Results Page: filters marks
- Teacher → Dashboard Page: views
- Teacher → Performance Page: views
