# lisasilva/student_performance_tracker_spt_cce_project architecture

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

- Interactive diagram: https://gitdiagram.com/lisasilva/student_performance_tracker_spt_cce_project
- Repository: https://github.com/lisasilva/student_performance_tracker_spt_cce_project

## Overview

Student Performance Tracker is a Tkinter desktop app for professors. Its main workflow is account sign-in, class and subject setup, student enrollment, marks entry or CSV import, and performance reporting with charts. The README documents the broader capabilities; the sampled source shows SQLite queries and updates, report plotting, and CSV handling in one monolithic Python file. Components therefore share that implementation path. The class-specific database node represents the documented per-class stores; unsampled wiring is not inferred.

Main entry points: [`cms-main(1.2).py`](https://github.com/lisasilva/student_performance_tracker_spt_cce_project/blob/master/cms-main(1.2).py) (Desktop Application), [`CCE A.db`](https://github.com/lisasilva/student_performance_tracker_spt_cce_project/blob/master/CCE%20A.db) (Class Records Store), [`main.db`](https://github.com/lisasilva/student_performance_tracker_spt_cce_project/blob/master/main.db) (Account and Class Store)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_accounts["Accounts and Classes"]
  node_desktop["Desktop Application<br/>[cms-main&#40;1.2&#41;.py]"]
  node_authentication["Account Sign-in<br/>[cms-main&#40;1.2&#41;.py]"]
  node_class_setup["Class Setup<br/>[cms-main&#40;1.2&#41;.py]"]
  node_main_store[("Account and Class Store<br/>[main.db]")]
end

subgraph group_records["Student Records"]
  node_class_store[("Class Records Store<br/>[CCE A.db]")]
  node_student_management["Student Management<br/>[cms-main&#40;1.2&#41;.py]"]
end

subgraph group_marks["Marks Management"]
  node_marks_entry["Marks Entry<br/>[cms-main&#40;1.2&#41;.py]"]
  node_csv_import["CSV Marks Import<br/>[cms-main&#40;1.2&#41;.py]"]
  node_csv_template["CSV Template Export<br/>[cms-main&#40;1.2&#41;.py]"]
  node_subject_marks["Subject Marks View<br/>[cms-main&#40;1.2&#41;.py]"]
end

subgraph group_reports["Reports and Utilities"]
  node_student_report["Student Reports<br/>[cms-main&#40;1.2&#41;.py]"]
  node_class_report["Class Reports<br/>[cms-main&#40;1.2&#41;.py]"]
  node_charts["Performance Charts<br/>[cms-main&#40;1.2&#41;.py]"]
  node_calculator["Percentage Calculator<br/>[cms-main&#40;1.2&#41;.py]"]
end

node_professor(("Professor"))

node_professor -->|"uses"| node_desktop
node_desktop -->|"opens"| node_authentication
node_authentication -->|"checks accounts"| node_main_store
node_desktop -->|"opens"| node_class_setup
node_class_setup -->|"stores classes"| node_main_store
node_desktop -->|"opens"| node_student_management
node_student_management -->|"writes students"| node_class_store
node_desktop -->|"opens"| node_marks_entry
node_marks_entry -->|"updates marks"| node_class_store
node_desktop -->|"opens"| node_csv_import
node_csv_import -->|"imports marks"| node_class_store
node_desktop -->|"opens"| node_csv_template
node_desktop -->|"opens"| node_subject_marks
node_subject_marks -->|"reads marks"| node_class_store
node_desktop -->|"opens"| node_student_report
node_student_report -->|"reads results"| node_class_store
node_desktop -->|"opens"| node_class_report
node_class_report -->|"reads results"| node_class_store
node_desktop -->|"opens"| node_charts
node_desktop -->|"opens"| node_calculator

click node_desktop "https://github.com/lisasilva/student_performance_tracker_spt_cce_project/blob/master/cms-main(1.2).py"
click node_authentication "https://github.com/lisasilva/student_performance_tracker_spt_cce_project/blob/master/cms-main(1.2).py"
click node_class_setup "https://github.com/lisasilva/student_performance_tracker_spt_cce_project/blob/master/cms-main(1.2).py"
click node_main_store "https://github.com/lisasilva/student_performance_tracker_spt_cce_project/blob/master/main.db"
click node_class_store "https://github.com/lisasilva/student_performance_tracker_spt_cce_project/blob/master/CCE%20A.db"
click node_student_management "https://github.com/lisasilva/student_performance_tracker_spt_cce_project/blob/master/cms-main(1.2).py"
click node_marks_entry "https://github.com/lisasilva/student_performance_tracker_spt_cce_project/blob/master/cms-main(1.2).py"
click node_csv_import "https://github.com/lisasilva/student_performance_tracker_spt_cce_project/blob/master/cms-main(1.2).py"
click node_csv_template "https://github.com/lisasilva/student_performance_tracker_spt_cce_project/blob/master/cms-main(1.2).py"
click node_subject_marks "https://github.com/lisasilva/student_performance_tracker_spt_cce_project/blob/master/cms-main(1.2).py"
click node_student_report "https://github.com/lisasilva/student_performance_tracker_spt_cce_project/blob/master/cms-main(1.2).py"
click node_class_report "https://github.com/lisasilva/student_performance_tracker_spt_cce_project/blob/master/cms-main(1.2).py"
click node_charts "https://github.com/lisasilva/student_performance_tracker_spt_cce_project/blob/master/cms-main(1.2).py"
click node_calculator "https://github.com/lisasilva/student_performance_tracker_spt_cce_project/blob/master/cms-main(1.2).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_desktop,node_authentication,node_class_setup,node_main_store toneBlue
class node_class_store,node_student_management toneAmber
class node_marks_entry,node_csv_import,node_csv_template,node_subject_marks toneMint
class node_student_report,node_class_report,node_charts,node_calculator toneRose
class node_professor toneIndigo
```

## Components

### Accounts and Classes

- [Desktop Application](https://github.com/lisasilva/student_performance_tracker_spt_cce_project/blob/master/cms-main(1.2).py): `cms-main(1.2).py`
- [Account Sign-in](https://github.com/lisasilva/student_performance_tracker_spt_cce_project/blob/master/cms-main(1.2).py): `cms-main(1.2).py`
- [Class Setup](https://github.com/lisasilva/student_performance_tracker_spt_cce_project/blob/master/cms-main(1.2).py): `cms-main(1.2).py`
- [Account and Class Store](https://github.com/lisasilva/student_performance_tracker_spt_cce_project/blob/master/main.db): `main.db`

### Student Records

- [Class Records Store](https://github.com/lisasilva/student_performance_tracker_spt_cce_project/blob/master/CCE%20A.db): `CCE A.db`
- [Student Management](https://github.com/lisasilva/student_performance_tracker_spt_cce_project/blob/master/cms-main(1.2).py): `cms-main(1.2).py`

### Marks Management

- [Marks Entry](https://github.com/lisasilva/student_performance_tracker_spt_cce_project/blob/master/cms-main(1.2).py): `cms-main(1.2).py`
- [CSV Marks Import](https://github.com/lisasilva/student_performance_tracker_spt_cce_project/blob/master/cms-main(1.2).py): `cms-main(1.2).py`
- [CSV Template Export](https://github.com/lisasilva/student_performance_tracker_spt_cce_project/blob/master/cms-main(1.2).py): `cms-main(1.2).py`
- [Subject Marks View](https://github.com/lisasilva/student_performance_tracker_spt_cce_project/blob/master/cms-main(1.2).py): `cms-main(1.2).py`

### Reports and Utilities

- [Student Reports](https://github.com/lisasilva/student_performance_tracker_spt_cce_project/blob/master/cms-main(1.2).py): `cms-main(1.2).py`
- [Class Reports](https://github.com/lisasilva/student_performance_tracker_spt_cce_project/blob/master/cms-main(1.2).py): `cms-main(1.2).py`
- [Performance Charts](https://github.com/lisasilva/student_performance_tracker_spt_cce_project/blob/master/cms-main(1.2).py): `cms-main(1.2).py`
- [Percentage Calculator](https://github.com/lisasilva/student_performance_tracker_spt_cce_project/blob/master/cms-main(1.2).py): `cms-main(1.2).py`

### Other components

- **Professor**

## Connections

- Professor → Desktop Application: uses (evidence: `README.md`)
- Desktop Application → Account Sign-in: opens (evidence: `cms-main(1.2).py`)
- Account Sign-in → Account and Class Store: checks accounts (evidence: `cms-main(1.2).py`)
- Desktop Application → Class Setup: opens (evidence: `README.md`)
- Class Setup → Account and Class Store: stores classes (evidence: `README.md`)
- Desktop Application → Student Management: opens (evidence: `README.md`)
- Student Management → Class Records Store: writes students (evidence: `cms-main(1.2).py`)
- Desktop Application → Marks Entry: opens (evidence: `README.md`)
- Marks Entry → Class Records Store: updates marks (evidence: `cms-main(1.2).py`)
- Desktop Application → CSV Marks Import: opens (evidence: `README.md`)
- CSV Marks Import → Class Records Store: imports marks (evidence: `README.md`)
- Desktop Application → CSV Template Export: opens (evidence: `README.md`)
- Desktop Application → Subject Marks View: opens (evidence: `cms-main(1.2).py`)
- Subject Marks View → Class Records Store: reads marks (evidence: `cms-main(1.2).py`)
- Desktop Application → Student Reports: opens (evidence: `README.md`)
- Student Reports → Class Records Store: reads results (evidence: `README.md`)
- Desktop Application → Class Reports: opens (evidence: `README.md`)
- Class Reports → Class Records Store: reads results (evidence: `cms-main(1.2).py`)
- Desktop Application → Performance Charts: opens (evidence: `README.md`)
- Desktop Application → Percentage Calculator: opens (evidence: `README.md`)
