# lalithkumar2006/national-digital-platform-for-research-policy-innovation-and-evidence-based-land-governance architecture

> Architecture diagram of the GitHub repository lalithkumar2006/national-digital-platform-for-research-policy-innovation-and-evidence-based-land-governance, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-13). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/lalithkumar2006/national-digital-platform-for-research-policy-innovation-and-evidence-based-land-governance
- Repository: https://github.com/lalithkumar2006/national-digital-platform-for-research-policy-innovation-and-evidence-based-land-governance

## Overview

This is a national land-governance platform: role-based users enter a portal, authenticate, and use land, climate, district and GIS data, policy simulation, and security features. The React frontend communicates with a FastAPI backend; the backend excerpt shows SQLite-backed records, role-protected routes, document access checks, and audit recording. The map components render spatial features and expose selection/insight views. Some frontend-to-endpoint usage and backend subsystems are documented only at a broad level, so the graph avoids guessing individual calls beyond the evidence shown.

Main entry points: [`National_Land_Governance_Backend/app/main.py`](https://github.com/lalithkumar2006/national-digital-platform-for-research-policy-innovation-and-evidence-based-land-governance/blob/main/National_Land_Governance_Backend/app/main.py) (FastAPI routes), [`National_Land_Governance_Frontend/src/App.jsx`](https://github.com/lalithkumar2006/national-digital-platform-for-research-policy-innovation-and-evidence-based-land-governance/blob/main/National_Land_Governance_Frontend/src/App.jsx) (Role portals), [`National_Land_Governance_Frontend/src/services/api.js`](https://github.com/lalithkumar2006/national-digital-platform-for-research-policy-innovation-and-evidence-based-land-governance/blob/main/National_Land_Governance_Frontend/src/services/api.js) (API client), [`National_Land_Governance_Frontend/src/context/AuthContext.jsx`](https://github.com/lalithkumar2006/national-digital-platform-for-research-policy-innovation-and-evidence-based-land-governance/blob/main/National_Land_Governance_Frontend/src/context/AuthContext.jsx) (Session context)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_frontend["User portal"]
  node_portal["Role portals<br/>[App.jsx]"]
  node_session["Session context<br/>[AuthContext.jsx]"]
  node_api["API client<br/>[api.js]"]
  node_map_ui["GIS interface<br/>[MapSystem.jsx]"]
  node_map_render["Spatial renderer<br/>[GISMap.jsx]"]
end

subgraph group_backend["Governance services"]
  node_backend_api["FastAPI routes<br/>[main.py]"]
  node_accounts["Accounts and roles<br/>[main.py]"]
  node_land_data["Land and GIS data<br/>[main.py]"]
  node_policy["Policy simulation<br/>[main.py]"]
end

subgraph group_security["Security and audit"]
  node_documents["Document access policy"]
  node_audit_events["Audit event helpers<br/>[security_audit.py]"]
  node_ledger["Hash-chain ledger<br/>[blockchain.py]"]
end

subgraph group_state["Persistent state"]
  node_sqlite[("Governance database<br/>[land_governance.db]")]
  node_ledger_file["Ledger file<br/>[blockchain.json]"]
end

node_user(("Portal user"))

node_user -->|"uses"| node_portal
node_portal -.->|"reads session"| node_session
node_session -->|"calls auth"| node_api
node_portal -.->|"requests data"| node_api
node_portal -->|"presents maps"| node_map_ui
node_map_ui -->|"renders map"| node_map_render
node_api -->|"HTTP requests"| node_backend_api
node_backend_api -->|"routes auth"| node_accounts
node_backend_api -->|"serves spatial data"| node_land_data
node_backend_api -->|"runs simulation"| node_policy
node_backend_api -->|"checks access"| node_documents
node_backend_api -->|"records events"| node_audit_events
node_audit_events -->|"appends blocks"| node_ledger
node_backend_api -->|"reads and writes"| node_sqlite
node_ledger -->|"loads and saves"| node_ledger_file

click node_portal "https://github.com/lalithkumar2006/national-digital-platform-for-research-policy-innovation-and-evidence-based-land-governance/blob/main/National_Land_Governance_Frontend/src/App.jsx"
click node_session "https://github.com/lalithkumar2006/national-digital-platform-for-research-policy-innovation-and-evidence-based-land-governance/blob/main/National_Land_Governance_Frontend/src/context/AuthContext.jsx"
click node_api "https://github.com/lalithkumar2006/national-digital-platform-for-research-policy-innovation-and-evidence-based-land-governance/blob/main/National_Land_Governance_Frontend/src/services/api.js"
click node_map_ui "https://github.com/lalithkumar2006/national-digital-platform-for-research-policy-innovation-and-evidence-based-land-governance/blob/main/National_Land_Governance_Frontend/src/components/MapSystem.jsx"
click node_map_render "https://github.com/lalithkumar2006/national-digital-platform-for-research-policy-innovation-and-evidence-based-land-governance/blob/main/National_Land_Governance_Frontend/src/components/GISMap.jsx"
click node_backend_api "https://github.com/lalithkumar2006/national-digital-platform-for-research-policy-innovation-and-evidence-based-land-governance/blob/main/National_Land_Governance_Backend/app/main.py"
click node_accounts "https://github.com/lalithkumar2006/national-digital-platform-for-research-policy-innovation-and-evidence-based-land-governance/blob/main/National_Land_Governance_Backend/app/main.py"
click node_land_data "https://github.com/lalithkumar2006/national-digital-platform-for-research-policy-innovation-and-evidence-based-land-governance/blob/main/National_Land_Governance_Backend/app/main.py"
click node_policy "https://github.com/lalithkumar2006/national-digital-platform-for-research-policy-innovation-and-evidence-based-land-governance/blob/main/National_Land_Governance_Backend/app/main.py"
click node_documents "https://github.com/lalithkumar2006/national-digital-platform-for-research-policy-innovation-and-evidence-based-land-governance/blob/main/National_Land_Governance_Backend/app/document_security.py"
click node_audit_events "https://github.com/lalithkumar2006/national-digital-platform-for-research-policy-innovation-and-evidence-based-land-governance/blob/main/National_Land_Governance_Backend/app/security_audit.py"
click node_ledger "https://github.com/lalithkumar2006/national-digital-platform-for-research-policy-innovation-and-evidence-based-land-governance/blob/main/National_Land_Governance_Backend/app/blockchain.py"
click node_sqlite "https://github.com/lalithkumar2006/national-digital-platform-for-research-policy-innovation-and-evidence-based-land-governance/blob/main/National_Land_Governance_Backend/data/land_governance.db"
click node_ledger_file "https://github.com/lalithkumar2006/national-digital-platform-for-research-policy-innovation-and-evidence-based-land-governance/blob/main/National_Land_Governance_Backend/blockchain_data/blockchain.json"

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_portal,node_session,node_api,node_map_ui,node_map_render,node_user toneBlue
class node_backend_api,node_accounts,node_land_data,node_policy toneAmber
class node_documents,node_audit_events,node_ledger toneMint
class node_sqlite,node_ledger_file toneRose
```

## Components

### User portal

- [Role portals](https://github.com/lalithkumar2006/national-digital-platform-for-research-policy-innovation-and-evidence-based-land-governance/blob/main/National_Land_Governance_Frontend/src/App.jsx): `National_Land_Governance_Frontend/src/App.jsx`
- [Session context](https://github.com/lalithkumar2006/national-digital-platform-for-research-policy-innovation-and-evidence-based-land-governance/blob/main/National_Land_Governance_Frontend/src/context/AuthContext.jsx): `National_Land_Governance_Frontend/src/context/AuthContext.jsx`
- [API client](https://github.com/lalithkumar2006/national-digital-platform-for-research-policy-innovation-and-evidence-based-land-governance/blob/main/National_Land_Governance_Frontend/src/services/api.js): `National_Land_Governance_Frontend/src/services/api.js`
- [GIS interface](https://github.com/lalithkumar2006/national-digital-platform-for-research-policy-innovation-and-evidence-based-land-governance/blob/main/National_Land_Governance_Frontend/src/components/MapSystem.jsx): `National_Land_Governance_Frontend/src/components/MapSystem.jsx`
- [Spatial renderer](https://github.com/lalithkumar2006/national-digital-platform-for-research-policy-innovation-and-evidence-based-land-governance/blob/main/National_Land_Governance_Frontend/src/components/GISMap.jsx): `National_Land_Governance_Frontend/src/components/GISMap.jsx`

### Governance services

- [FastAPI routes](https://github.com/lalithkumar2006/national-digital-platform-for-research-policy-innovation-and-evidence-based-land-governance/blob/main/National_Land_Governance_Backend/app/main.py): `National_Land_Governance_Backend/app/main.py`
- [Accounts and roles](https://github.com/lalithkumar2006/national-digital-platform-for-research-policy-innovation-and-evidence-based-land-governance/blob/main/National_Land_Governance_Backend/app/main.py): `National_Land_Governance_Backend/app/main.py`
- [Land and GIS data](https://github.com/lalithkumar2006/national-digital-platform-for-research-policy-innovation-and-evidence-based-land-governance/blob/main/National_Land_Governance_Backend/app/main.py): `National_Land_Governance_Backend/app/main.py`
- [Policy simulation](https://github.com/lalithkumar2006/national-digital-platform-for-research-policy-innovation-and-evidence-based-land-governance/blob/main/National_Land_Governance_Backend/app/main.py): `National_Land_Governance_Backend/app/main.py`

### Security and audit

- [Document access policy](https://github.com/lalithkumar2006/national-digital-platform-for-research-policy-innovation-and-evidence-based-land-governance/blob/main/National_Land_Governance_Backend/app/document_security.py): `National_Land_Governance_Backend/app/document_security.py`
- [Audit event helpers](https://github.com/lalithkumar2006/national-digital-platform-for-research-policy-innovation-and-evidence-based-land-governance/blob/main/National_Land_Governance_Backend/app/security_audit.py): `National_Land_Governance_Backend/app/security_audit.py`
- [Hash-chain ledger](https://github.com/lalithkumar2006/national-digital-platform-for-research-policy-innovation-and-evidence-based-land-governance/blob/main/National_Land_Governance_Backend/app/blockchain.py): `National_Land_Governance_Backend/app/blockchain.py`

### Persistent state

- [Governance database](https://github.com/lalithkumar2006/national-digital-platform-for-research-policy-innovation-and-evidence-based-land-governance/blob/main/National_Land_Governance_Backend/data/land_governance.db): `National_Land_Governance_Backend/data/land_governance.db`
- [Ledger file](https://github.com/lalithkumar2006/national-digital-platform-for-research-policy-innovation-and-evidence-based-land-governance/blob/main/National_Land_Governance_Backend/blockchain_data/blockchain.json): `National_Land_Governance_Backend/blockchain_data/blockchain.json`

### Other components

- **Portal user**

## Connections

- Portal user → Role portals: uses (evidence: `National_Land_Governance_Frontend/src/App.jsx`)
- Role portals → Session context: reads session (evidence: `National_Land_Governance_Frontend/src/App.jsx`)
- Session context → API client: calls auth (evidence: `National_Land_Governance_Frontend/src/context/AuthContext.jsx`)
- Role portals → API client: requests data (evidence: `National_Land_Governance_Frontend/src/App.jsx`)
- Role portals → GIS interface: presents maps (evidence: `National_Land_Governance_Frontend/src/App.jsx`)
- GIS interface → Spatial renderer: renders map (evidence: `National_Land_Governance_Frontend/src/components/MapSystem.jsx`)
- API client → FastAPI routes: HTTP requests (evidence: `National_Land_Governance_Frontend/src/services/api.js`)
- FastAPI routes → Accounts and roles: routes auth (evidence: `National_Land_Governance_Backend/app/main.py`)
- FastAPI routes → Land and GIS data: serves spatial data (evidence: `National_Land_Governance_Backend/app/main.py`)
- FastAPI routes → Policy simulation: runs simulation (evidence: `National_Land_Governance_Backend/app/main.py`)
- FastAPI routes → Document access policy: checks access (evidence: `National_Land_Governance_Backend/app/main.py`)
- FastAPI routes → Audit event helpers: records events (evidence: `National_Land_Governance_Backend/app/main.py`)
- Audit event helpers → Hash-chain ledger: appends blocks (evidence: `National_Land_Governance_Backend/app/security_audit.py`)
- FastAPI routes → Governance database: reads and writes (evidence: `National_Land_Governance_Backend/app/main.py`)
- Hash-chain ledger → Ledger file: loads and saves (evidence: `National_Land_Governance_Backend/app/blockchain.py`)
