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:
146
Documentation/public/viewer.html
Normal file
146
Documentation/public/viewer.html
Normal file
@@ -0,0 +1,146 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Documentation Viewer - Goa-GEL</title>
|
||||
<link rel="stylesheet" href="/css/styles.css">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/github-dark.min.css">
|
||||
<script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/highlight.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/dompurify/3.0.6/purify.min.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<!-- Navigation Header -->
|
||||
<header class="header">
|
||||
<div class="container">
|
||||
<div class="header-content">
|
||||
<div class="logo">
|
||||
<a href="/">
|
||||
<h1>🏛️ Goa-GEL</h1>
|
||||
<p>Documentation</p>
|
||||
</a>
|
||||
</div>
|
||||
<nav class="main-nav">
|
||||
<a href="/">Home</a>
|
||||
<a href="/viewer.html?doc=USER_GUIDE">User Guide</a>
|
||||
<a href="/viewer.html?doc=E2E_TESTING_GUIDE">Testing</a>
|
||||
<a href="/viewer.html?doc=DOCUMENTATION_INDEX">All Docs</a>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<!-- Document Viewer -->
|
||||
<div class="viewer-container">
|
||||
<!-- Sidebar -->
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar-header">
|
||||
<h3>📚 Documentation</h3>
|
||||
</div>
|
||||
<nav class="sidebar-nav">
|
||||
<div class="nav-section">
|
||||
<h4>User Guides</h4>
|
||||
<a href="/viewer.html?doc=USER_GUIDE" class="nav-link">
|
||||
<span class="nav-icon">📘</span>
|
||||
User Guide
|
||||
</a>
|
||||
<a href="/viewer.html?doc=DOCUMENTATION_INDEX" class="nav-link">
|
||||
<span class="nav-icon">📚</span>
|
||||
Documentation Index
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="nav-section">
|
||||
<h4>Testing & QA</h4>
|
||||
<a href="/viewer.html?doc=E2E_TESTING_GUIDE" class="nav-link">
|
||||
<span class="nav-icon">🧪</span>
|
||||
E2E Testing Guide
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="nav-section">
|
||||
<h4>Development</h4>
|
||||
<a href="/viewer.html?doc=IMPLEMENTATION_COMPLETE" class="nav-link">
|
||||
<span class="nav-icon">📊</span>
|
||||
Implementation Status
|
||||
</a>
|
||||
<a href="/viewer.html?doc=ARCHITECTURE_GUIDE" class="nav-link">
|
||||
<span class="nav-icon">🏗️</span>
|
||||
Architecture Guide
|
||||
</a>
|
||||
<a href="/viewer.html?doc=QUICK_START" class="nav-link">
|
||||
<span class="nav-icon">⚡</span>
|
||||
Quick Start
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="nav-section">
|
||||
<h4>Additional</h4>
|
||||
<a href="/viewer.html?doc=IMPLEMENTATION_SUMMARY" class="nav-link">
|
||||
<span class="nav-icon">📝</span>
|
||||
Implementation Summary
|
||||
</a>
|
||||
</div>
|
||||
</nav>
|
||||
</aside>
|
||||
|
||||
<!-- Main Content -->
|
||||
<main class="viewer-main">
|
||||
<!-- Toolbar -->
|
||||
<div class="viewer-toolbar">
|
||||
<div class="toolbar-left">
|
||||
<button class="btn btn-sm" id="toggle-sidebar">
|
||||
<span id="sidebar-icon">☰</span> Menu
|
||||
</button>
|
||||
<select id="doc-selector" class="doc-selector">
|
||||
<option value="">Select Document...</option>
|
||||
<optgroup label="User Guides">
|
||||
<option value="USER_GUIDE">📘 User Guide</option>
|
||||
<option value="DOCUMENTATION_INDEX">📚 Documentation Index</option>
|
||||
</optgroup>
|
||||
<optgroup label="Testing & QA">
|
||||
<option value="E2E_TESTING_GUIDE">🧪 E2E Testing Guide</option>
|
||||
</optgroup>
|
||||
<optgroup label="Development">
|
||||
<option value="IMPLEMENTATION_COMPLETE">📊 Implementation Status</option>
|
||||
<option value="ARCHITECTURE_GUIDE">🏗️ Architecture Guide</option>
|
||||
<option value="QUICK_START">⚡ Quick Start</option>
|
||||
</optgroup>
|
||||
</select>
|
||||
</div>
|
||||
<div class="toolbar-right">
|
||||
<button class="btn btn-sm" id="print-doc" title="Print">
|
||||
🖨️ Print
|
||||
</button>
|
||||
<button class="btn btn-sm" id="download-doc" title="Download">
|
||||
📥 Download
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Document Content -->
|
||||
<div class="document-content">
|
||||
<div id="loading" class="loading">
|
||||
<div class="spinner"></div>
|
||||
<p>Loading documentation...</p>
|
||||
</div>
|
||||
<div id="error" class="error" style="display: none;">
|
||||
<h2>⚠️ Error Loading Document</h2>
|
||||
<p id="error-message"></p>
|
||||
<button class="btn" onclick="location.reload()">Retry</button>
|
||||
</div>
|
||||
<article id="content" class="markdown-body"></article>
|
||||
</div>
|
||||
|
||||
<!-- Table of Contents (floating) -->
|
||||
<nav class="toc" id="toc">
|
||||
<h4>📑 On This Page</h4>
|
||||
<div id="toc-content"></div>
|
||||
</nav>
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<script src="/js/viewer.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user