# greeshmita-23/student-result-management-system architecture

> Architecture diagram of the GitHub repository greeshmita-23/student-result-management-system, 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/greeshmita-23/student-result-management-system
- Repository: https://github.com/greeshmita-23/student-result-management-system

## Overview

This Flask application manages student records, subjects, marks, attendance, and academic results for administrators and students. Both user types enter through web login and use routed views; the application performs calculations and report exports against SQLite-backed models, then renders pages or returns downloads. The README documents dashboards, analytics, ranking, and PDF/Excel exports. Sampled code confirms selected route, query, export, and configuration behavior; unsampled routes are represented only at the documented subsystem level.

Main entry points: [`app.py`](https://github.com/greeshmita-23/student-result-management-system/blob/main/app.py) (Flask routes), [`models.py`](https://github.com/greeshmita-23/student-result-management-system/blob/main/models.py) (Data models), [`config.py`](https://github.com/greeshmita-23/student-result-management-system/blob/main/config.py) (Database config), [`database.db`](https://github.com/greeshmita-23/student-result-management-system/blob/main/database.db) (SQLite database)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_web["Web access"]
  node_flask_app["Flask routes<br/>[app.py]"]
  node_admin_pages["Admin pages"]
  node_student_pages["Student pages"]
end

subgraph group_admin["Administration"]
  node_admin_auth["Admin login<br/>[app.py]"]
  node_admin_dashboard["Admin dashboard<br/>[app.py]"]
  node_student_admin["Student management<br/>[app.py]"]
  node_subject_admin["Subject management<br/>[app.py]"]
end

subgraph group_academics["Academic records"]
  node_marks_admin["Marks management<br/>[app.py]"]
  node_attendance_admin["Attendance management<br/>[app.py]"]
  node_results["Results and grades<br/>[app.py]"]
  node_ranking["Student ranking<br/>[app.py]"]
  node_exports["Report exports<br/>[app.py]"]
end

subgraph group_student["Student services"]
  node_student_auth["Student login<br/>[app.py]"]
  node_student_dashboard["Student dashboard<br/>[app.py]"]
  node_student_results["Student results<br/>[app.py]"]
  node_student_attendance["Attendance view<br/>[app.py]"]
  node_student_profile["Profile and password<br/>[app.py]"]
end

subgraph group_persistence["Persistence and configuration"]
  node_models["Data models<br/>[models.py]"]
  node_config["Database config<br/>[config.py]"]
  node_sqlite[("SQLite database<br/>[database.db]")]
end

node_admin_actor(("Administrator"))
node_student_actor(("Student"))

node_admin_actor -->|"submits credentials"| node_admin_auth
node_student_actor -->|"submits credentials"| node_student_auth
node_admin_auth -->|"redirects on success"| node_admin_dashboard
node_flask_app -->|"renders views"| node_admin_pages
node_flask_app -->|"renders views"| node_student_pages
node_admin_actor -->|"manages records"| node_student_admin
node_admin_actor -->|"manages subjects"| node_subject_admin
node_admin_actor -->|"manages marks"| node_marks_admin
node_admin_actor -->|"manages attendance"| node_attendance_admin
node_admin_actor -->|"views results"| node_results
node_admin_actor -->|"views ranking"| node_ranking
node_admin_actor -->|"downloads reports"| node_exports
node_admin_dashboard -.->|"summarizes records"| node_student_admin
node_admin_dashboard -.->|"summarizes results"| node_results
node_admin_dashboard -.->|"summarizes attendance"| node_attendance_admin
node_student_actor -->|"views dashboard"| node_student_dashboard
node_student_actor -->|"views marks"| node_student_results
node_student_actor -->|"views attendance"| node_student_attendance
node_student_actor -->|"manages profile"| node_student_profile
node_flask_app -->|"queries and updates"| node_models
node_flask_app -->|"loads settings"| node_config
node_config -->|"sets database URI"| node_sqlite
node_models -.->|"maps stored records"| node_sqlite
node_exports -.->|"returns downloads"| node_student_actor

click node_flask_app "https://github.com/greeshmita-23/student-result-management-system/blob/main/app.py"
click node_admin_pages "https://github.com/greeshmita-23/student-result-management-system/tree/main/templates"
click node_student_pages "https://github.com/greeshmita-23/student-result-management-system/tree/main/templates"
click node_admin_auth "https://github.com/greeshmita-23/student-result-management-system/blob/main/app.py"
click node_admin_dashboard "https://github.com/greeshmita-23/student-result-management-system/blob/main/app.py"
click node_student_admin "https://github.com/greeshmita-23/student-result-management-system/blob/main/app.py"
click node_subject_admin "https://github.com/greeshmita-23/student-result-management-system/blob/main/app.py"
click node_marks_admin "https://github.com/greeshmita-23/student-result-management-system/blob/main/app.py"
click node_attendance_admin "https://github.com/greeshmita-23/student-result-management-system/blob/main/app.py"
click node_results "https://github.com/greeshmita-23/student-result-management-system/blob/main/app.py"
click node_ranking "https://github.com/greeshmita-23/student-result-management-system/blob/main/app.py"
click node_exports "https://github.com/greeshmita-23/student-result-management-system/blob/main/app.py"
click node_student_auth "https://github.com/greeshmita-23/student-result-management-system/blob/main/app.py"
click node_student_dashboard "https://github.com/greeshmita-23/student-result-management-system/blob/main/app.py"
click node_student_results "https://github.com/greeshmita-23/student-result-management-system/blob/main/app.py"
click node_student_attendance "https://github.com/greeshmita-23/student-result-management-system/blob/main/app.py"
click node_student_profile "https://github.com/greeshmita-23/student-result-management-system/blob/main/app.py"
click node_models "https://github.com/greeshmita-23/student-result-management-system/blob/main/models.py"
click node_config "https://github.com/greeshmita-23/student-result-management-system/blob/main/config.py"
click node_sqlite "https://github.com/greeshmita-23/student-result-management-system/blob/main/database.db"

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_app,node_admin_pages,node_student_pages toneBlue
class node_admin_auth,node_admin_dashboard,node_student_admin,node_subject_admin toneAmber
class node_marks_admin,node_attendance_admin,node_results,node_ranking,node_exports toneMint
class node_student_auth,node_student_dashboard,node_student_results,node_student_attendance,node_student_profile toneRose
class node_models,node_config,node_sqlite,node_admin_actor,node_student_actor toneIndigo
```

## Components

### Web access

- [Flask routes](https://github.com/greeshmita-23/student-result-management-system/blob/main/app.py): `app.py`
- [Admin pages](https://github.com/greeshmita-23/student-result-management-system/tree/main/templates): `templates`
- [Student pages](https://github.com/greeshmita-23/student-result-management-system/tree/main/templates): `templates`

### Administration

- [Admin login](https://github.com/greeshmita-23/student-result-management-system/blob/main/app.py): `app.py`
- [Admin dashboard](https://github.com/greeshmita-23/student-result-management-system/blob/main/app.py): `app.py`
- [Student management](https://github.com/greeshmita-23/student-result-management-system/blob/main/app.py): `app.py`
- [Subject management](https://github.com/greeshmita-23/student-result-management-system/blob/main/app.py): `app.py`

### Academic records

- [Marks management](https://github.com/greeshmita-23/student-result-management-system/blob/main/app.py): `app.py`
- [Attendance management](https://github.com/greeshmita-23/student-result-management-system/blob/main/app.py): `app.py`
- [Results and grades](https://github.com/greeshmita-23/student-result-management-system/blob/main/app.py): `app.py`
- [Student ranking](https://github.com/greeshmita-23/student-result-management-system/blob/main/app.py): `app.py`
- [Report exports](https://github.com/greeshmita-23/student-result-management-system/blob/main/app.py): `app.py`

### Student services

- [Student login](https://github.com/greeshmita-23/student-result-management-system/blob/main/app.py): `app.py`
- [Student dashboard](https://github.com/greeshmita-23/student-result-management-system/blob/main/app.py): `app.py`
- [Student results](https://github.com/greeshmita-23/student-result-management-system/blob/main/app.py): `app.py`
- [Attendance view](https://github.com/greeshmita-23/student-result-management-system/blob/main/app.py): `app.py`
- [Profile and password](https://github.com/greeshmita-23/student-result-management-system/blob/main/app.py): `app.py`

### Persistence and configuration

- [Data models](https://github.com/greeshmita-23/student-result-management-system/blob/main/models.py): `models.py`
- [Database config](https://github.com/greeshmita-23/student-result-management-system/blob/main/config.py): `config.py`
- [SQLite database](https://github.com/greeshmita-23/student-result-management-system/blob/main/database.db): `database.db`

### Other components

- **Administrator**
- **Student**

## Connections

- Administrator → Admin login: submits credentials (evidence: `README.md`)
- Student → Student login: submits credentials (evidence: `README.md`)
- Admin login → Admin dashboard: redirects on success (evidence: `app.py`)
- Flask routes → Admin pages: renders views (evidence: `app.py`)
- Flask routes → Student pages: renders views (evidence: `app.py`)
- Administrator → Student management: manages records (evidence: `README.md`)
- Administrator → Subject management: manages subjects (evidence: `README.md`)
- Administrator → Marks management: manages marks (evidence: `README.md`)
- Administrator → Attendance management: manages attendance (evidence: `README.md`)
- Administrator → Results and grades: views results (evidence: `README.md`)
- Administrator → Student ranking: views ranking (evidence: `README.md`)
- Administrator → Report exports: downloads reports (evidence: `README.md`)
- Admin dashboard → Student management: summarizes records (evidence: `app.py`)
- Admin dashboard → Results and grades: summarizes results (evidence: `app.py`)
- Admin dashboard → Attendance management: summarizes attendance (evidence: `app.py`)
- Student → Student dashboard: views dashboard (evidence: `README.md`)
- Student → Student results: views marks (evidence: `README.md`)
- Student → Attendance view: views attendance (evidence: `README.md`)
- Student → Profile and password: manages profile (evidence: `README.md`)
- Flask routes → Data models: queries and updates (evidence: `app.py`)
- Flask routes → Database config: loads settings (evidence: `app.py`)
- Database config → SQLite database: sets database URI (evidence: `config.py`)
- Data models → SQLite database: maps stored records
- Report exports → Student: returns downloads
