# 06082006/academic-verification-dapp architecture

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

- Interactive diagram: https://gitdiagram.com/06082006/academic-verification-dapp
- Repository: https://github.com/06082006/academic-verification-dapp

## Overview

Provenance provides two documented ways to issue and verify academic certificates: a standalone browser demo and a Solidity contract. In both, certificate details are hashed and verification checks for an issued record; the contract’s issuance is admin-restricted and its records are stored on-chain. The README describes the frontend as mirroring the contract, not as connected to it. Source excerpts were unavailable, so frontend internals and contract-to-blockchain mechanics are shown only at the documented level.

Main entry points: [`index.html`](https://github.com/06082006/academic-verification-dapp/blob/main/index.html) (Browser demo), [`AcademicVerification.sol`](https://github.com/06082006/academic-verification-dapp/blob/main/AcademicVerification.sol) (Issue certificate)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_browser["Browser demo"]
  node_browser_demo["Browser demo<br/>[index.html]"]
  node_browser_hash["Browser hashing<br/>[index.html]"]
  node_browser_issue["Demo issuance<br/>[index.html]"]
  node_browser_verify["Demo verification<br/>[index.html]"]
  node_demo_records[("Demo records<br/>[index.html]")]
end

subgraph group_contract["Smart contract"]
  node_contract["Certificate contract"]
  node_generate_hash["Hash generation"]
  node_issue_certificate["Issue certificate"]
  node_verify_certificate["Verify certificate"]
end

node_college(("College admin"))
node_verifier(("Certificate verifier"))
node_chain_ledger[("On-chain records")]

node_verifier -->|"uses"| node_browser_demo
node_college -->|"uses"| node_browser_demo
node_browser_demo -->|"hashes details"| node_browser_hash
node_browser_demo -->|"issues"| node_browser_issue
node_browser_demo -->|"verifies"| node_browser_verify
node_browser_issue -->|"writes record"| node_demo_records
node_browser_verify -->|"checks record"| node_demo_records
node_college -->|"issues as admin"| node_issue_certificate
node_issue_certificate -->|"stores record"| node_chain_ledger
node_verifier -->|"requests verification"| node_verify_certificate
node_verify_certificate -->|"checks record"| node_chain_ledger
node_generate_hash -->|"hash helper"| node_issue_certificate

click node_browser_demo "https://github.com/06082006/academic-verification-dapp/blob/main/index.html"
click node_browser_hash "https://github.com/06082006/academic-verification-dapp/blob/main/index.html"
click node_browser_issue "https://github.com/06082006/academic-verification-dapp/blob/main/index.html"
click node_browser_verify "https://github.com/06082006/academic-verification-dapp/blob/main/index.html"
click node_demo_records "https://github.com/06082006/academic-verification-dapp/blob/main/index.html"
click node_contract "https://github.com/06082006/academic-verification-dapp/blob/main/AcademicVerification.sol"
click node_generate_hash "https://github.com/06082006/academic-verification-dapp/blob/main/AcademicVerification.sol"
click node_issue_certificate "https://github.com/06082006/academic-verification-dapp/blob/main/AcademicVerification.sol"
click node_verify_certificate "https://github.com/06082006/academic-verification-dapp/blob/main/AcademicVerification.sol"

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_browser_demo,node_browser_hash,node_browser_issue,node_browser_verify,node_demo_records toneBlue
class node_contract,node_generate_hash,node_issue_certificate,node_verify_certificate,node_chain_ledger toneAmber
class node_college,node_verifier toneIndigo
```

## Components

### Browser demo

- [Browser demo](https://github.com/06082006/academic-verification-dapp/blob/main/index.html): `index.html`
- [Browser hashing](https://github.com/06082006/academic-verification-dapp/blob/main/index.html): `index.html`
- [Demo issuance](https://github.com/06082006/academic-verification-dapp/blob/main/index.html): `index.html`
- [Demo verification](https://github.com/06082006/academic-verification-dapp/blob/main/index.html): `index.html`
- [Demo records](https://github.com/06082006/academic-verification-dapp/blob/main/index.html): `index.html`

### Smart contract

- [Certificate contract](https://github.com/06082006/academic-verification-dapp/blob/main/AcademicVerification.sol): `AcademicVerification.sol`
- [Hash generation](https://github.com/06082006/academic-verification-dapp/blob/main/AcademicVerification.sol): `AcademicVerification.sol`
- [Issue certificate](https://github.com/06082006/academic-verification-dapp/blob/main/AcademicVerification.sol): `AcademicVerification.sol`
- [Verify certificate](https://github.com/06082006/academic-verification-dapp/blob/main/AcademicVerification.sol): `AcademicVerification.sol`

### Other components

- **College admin**
- **Certificate verifier**
- **On-chain records**

## Connections

- Certificate verifier → Browser demo: uses
- College admin → Browser demo: uses
- Browser demo → Browser hashing: hashes details
- Browser demo → Demo issuance: issues
- Browser demo → Demo verification: verifies
- Demo issuance → Demo records: writes record
- Demo verification → Demo records: checks record
- College admin → Issue certificate: issues as admin
- Issue certificate → On-chain records: stores record
- Certificate verifier → Verify certificate: requests verification
- Verify certificate → On-chain records: checks record
- Hash generation → Issue certificate: hash helper
