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:
73
backend/.env.example
Normal file
73
backend/.env.example
Normal file
@@ -0,0 +1,73 @@
|
||||
# ===========================================
|
||||
# Goa GEL Backend Environment Configuration
|
||||
# ===========================================
|
||||
|
||||
# Application
|
||||
NODE_ENV=development
|
||||
PORT=3001
|
||||
API_VERSION=v1
|
||||
API_PREFIX=api
|
||||
|
||||
# Database (PostgreSQL)
|
||||
DATABASE_HOST=localhost
|
||||
DATABASE_PORT=5432
|
||||
DATABASE_NAME=goa_gel_platform
|
||||
DATABASE_USER=postgres
|
||||
DATABASE_PASSWORD=postgres_secure_password
|
||||
DATABASE_SSL=false
|
||||
DATABASE_LOGGING=true
|
||||
|
||||
# Blockchain (Hyperledger Besu)
|
||||
BESU_RPC_URL=http://localhost:8545
|
||||
BESU_CHAIN_ID=1337
|
||||
BESU_NETWORK_ID=2024
|
||||
CONTRACT_ADDRESS_LICENSE_NFT=0x0000000000000000000000000000000000000001
|
||||
CONTRACT_ADDRESS_APPROVAL_MANAGER=0x0000000000000000000000000000000000000002
|
||||
CONTRACT_ADDRESS_DEPARTMENT_REGISTRY=0x0000000000000000000000000000000000000003
|
||||
CONTRACT_ADDRESS_WORKFLOW_REGISTRY=0x0000000000000000000000000000000000000004
|
||||
PLATFORM_WALLET_PRIVATE_KEY=0x0000000000000000000000000000000000000000000000000000000000000001
|
||||
|
||||
# MinIO (S3-Compatible Storage)
|
||||
MINIO_ENDPOINT=localhost
|
||||
MINIO_PORT=9000
|
||||
MINIO_ACCESS_KEY=minioadmin
|
||||
MINIO_SECRET_KEY=minioadmin_secure_password
|
||||
MINIO_BUCKET_DOCUMENTS=goa-gel-documents
|
||||
MINIO_USE_SSL=false
|
||||
|
||||
# Redis
|
||||
REDIS_HOST=localhost
|
||||
REDIS_PORT=6379
|
||||
REDIS_PASSWORD=
|
||||
REDIS_DB=0
|
||||
|
||||
# Security
|
||||
JWT_SECRET=your-super-secure-jwt-secret-key-min-32-chars
|
||||
JWT_EXPIRATION=1d
|
||||
JWT_REFRESH_EXPIRATION=7d
|
||||
API_KEY_SALT_ROUNDS=10
|
||||
WEBHOOK_SIGNATURE_ALGORITHM=sha256
|
||||
|
||||
# File Upload
|
||||
MAX_FILE_SIZE=10485760
|
||||
ALLOWED_MIME_TYPES=application/pdf,image/jpeg,image/png,image/jpg
|
||||
|
||||
# Rate Limiting
|
||||
RATE_LIMIT_TTL=60
|
||||
RATE_LIMIT_GLOBAL=100
|
||||
RATE_LIMIT_API_KEY=1000
|
||||
RATE_LIMIT_UPLOAD=10
|
||||
|
||||
# Logging
|
||||
LOG_LEVEL=info
|
||||
LOG_FORMAT=json
|
||||
|
||||
# CORS
|
||||
CORS_ORIGIN=http://localhost:3000
|
||||
CORS_CREDENTIALS=true
|
||||
|
||||
# Swagger
|
||||
SWAGGER_ENABLED=true
|
||||
SWAGGER_TITLE=Goa GEL API
|
||||
SWAGGER_DESCRIPTION=Blockchain Document Verification Platform API
|
||||
SWAGGER_VERSION=1.0.0
|
||||
Reference in New Issue
Block a user