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

View File

@@ -0,0 +1,54 @@
/**
* Document API Models
* Models for document management
*/
export type DocumentType =
| 'FIRE_SAFETY_CERTIFICATE'
| 'BUILDING_PLAN'
| 'PROPERTY_OWNERSHIP'
| 'INSPECTION_REPORT'
| 'POLLUTION_CERTIFICATE'
| 'ELECTRICAL_SAFETY_CERTIFICATE'
| 'STRUCTURAL_STABILITY_CERTIFICATE'
| 'IDENTITY_PROOF'
| 'ADDRESS_PROOF'
| 'OTHER';
export interface UploadDocumentDto {
docType: DocumentType;
description?: string;
file?: File;
}
export interface DocumentResponseDto {
id: string;
requestId: string;
docType: string;
originalFilename: string;
currentVersion: number;
currentHash: string;
minioBucket: string;
isActive: boolean;
createdAt: string;
updatedAt: string;
}
export interface DocumentVersionResponseDto {
id: string;
documentId: string;
version: number;
hash: string;
minioPath: string;
fileSize: string;
mimeType: string;
uploadedBy: string;
blockchainTxHash?: string;
createdAt: string;
}
export interface DownloadUrlResponseDto {
url: string;
expiresAt: string;
expiresIn: number;
}