feat: Goa GEL Blockchain e-Licensing Platform - Full Stack Implementation

Complete implementation of the Goa Government e-Licensing platform with:

Backend:
- NestJS API with JWT authentication
- PostgreSQL database with Knex ORM
- Redis caching and session management
- MinIO document storage
- Hyperledger Besu blockchain integration
- Multi-department workflow system
- Comprehensive API tests (266/282 passing)

Frontend:
- Angular 21 with standalone components
- Angular Material + TailwindCSS UI
- Visual workflow builder
- Document upload with progress tracking
- Blockchain explorer integration
- Role-based dashboards (Admin, Department, Citizen)
- E2E tests with Playwright (37 tests)

Infrastructure:
- Docker Compose orchestration
- Blockscout blockchain explorer
- Development and production configurations
This commit is contained in:
Mahi
2026-02-07 10:23:29 -04:00
commit 80566bf0a2
441 changed files with 102418 additions and 0 deletions

77
system-context.html Normal file
View File

@@ -0,0 +1,77 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>system-context</title>
<script src="https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.js"></script>
<style>
body {
margin: 0;
padding: 20px;
background: #1a1a1a;
color: #fff;
font-family: Arial, sans-serif;
}
h1 {
text-align: center;
color: #3b82f6;
}
.mermaid {
display: flex;
justify-content: center;
background: transparent;
}
</style>
</head>
<body>
<h1>SYSTEM CONTEXT</h1>
<div class="mermaid">
graph TB
subgraph External["External Actors"]
Citizens["👤 Citizens"]
Depts["🏢 Government Departments"]
DeptOps["⚙️ Department Operators"]
PlatformOps["🛠️ Platform Operators"]
end
subgraph GELPlatform["Goa GEL Platform"]
GEL["Government E-License<br/>Verification Platform"]
end
subgraph ExternalSystems["External Systems"]
DigiLocker["📱 DigiLocker Mock<br/>(Document Verification)"]
LegacySys["💼 Legacy Department<br/>Systems"]
NBF["🌐 National Blockchain<br/>Federation<br/>(Future)"]
end
Citizens -->|Submit License<br/>Request| GEL
Citizens -->|Upload<br/>Documents| GEL
Citizens -->|Track Status| GEL
Depts -->|Configure Approval<br/>Workflows| GEL
Depts -->|Review & Approve<br/>Requests| GEL
DeptOps -->|Manage Department<br/>Users| GEL
DeptOps -->|Configure Rules| GEL
PlatformOps -->|System Admin| GEL
PlatformOps -->|Monitor & Maintain| GEL
GEL -->|Verify Document<br/>Authenticity| DigiLocker
GEL -->|Legacy Data<br/>Integration| LegacySys
GEL -->|Future: Share<br/>License Records| NBF
LegacySys -->|Citizen Data| GEL
style GEL fill:#1e40af,stroke:#1e3a8a,stroke-width:3px,color:#fff
style External fill:#f0f9ff,stroke:#0369a1,stroke-width:2px
style ExternalSystems fill:#fef3c7,stroke:#b45309,stroke-width:2px
</div>
<script>
mermaid.initialize({ startOnLoad: true, theme: 'dark' });
mermaid.contentLoaded();
</script>
</body>
</html>