# karthikchejarla/blockchainbasededucationcertificatemanagementsystem architecture

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

- Interactive diagram: https://gitdiagram.com/karthikchejarla/blockchainbasededucationcertificatemanagementsystem
- Repository: https://github.com/karthikchejarla/blockchainbasededucationcertificatemanagementsystem

## Overview

This is a Flask certificate-management and verification application. Institutions issue certificates for approved students; students view their certificates, and verifiers check submitted certificates and review verification activity. Admins manage users and dashboards. The sampled routes show MySQL-backed operations and certificate PDF storage; blockchain.py separately reads certificate data and records hash-linked blocks. The excerpts do not establish that app3.py invokes that module, so no connection between them is shown. Template and audio details are limited to the available tree and excerpts.

Main entry points: [`app3.py`](https://github.com/karthikchejarla/blockchainbasededucationcertificatemanagementsystem/blob/main/app3.py) (Flask routes), [`Database`](https://github.com/karthikchejarla/blockchainbasededucationcertificatemanagementsystem/tree/main/Database) (MySQL records), [`blockchain.py`](https://github.com/karthikchejarla/blockchainbasededucationcertificatemanagementsystem/blob/main/blockchain.py) (Hash-chain ledger), [`templates`](https://github.com/karthikchejarla/blockchainbasededucationcertificatemanagementsystem/tree/main/templates) (HTML templates)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_web["Web workflows"]
  node_app["Flask routes<br/>[app3.py]"]
  node_accounts["Accounts and roles<br/>[app3.py]"]
  node_admin["Admin dashboard<br/>[app3.py]"]
  node_institution["Institution dashboard<br/>[app3.py]"]
  node_issue["Certificate issuance<br/>[app3.py]"]
  node_student["Student dashboard<br/>[app3.py]"]
  node_verify["Certificate verification<br/>[app3.py]"]
  node_verifier["Verifier dashboard<br/>[app3.py]"]
  node_download["PDF download<br/>[app3.py]"]
end

subgraph group_records["Records and integrity"]
  node_mysql[("MySQL records")]
  node_chain["Hash-chain ledger<br/>[blockchain.py]"]
end

subgraph group_presentation["Presentation assets"]
  node_templates["HTML templates"]
  node_songs["Audio assets"]
end

node_user(("Application user"))

node_user -->|"uses"| node_app
node_app -->|"dispatches"| node_accounts
node_app -->|"dispatches"| node_admin
node_app -->|"dispatches"| node_institution
node_app -->|"dispatches"| node_issue
node_app -->|"dispatches"| node_student
node_app -->|"dispatches"| node_verify
node_app -->|"dispatches"| node_verifier
node_app -->|"dispatches"| node_download
node_accounts -->|"reads/writes"| node_mysql
node_admin -->|"reads/writes"| node_mysql
node_institution -->|"reads"| node_mysql
node_issue -->|"writes"| node_mysql
node_student -->|"reads"| node_mysql
node_verify -->|"reads/writes"| node_mysql
node_verifier -->|"reads"| node_mysql
node_download -->|"reads"| node_mysql
node_chain -->|"reads/writes"| node_mysql
node_app -->|"renders"| node_templates

click node_app "https://github.com/karthikchejarla/blockchainbasededucationcertificatemanagementsystem/blob/main/app3.py"
click node_accounts "https://github.com/karthikchejarla/blockchainbasededucationcertificatemanagementsystem/blob/main/app3.py"
click node_admin "https://github.com/karthikchejarla/blockchainbasededucationcertificatemanagementsystem/blob/main/app3.py"
click node_institution "https://github.com/karthikchejarla/blockchainbasededucationcertificatemanagementsystem/blob/main/app3.py"
click node_issue "https://github.com/karthikchejarla/blockchainbasededucationcertificatemanagementsystem/blob/main/app3.py"
click node_student "https://github.com/karthikchejarla/blockchainbasededucationcertificatemanagementsystem/blob/main/app3.py"
click node_verify "https://github.com/karthikchejarla/blockchainbasededucationcertificatemanagementsystem/blob/main/app3.py"
click node_verifier "https://github.com/karthikchejarla/blockchainbasededucationcertificatemanagementsystem/blob/main/app3.py"
click node_download "https://github.com/karthikchejarla/blockchainbasededucationcertificatemanagementsystem/blob/main/app3.py"
click node_templates "https://github.com/karthikchejarla/blockchainbasededucationcertificatemanagementsystem/tree/main/templates"
click node_songs "https://github.com/karthikchejarla/blockchainbasededucationcertificatemanagementsystem/tree/main/static/songs"
click node_mysql "https://github.com/karthikchejarla/blockchainbasededucationcertificatemanagementsystem/tree/main/Database"
click node_chain "https://github.com/karthikchejarla/blockchainbasededucationcertificatemanagementsystem/blob/main/blockchain.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_app,node_accounts,node_admin,node_institution,node_issue,node_student,node_verify,node_verifier,node_download,node_user toneBlue
class node_mysql,node_chain toneAmber
class node_templates,node_songs toneMint
```

## Components

### Web workflows

- [Flask routes](https://github.com/karthikchejarla/blockchainbasededucationcertificatemanagementsystem/blob/main/app3.py): `app3.py`
- [Accounts and roles](https://github.com/karthikchejarla/blockchainbasededucationcertificatemanagementsystem/blob/main/app3.py): `app3.py`
- [Admin dashboard](https://github.com/karthikchejarla/blockchainbasededucationcertificatemanagementsystem/blob/main/app3.py): `app3.py`
- [Institution dashboard](https://github.com/karthikchejarla/blockchainbasededucationcertificatemanagementsystem/blob/main/app3.py): `app3.py`
- [Certificate issuance](https://github.com/karthikchejarla/blockchainbasededucationcertificatemanagementsystem/blob/main/app3.py): `app3.py`
- [Student dashboard](https://github.com/karthikchejarla/blockchainbasededucationcertificatemanagementsystem/blob/main/app3.py): `app3.py`
- [Certificate verification](https://github.com/karthikchejarla/blockchainbasededucationcertificatemanagementsystem/blob/main/app3.py): `app3.py`
- [Verifier dashboard](https://github.com/karthikchejarla/blockchainbasededucationcertificatemanagementsystem/blob/main/app3.py): `app3.py`
- [PDF download](https://github.com/karthikchejarla/blockchainbasededucationcertificatemanagementsystem/blob/main/app3.py): `app3.py`

### Records and integrity

- [MySQL records](https://github.com/karthikchejarla/blockchainbasededucationcertificatemanagementsystem/tree/main/Database): `Database`
- [Hash-chain ledger](https://github.com/karthikchejarla/blockchainbasededucationcertificatemanagementsystem/blob/main/blockchain.py): `blockchain.py`

### Presentation assets

- [HTML templates](https://github.com/karthikchejarla/blockchainbasededucationcertificatemanagementsystem/tree/main/templates): `templates`
- [Audio assets](https://github.com/karthikchejarla/blockchainbasededucationcertificatemanagementsystem/tree/main/static/songs): `static/songs`

### Other components

- **Application user**

## Connections

- Application user → Flask routes: uses
- Flask routes → Accounts and roles: dispatches
- Flask routes → Admin dashboard: dispatches
- Flask routes → Institution dashboard: dispatches
- Flask routes → Certificate issuance: dispatches
- Flask routes → Student dashboard: dispatches
- Flask routes → Certificate verification: dispatches
- Flask routes → Verifier dashboard: dispatches
- Flask routes → PDF download: dispatches
- Accounts and roles → MySQL records: reads/writes
- Admin dashboard → MySQL records: reads/writes
- Institution dashboard → MySQL records: reads
- Certificate issuance → MySQL records: writes
- Student dashboard → MySQL records: reads
- Certificate verification → MySQL records: reads/writes
- Verifier dashboard → MySQL records: reads
- PDF download → MySQL records: reads
- Hash-chain ledger → MySQL records: reads/writes
- Flask routes → HTML templates: renders
