# badalvishwendra/dbms_project_scholarship_management_system architecture

> Architecture diagram of the GitHub repository badalvishwendra/dbms_project_scholarship_management_system, 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/badalvishwendra/dbms_project_scholarship_management_system
- Repository: https://github.com/badalvishwendra/dbms_project_scholarship_management_system

## Overview

The product is a scholarship administration system with a Vercel single-page client and server-rendered administration pages backed by FastAPI and SQLite. The main workflow is to maintain students and scholarship schemes, submit and review applications, then record payments for approved awards; dashboard and institute reporting provide oversight. The excerpts show representative route and database behavior, but not every handler or template, so some documented capability links rely on the README rather than sampled implementation.

Main entry points: [`backend/database.py`](https://github.com/badalvishwendra/dbms_project_scholarship_management_system/blob/main/backend/database.py) (SQLite access), [`backend/app.py`](https://github.com/badalvishwendra/dbms_project_scholarship_management_system/blob/main/backend/app.py) (FastAPI routes), [`frontend-vercel/app.js`](https://github.com/badalvishwendra/dbms_project_scholarship_management_system/blob/main/frontend-vercel/app.js) (Vercel SPA), [`frontend/templates`](https://github.com/badalvishwendra/dbms_project_scholarship_management_system/tree/main/frontend/templates) (Admin templates)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_clients["User interfaces"]
  node_spa["Vercel SPA<br/>[app.js]"]
  node_serverui["Admin templates"]
end

subgraph group_services["Application services"]
  node_api["FastAPI routes<br/>[app.py]"]
end

subgraph group_domain["Scholarship operations"]
  node_dashboard["Dashboard metrics<br/>[app.py]"]
  node_students["Student directory<br/>[app.py]"]
  node_scholarships["Scholarship catalogue<br/>[app.py]"]
  node_applications["Application workflow<br/>[app.py]"]
  node_disbursements["Disbursement register<br/>[app.py]"]
  node_institutes["Institute reporting<br/>[app.py]"]
end

subgraph group_persistence["Persistence"]
  node_dbhelper["SQLite access<br/>[database.py]"]
  node_schema["Relational schema<br/>[schema.sql]"]
  node_seed["Demo records<br/>[seed.sql]"]
  node_sqlite[("SQLite database")]
end

node_admin(("Administrator"))

node_admin -->|"uses"| node_spa
node_admin -->|"uses"| node_serverui
node_spa -->|"requests data"| node_api
node_serverui -.->|"submits forms"| node_api
node_api -->|"routes to"| node_dashboard
node_api -->|"routes to"| node_students
node_api -->|"routes to"| node_scholarships
node_api -->|"routes to"| node_applications
node_api -->|"routes to"| node_disbursements
node_api -.->|"routes to"| node_institutes
node_dashboard -->|"queries"| node_dbhelper
node_students -->|"queries"| node_dbhelper
node_applications -->|"queries"| node_dbhelper
node_disbursements -->|"queries"| node_dbhelper
node_scholarships -.->|"queries"| node_dbhelper
node_institutes -.->|"queries"| node_dbhelper
node_dbhelper -->|"reads and writes"| node_sqlite
node_dbhelper -->|"loads schema"| node_schema
node_dbhelper -->|"loads when empty"| node_seed

click node_spa "https://github.com/badalvishwendra/dbms_project_scholarship_management_system/blob/main/frontend-vercel/app.js"
click node_serverui "https://github.com/badalvishwendra/dbms_project_scholarship_management_system/tree/main/frontend/templates"
click node_api "https://github.com/badalvishwendra/dbms_project_scholarship_management_system/blob/main/backend/app.py"
click node_dashboard "https://github.com/badalvishwendra/dbms_project_scholarship_management_system/blob/main/backend/app.py"
click node_students "https://github.com/badalvishwendra/dbms_project_scholarship_management_system/blob/main/backend/app.py"
click node_scholarships "https://github.com/badalvishwendra/dbms_project_scholarship_management_system/blob/main/backend/app.py"
click node_applications "https://github.com/badalvishwendra/dbms_project_scholarship_management_system/blob/main/backend/app.py"
click node_disbursements "https://github.com/badalvishwendra/dbms_project_scholarship_management_system/blob/main/backend/app.py"
click node_institutes "https://github.com/badalvishwendra/dbms_project_scholarship_management_system/blob/main/backend/app.py"
click node_dbhelper "https://github.com/badalvishwendra/dbms_project_scholarship_management_system/blob/main/backend/database.py"
click node_schema "https://github.com/badalvishwendra/dbms_project_scholarship_management_system/blob/main/db/schema.sql"
click node_seed "https://github.com/badalvishwendra/dbms_project_scholarship_management_system/blob/main/db/seed.sql"
click node_sqlite "https://github.com/badalvishwendra/dbms_project_scholarship_management_system/tree/main/storage"

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_spa,node_serverui toneBlue
class node_api toneAmber
class node_dashboard,node_students,node_scholarships,node_applications,node_disbursements,node_institutes toneMint
class node_dbhelper,node_schema,node_seed,node_sqlite toneRose
class node_admin toneIndigo
```

## Components

### User interfaces

- [Vercel SPA](https://github.com/badalvishwendra/dbms_project_scholarship_management_system/blob/main/frontend-vercel/app.js): `frontend-vercel/app.js`
- [Admin templates](https://github.com/badalvishwendra/dbms_project_scholarship_management_system/tree/main/frontend/templates): `frontend/templates`

### Application services

- [FastAPI routes](https://github.com/badalvishwendra/dbms_project_scholarship_management_system/blob/main/backend/app.py): `backend/app.py`

### Scholarship operations

- [Dashboard metrics](https://github.com/badalvishwendra/dbms_project_scholarship_management_system/blob/main/backend/app.py): `backend/app.py`
- [Student directory](https://github.com/badalvishwendra/dbms_project_scholarship_management_system/blob/main/backend/app.py): `backend/app.py`
- [Scholarship catalogue](https://github.com/badalvishwendra/dbms_project_scholarship_management_system/blob/main/backend/app.py): `backend/app.py`
- [Application workflow](https://github.com/badalvishwendra/dbms_project_scholarship_management_system/blob/main/backend/app.py): `backend/app.py`
- [Disbursement register](https://github.com/badalvishwendra/dbms_project_scholarship_management_system/blob/main/backend/app.py): `backend/app.py`
- [Institute reporting](https://github.com/badalvishwendra/dbms_project_scholarship_management_system/blob/main/backend/app.py): `backend/app.py`

### Persistence

- [SQLite access](https://github.com/badalvishwendra/dbms_project_scholarship_management_system/blob/main/backend/database.py): `backend/database.py`
- [Relational schema](https://github.com/badalvishwendra/dbms_project_scholarship_management_system/blob/main/db/schema.sql): `db/schema.sql`
- [Demo records](https://github.com/badalvishwendra/dbms_project_scholarship_management_system/blob/main/db/seed.sql): `db/seed.sql`
- [SQLite database](https://github.com/badalvishwendra/dbms_project_scholarship_management_system/tree/main/storage): `storage`

### Other components

- **Administrator**

## Connections

- Administrator → Vercel SPA: uses (evidence: `README.md`)
- Administrator → Admin templates: uses (evidence: `README.md`)
- Vercel SPA → FastAPI routes: requests data (evidence: `frontend-vercel/app.js`)
- Admin templates → FastAPI routes: submits forms (evidence: `README.md`)
- FastAPI routes → Dashboard metrics: routes to (evidence: `backend/app.py`)
- FastAPI routes → Student directory: routes to (evidence: `backend/app.py`)
- FastAPI routes → Scholarship catalogue: routes to (evidence: `backend/app.py`)
- FastAPI routes → Application workflow: routes to (evidence: `backend/app.py`)
- FastAPI routes → Disbursement register: routes to (evidence: `backend/app.py`)
- FastAPI routes → Institute reporting: routes to (evidence: `README.md`)
- Dashboard metrics → SQLite access: queries (evidence: `backend/app.py`)
- Student directory → SQLite access: queries (evidence: `backend/app.py`)
- Application workflow → SQLite access: queries (evidence: `backend/app.py`)
- Disbursement register → SQLite access: queries (evidence: `backend/app.py`)
- Scholarship catalogue → SQLite access: queries (evidence: `backend/app.py`)
- Institute reporting → SQLite access: queries (evidence: `backend/app.py`)
- SQLite access → SQLite database: reads and writes (evidence: `backend/database.py`)
- SQLite access → Relational schema: loads schema (evidence: `backend/database.py`)
- SQLite access → Demo records: loads when empty (evidence: `backend/database.py`)
