feat: Rebrand to License Authority with Govt of Goa branding

- Replace TLAS with License Authority throughout documentation
- Add Government of Goa emblem/logo (Ashoka Chakra style)
- Update frontend branding to match documentation
- Add configurable Swagger API link via VITE_API_BASE_URL env var
- Fix Docker build for VitePress (git dependency, .dockerignore)
- Fix helmet security headers for HTTP deployments
- Add CORS support for VM deployment

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Mahi
2026-02-10 00:46:25 -04:00
parent 435889ee79
commit 6ec8d3236d
34 changed files with 203 additions and 113 deletions

View File

@@ -2,8 +2,7 @@ node_modules
npm-debug.log
.git
.gitignore
README.md
docker-compose.yml
.DS_Store
*.md
!docs/*.md
.vitepress/dist
.vitepress/cache

View File

@@ -0,0 +1,2 @@
# API Base URL for Swagger documentation
VITE_API_BASE_URL=http://localhost:3001

View File

@@ -1,22 +1,27 @@
import { defineConfig } from 'vitepress'
export default defineConfig({
title: 'TLAS',
description: 'Tokenized License Approval System - Enterprise Blockchain Platform for Government License Management',
title: 'License Authority | Govt of Goa',
description: 'Government of Goa - Blockchain-Powered License Management Platform',
head: [
['link', { rel: 'icon', type: 'image/svg+xml', href: '/logo.svg' }],
['meta', { name: 'theme-color', content: '#0f172a' }],
['meta', { name: 'og:type', content: 'website' }],
['meta', { name: 'og:site_name', content: 'TLAS Documentation' }],
['meta', { name: 'og:site_name', content: 'License Authority Documentation' }],
],
lastUpdated: true,
cleanUrls: true,
appearance: true,
ignoreDeadLinks: ['/api/docs'],
themeConfig: {
darkModeSwitchLabel: 'Theme',
darkModeSwitchTitle: 'Switch to dark mode',
lightModeSwitchTitle: 'Switch to light mode',
logo: '/logo.svg',
siteTitle: 'TLAS',
siteTitle: 'License Authority',
nav: [
{ text: 'Overview', link: '/overview/' },
@@ -107,13 +112,9 @@ export default defineConfig({
]
},
socialLinks: [
{ icon: 'github', link: 'https://github.com/goa-gel' }
],
footer: {
message: 'Tokenized License Approval System',
copyright: 'Copyright 2026 Government of Goa. All rights reserved.'
message: 'An Initiative of the Government of Goa, India',
copyright: '© 2026 Government of Goa. All rights reserved.'
},
search: {

View File

@@ -0,0 +1,10 @@
<script setup>
const apiBaseUrl = import.meta.env.VITE_API_BASE_URL || ''
const swaggerUrl = `${apiBaseUrl}/api/docs`
</script>
<template>
<a :href="swaggerUrl" target="_blank" rel="noopener">
<slot>Open API Documentation </slot>
</a>
</template>

View File

@@ -1,16 +1,10 @@
import { h } from 'vue'
import type { Theme } from 'vitepress'
import DefaultTheme from 'vitepress/theme'
import './custom.css'
import ApiDocsLink from './ApiDocsLink.vue'
export default {
extends: DefaultTheme,
Layout: () => {
return h(DefaultTheme.Layout, null, {
// You can add custom slots here
})
},
enhanceApp({ app, router, siteData }) {
// Register custom components or plugins here
enhanceApp({ app }) {
app.component('ApiDocsLink', ApiDocsLink)
}
} satisfies Theme
}

View File

@@ -1,6 +1,11 @@
# Build stage
FROM node:20-alpine AS builder
ARG VITE_API_BASE_URL=http://localhost:3001
ENV VITE_API_BASE_URL=$VITE_API_BASE_URL
RUN apk add --no-cache git
WORKDIR /app
COPY package*.json ./
@@ -12,6 +17,7 @@ RUN npm run build
# Production stage
FROM nginx:alpine
RUN rm -rf /usr/share/nginx/html/*
COPY --from=builder /app/.vitepress/dist /usr/share/nginx/html
COPY nginx.conf /etc/nginx/conf.d/default.conf

View File

@@ -4,7 +4,7 @@
```
┌─────────────────────────────────────────────────────────────────────┐
TLAS Platform │
License Authority Platform │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────────┐ │

View File

@@ -12,7 +12,7 @@ Government licensing in Goa processes over 50,000 applications annually across 1
## The Solution
TLAS (Tokenized License Approval System) digitizes the complete license lifecycle:
License Authority digitizes the complete license lifecycle:
1. **Online application** with DigiLocker integration
2. **Automated workflow** with configurable approval stages

View File

@@ -2,7 +2,7 @@
## For Citizens
| Before TLAS | After TLAS |
| Before | After |
|-------------|------------|
| Multiple office visits | Apply from anywhere |
| No status visibility | Real-time tracking |
@@ -12,7 +12,7 @@
## For Departments
| Before TLAS | After TLAS |
| Before | After |
|-------------|------------|
| Paper file management | Digital workflow |
| Manual tracking registers | Automated status updates |
@@ -22,7 +22,7 @@
## For Government
| Challenge | TLAS Solution |
| Challenge | Platform Solution |
|-----------|---------------|
| Document fraud | Cryptographically signed certificates |
| Corruption perception | Transparent, auditable process |

View File

@@ -2,7 +2,7 @@
## Overview
TLAS is designed and operated in compliance with applicable Indian laws, government standards, and international security frameworks.
This platform is designed and operated in compliance with applicable Indian laws, government standards, and international security frameworks.
## Regulatory Compliance
@@ -53,7 +53,7 @@ TLAS is designed and operated in compliance with applicable Indian laws, governm
### ISO 27001 Alignment
TLAS security controls align with ISO 27001 Annex A:
Platform security controls align with ISO 27001 Annex A:
- A.5: Information security policies
- A.6: Organization of information security

View File

@@ -2,7 +2,7 @@
## Overview
This guide covers daily operations for department staff processing license applications through TLAS.
This guide covers daily operations for department staff processing license applications through the platform.
## Logging In

View File

@@ -12,8 +12,8 @@
```bash
# Clone repository
git clone https://github.com/goa-gel/tlas.git
cd tlas
git clone https://github.com/goa-gel/license-authority.git
cd license-authority
# Configure
cp .env.example .env
@@ -68,5 +68,5 @@ curl http://localhost:3000/api/health
## Support
For deployment assistance:
- Email: devops@tlas.gov.in
- Email: devops@license.gov.in
- Documentation: This guide

View File

@@ -2,7 +2,7 @@
## Overview
TLAS uses OAuth 2.0 with JWT tokens for API authentication.
The platform uses OAuth 2.0 with JWT tokens for API authentication.
## Obtaining Credentials
@@ -15,7 +15,7 @@ Contact your administrator to receive:
```http
POST /auth/token HTTP/1.1
Host: api.tlas.gov.in
Host: api.license.gov.in
Content-Type: application/x-www-form-urlencoded
grant_type=client_credentials&
@@ -41,7 +41,7 @@ Include token in Authorization header:
```http
GET /applications/APP-2026-00001 HTTP/1.1
Host: api.tlas.gov.in
Host: api.license.gov.in
Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...
```

View File

@@ -79,5 +79,5 @@ interface ILicenseNFT {
View transactions on the block explorer:
```
https://explorer.tlas.gov.in/tx/{transactionHash}
https://explorer.license.gov.in/tx/{transactionHash}
```

View File

@@ -2,15 +2,27 @@
## Overview
TLAS provides REST APIs for integrating with external systems. All APIs use JSON for request and response bodies.
The platform provides REST APIs for integrating with external systems. All APIs use JSON for request and response bodies.
## Base URL
```
Production: https://api.tlas.gov.in/v1
Staging: https://api-staging.tlas.gov.in/v1
Production: https://api.license.gov.in/v1
Staging: https://api-staging.license.gov.in/v1
```
## Interactive API Documentation
Explore and test APIs using our interactive Swagger UI:
**<ApiDocsLink />**
The Swagger documentation provides:
- Complete endpoint specifications
- Request/response schemas
- Interactive "Try it out" functionality
- Authentication testing
## Authentication
All API requests require authentication via Bearer token.
@@ -25,7 +37,7 @@ Obtain tokens through the authentication endpoint. See [Authentication](/develop
```http
POST /applications HTTP/1.1
Host: api.tlas.gov.in
Host: api.license.gov.in
Authorization: Bearer eyJhbGc...
Content-Type: application/json
@@ -92,9 +104,9 @@ X-RateLimit-Reset: 1707500000
- Java: Maven artifact `gov.in.license:license-authority-sdk`
## Documentation
- [Authentication](/developers/authentication) - Token management
- [Core APIs](/developers/core-apis) - Application and document APIs
- [Authentication](/developers/authentication) - Token management
- [Core APIs](/developers/core-apis) - Application and document APIs
- [Blockchain APIs](/developers/blockchain-apis) - Certificate verification
- [Webhooks](/developers/webhooks) - Event notifications
- [Error Handling](/developers/errors) - Error codes and handling

View File

@@ -5,16 +5,16 @@
### Installation
```bash
npm install @tlas/sdk
npm install @license-authority/sdk
```
### Usage
```typescript
import { TLASClient } from '@tlas/sdk';
import { LicenseClient } from '@license-authority/sdk';
const client = new TLASClient({
baseUrl: 'https://api.tlas.gov.in/v1',
const client = new LicenseClient({
baseUrl: 'https://api.license.gov.in/v1',
clientId: 'your-client-id',
clientSecret: 'your-client-secret'
});
@@ -38,16 +38,16 @@ const verification = await client.certificates.verify('GOA/TRADE/2026/00001');
### Installation
```bash
pip install tlas-sdk
pip install license-authority-sdk
```
### Usage
```python
from tlas import TLASClient
from license_authority import LicenseClient
client = TLASClient(
base_url='https://api.tlas.gov.in/v1',
client = LicenseClient(
base_url='https://api.license.gov.in/v1',
client_id='your-client-id',
client_secret='your-client-secret'
)
@@ -72,8 +72,8 @@ result = client.certificates.verify('GOA/TRADE/2026/00001')
```xml
<dependency>
<groupId>gov.in.tlas</groupId>
<artifactId>tlas-sdk</artifactId>
<groupId>gov.in.license</groupId>
<artifactId>license-authority-sdk</artifactId>
<version>1.0.0</version>
</dependency>
```
@@ -81,8 +81,8 @@ result = client.certificates.verify('GOA/TRADE/2026/00001')
### Usage
```java
TLASClient client = new TLASClient.Builder()
.baseUrl("https://api.tlas.gov.in/v1")
LicenseClient client = new LicenseClient.Builder()
.baseUrl("https://api.license.gov.in/v1")
.credentials("client-id", "client-secret")
.build();

View File

@@ -2,7 +2,7 @@
## Overview
TLAS sends webhook notifications for key events. Configure webhook endpoints to receive real-time updates.
The platform sends webhook notifications for key events. Configure webhook endpoints to receive real-time updates.
## Configuration

View File

@@ -2,9 +2,9 @@
layout: home
hero:
name: "TLAS"
text: "Tokenized License Approval System"
tagline: Enterprise blockchain infrastructure for government license lifecycle management
name: "License Authority"
text: "Government of Goa, India"
tagline: Blockchain-powered license management for secure, transparent, and tamper-proof government services
actions:
- theme: brand
text: Platform Overview
@@ -12,6 +12,9 @@ hero:
- theme: alt
text: API Documentation
link: /developers/
- theme: alt
text: Swagger API
link: /swagger-redirect
features:
- icon: 🔐
@@ -44,6 +47,20 @@ features:
}
</style>
<script setup>
import { onMounted } from 'vue'
const apiBaseUrl = import.meta.env.VITE_API_BASE_URL || ''
onMounted(() => {
const swaggerLink = document.querySelector('a[href="/swagger-redirect"]')
if (swaggerLink) {
swaggerLink.href = `${apiBaseUrl}/api/docs`
swaggerLink.target = '_blank'
}
})
</script>
---
## Documentation by Role
@@ -60,7 +77,7 @@ features:
## Standards & Compliance
TLAS is designed and implemented in accordance with:
This platform is designed and implemented in accordance with:
| Standard | Scope |
|----------|-------|
@@ -97,7 +114,7 @@ For detailed architecture documentation, see [Solution Architecture](/overview/s
| Component | Version | Release Date |
|-----------|---------|--------------|
| TLAS Platform | 1.0.0 | February 2026 |
| Platform | 1.0.0 | February 2026 |
| API Version | v1 | February 2026 |
| Documentation | 1.0.0 | February 2026 |

View File

@@ -16,7 +16,7 @@
```bash
# Daily full backup (runs at 02:00 UTC)
pg_dump -Fc tlas_prod > /backups/tlas_$(date +%Y%m%d).dump
pg_dump -Fc license_prod > /backups/license_$(date +%Y%m%d).dump
# Hourly WAL archiving
archive_command = 'cp %p /backups/wal/%f'
@@ -26,7 +26,7 @@ archive_command = 'cp %p /backups/wal/%f'
```bash
# Create backup
docker exec postgres pg_dump -U tlas -Fc tlas_prod > backup.dump
docker exec postgres pg_dump -U license_app -Fc license_prod > backup.dump
# Verify backup
pg_restore --list backup.dump
@@ -41,10 +41,10 @@ pg_restore --list backup.dump
docker-compose stop api
# Restore database
pg_restore -d tlas_prod -c backup.dump
pg_restore -d license_prod -c backup.dump
# Verify data
psql -d tlas_prod -c "SELECT COUNT(*) FROM applications;"
psql -d license_prod -c "SELECT COUNT(*) FROM applications;"
# Restart application
docker-compose start api

View File

@@ -16,9 +16,9 @@
|----------|-------------|---------|
| `DB_HOST` | PostgreSQL host | `postgres.internal` |
| `DB_PORT` | PostgreSQL port | `5432` |
| `DB_USER` | Database user | `tlas_app` |
| `DB_USER` | Database user | `license_app` |
| `DB_PASSWORD` | Database password | `<secure>` |
| `DB_NAME` | Database name | `tlas_prod` |
| `DB_NAME` | Database name | `license_prod` |
### Authentication
@@ -53,8 +53,8 @@ server:
port: 3000
cors:
origins:
- https://tlas.gov.in
- https://admin.tlas.gov.in
- https://license.gov.in
- https://admin.license.gov.in
database:
pool:

View File

@@ -60,8 +60,8 @@
```bash
# Clone repository
git clone https://github.com/goa-gel/tlas.git
cd tlas
git clone https://github.com/goa-gel/license-authority.git
cd license-authority
# Configure environment
cp .env.example .env

View File

@@ -25,8 +25,8 @@ sudo apt install docker-compose-plugin
```bash
# Clone repository
git clone https://github.com/goa-gel/tlas.git
cd tlas
git clone https://github.com/goa-gel/license-authority.git
cd license-authority
# Copy environment template
cp .env.example .env
@@ -38,9 +38,9 @@ Edit `.env` with required values:
# Database
DB_HOST=postgres
DB_PORT=5432
DB_USER=tlas
DB_USER=license_app
DB_PASSWORD=<secure-password>
DB_NAME=tlas
DB_NAME=license_db
# JWT
JWT_SECRET=<64-character-random-string>

View File

@@ -71,7 +71,7 @@
Access Grafana dashboards at:
```
https://monitoring.tlas.gov.in/grafana
https://monitoring.license.gov.in/grafana
```
Dashboards available:

View File

@@ -52,7 +52,7 @@ add_header Content-Security-Policy "default-src 'self'";
```bash
# Run weekly
npm audit
docker scan tlas-api:latest
docker scan license-api:latest
```
### Security Updates

View File

@@ -1,12 +1,12 @@
# Platform Overview
The Tokenized License Approval System (TLAS) is an enterprise platform that transforms government licensing operations through blockchain-based credential issuance and configurable workflow automation.
License Authority is an enterprise platform that transforms government licensing operations through blockchain-based credential issuance and configurable workflow automation.
## Context
Government licensing processes across India handle millions of applications annually. These processes involve multiple stakeholders, complex approval hierarchies, and strict compliance requirements. Traditional systems face persistent challenges that impact both operational efficiency and citizen trust.
TLAS addresses these challenges through a purpose-built platform that combines workflow automation with cryptographic verification.
The platform addresses these challenges through a purpose-built platform that combines workflow automation with cryptographic verification.
## Platform Objectives
@@ -22,7 +22,7 @@ TLAS addresses these challenges through a purpose-built platform that combines w
### Tokenized License Certificates
Every license issued through TLAS is minted as a Non-Fungible Token (NFT) on a private Hyperledger Besu blockchain. This provides:
Every license issued through the platform is minted as a Non-Fungible Token (NFT) on a private Hyperledger Besu blockchain. This provides:
- **Cryptographic authenticity**: Certificates are digitally signed and verifiable
- **Tamper evidence**: Any modification attempt is detectable
@@ -51,11 +51,11 @@ Administrators and department heads access real-time visibility into:
## Deployment Model
TLAS operates as a multi-tenant platform with department-level isolation:
The platform operates as a multi-tenant platform with department-level isolation:
```
┌─────────────────────────────────┐
TLAS Platform
License Authority
├─────────────────────────────────┤
┌───────────┼───────────┬───────────┐ │
│ │ │ │ │
@@ -77,7 +77,7 @@ TLAS operates as a multi-tenant platform with department-level isolation:
## Integration Points
TLAS integrates with government and third-party services:
The platform integrates with government and third-party services:
| Integration | Purpose | Protocol |
|-------------|---------|----------|
@@ -98,7 +98,7 @@ TLAS integrates with government and third-party services:
## Navigation
- [Problem Statement](/overview/problem) - Challenges addressed by TLAS
- [Problem Statement](/overview/problem) - Challenges addressed by this platform
- [Solution Architecture](/overview/solution) - Technical design and components
- [Key Capabilities](/overview/capabilities) - Feature deep-dive
- [Technology Stack](/overview/technology) - Implementation technologies

View File

@@ -4,7 +4,7 @@
```
┌─────────────────────────────────────────────────────────────────────┐
TLAS Platform │
License Authority Platform │
├─────────────────────────────────────────────────────────────────────┤
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Applicant │ │ Department │ │ Admin │ │

View File

@@ -1,13 +1,51 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="40" height="40">
<!-- Government of Goa Emblem Style -->
<defs>
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" style="stop-color:#1e3a5f"/>
<stop offset="100%" style="stop-color:#2563eb"/>
<linearGradient id="goldGrad" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" style="stop-color:#D4AF37"/>
<stop offset="50%" style="stop-color:#C5A028"/>
<stop offset="100%" style="stop-color:#B8962A"/>
</linearGradient>
</defs>
<rect x="10" y="10" width="80" height="80" rx="12" fill="url(#grad)"/>
<path d="M30 35 L50 25 L70 35 L70 65 L50 75 L30 65 Z" fill="none" stroke="white" stroke-width="3"/>
<circle cx="50" cy="50" r="8" fill="white"/>
<path d="M50 42 L50 35" stroke="white" stroke-width="2"/>
<path d="M50 58 L50 65" stroke="white" stroke-width="2"/>
<!-- Circular border -->
<circle cx="50" cy="50" r="46" fill="none" stroke="#1a365d" stroke-width="3"/>
<circle cx="50" cy="50" r="42" fill="#1a365d"/>
<!-- Ashoka Chakra (24 spokes wheel) -->
<circle cx="50" cy="50" r="18" fill="none" stroke="url(#goldGrad)" stroke-width="2.5"/>
<circle cx="50" cy="50" r="5" fill="url(#goldGrad)"/>
<!-- 24 spokes simplified to 12 for clarity -->
<g stroke="url(#goldGrad)" stroke-width="1.5">
<line x1="50" y1="32" x2="50" y2="38"/>
<line x1="50" y1="62" x2="50" y2="68"/>
<line x1="32" y1="50" x2="38" y2="50"/>
<line x1="62" y1="50" x2="68" y2="50"/>
<line x1="37.3" y1="37.3" x2="41.5" y2="41.5"/>
<line x1="58.5" y1="58.5" x2="62.7" y2="62.7"/>
<line x1="62.7" y1="37.3" x2="58.5" y2="41.5"/>
<line x1="41.5" y1="58.5" x2="37.3" y2="62.7"/>
<line x1="43.1" y1="33.5" x2="45.2" y2="39"/>
<line x1="54.8" y1="61" x2="56.9" y2="66.5"/>
<line x1="56.9" y1="33.5" x2="54.8" y2="39"/>
<line x1="45.2" y1="61" x2="43.1" y2="66.5"/>
</g>
<!-- Three lions silhouette (simplified) -->
<g fill="url(#goldGrad)">
<!-- Center lion head -->
<ellipse cx="50" cy="22" rx="8" ry="6"/>
<rect x="46" y="26" width="8" height="4" rx="1"/>
<!-- Left lion suggestion -->
<ellipse cx="36" cy="24" rx="5" ry="4"/>
<!-- Right lion suggestion -->
<ellipse cx="64" cy="24" rx="5" ry="4"/>
</g>
<!-- Base/Abacus -->
<rect x="30" y="76" width="40" height="4" rx="1" fill="url(#goldGrad)"/>
<!-- Text: GOA -->
<text x="50" y="88" font-family="Arial, sans-serif" font-size="8" font-weight="bold" fill="url(#goldGrad)" text-anchor="middle">GOA</text>
</svg>

Before

Width:  |  Height:  |  Size: 651 B

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@@ -5,8 +5,8 @@
| Environment | Purpose | URL |
|-------------|---------|-----|
| Development | Local testing | localhost:4200 |
| Staging | Pre-production validation | staging.tlas.gov.in |
| Production | Live system | tlas.gov.in |
| Staging | Pre-production validation | staging.license.gov.in |
| Production | Live system | license.gov.in |
## Test Categories
@@ -47,12 +47,12 @@ Verify security controls:
| Role | Username | Password |
|------|----------|----------|
| Admin | admin@tlas.gov.in | (contact IT) |
| Department | dept.test@tlas.gov.in | (contact IT) |
| Admin | admin@license.gov.in | (contact IT) |
| Department | dept.test@license.gov.in | (contact IT) |
| Applicant | (use DigiLocker sandbox) | - |
## Reporting Issues
Report test failures to:
- Email: qa@tlas.gov.in
- Email: qa@license.gov.in
- Include: Steps to reproduce, expected vs actual result, screenshots

View File

@@ -23,8 +23,17 @@ async function bootstrap(): Promise<void> {
const corsOrigin = configService.get<string>('app.corsOrigin', 'http://localhost:3000');
const swaggerEnabled = configService.get<boolean>('app.swaggerEnabled', true);
// Security middleware
app.use(helmet());
// Security middleware - configure helmet based on environment
const isProduction = configService.get<string>('NODE_ENV') === 'production';
const useHttps = configService.get<boolean>('app.useHttps', false);
app.use(helmet({
contentSecurityPolicy: isProduction ? undefined : false,
crossOriginEmbedderPolicy: false,
crossOriginOpenerPolicy: false,
crossOriginResourcePolicy: false,
hsts: useHttps, // Only enable HSTS when using HTTPS
}));
app.use(compression());
// CORS configuration - Allow configured origin plus local development origins
@@ -33,6 +42,8 @@ async function bootstrap(): Promise<void> {
'http://localhost:4200',
'http://localhost:3000',
'http://localhost:8080',
'http://104.211.94.205:3001',
'http://104.211.94.205',
].filter(Boolean);
app.enableCors({
origin: (origin, callback) => {

View File

@@ -44,7 +44,7 @@ import { BlockchainExplorerMiniComponent } from '../../shared/components';
</div>
<div class="header-text">
<h1>Admin Portal</h1>
<p class="subtitle">Manage the Goa GEL Blockchain Platform</p>
<p class="subtitle">Manage the License Authority Platform</p>
</div>
</div>
</header>

View File

@@ -31,7 +31,7 @@ import { AdminStatsDto } from '../../../api/models';
<div class="welcome-text">
<span class="greeting">Admin Dashboard</span>
<h1>Platform Overview</h1>
<p class="subtitle">Monitor and manage the Goa GEL Blockchain Platform</p>
<p class="subtitle">Monitor and manage the License Authority Platform</p>
</div>
<div class="quick-actions">
<button mat-raised-button class="action-btn primary" routerLink="/admin">

View File

@@ -96,8 +96,8 @@
/>
</div>
<div class="brand-text">
<span class="brand-name">Government of Goa</span>
<span class="brand-subtitle">Blockchain e-Licensing Platform</span>
<span class="brand-name">License Authority</span>
<span class="brand-subtitle">Government of Goa, India</span>
</div>
</div>
<div class="nav-status">
@@ -186,7 +186,7 @@
<!-- Footer -->
<footer class="landing-footer" role="contentinfo">
<div class="footer-content">
<p class="copyright">&copy; {{ currentYear }} Government of Goa, India. All rights reserved.</p>
<p class="copyright">&copy; {{ currentYear }} License Authority - Government of Goa, India. All rights reserved.</p>
<div class="footer-links">
<a href="/policies" aria-label="Website Policies">Policies</a>
<a href="/terms" aria-label="Terms and Conditions">Terms</a>

View File

@@ -1,5 +1,5 @@
// =============================================================================
// GOA GEL LANDING PAGE - World-Class Blockchain Government Portal
// LICENSE AUTHORITY LANDING PAGE - Government of Goa, India
// Immersive, Graphical, Premium Design
// =============================================================================

View File

@@ -2,11 +2,11 @@
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title>Goa GEL - Government e-Licensing Platform | Government of Goa</title>
<title>License Authority | Government of Goa, India</title>
<base href="/">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="Official Government of Goa Blockchain-based Document Verification and e-Licensing Platform. Apply for licenses, track applications, and verify documents securely.">
<meta name="keywords" content="Government of Goa, e-Licensing, Blockchain, License, Permit, Government Services, Digital India">
<meta name="description" content="License Authority - Official Government of Goa blockchain-powered license management platform. Apply for licenses, track applications, and verify documents securely.">
<meta name="keywords" content="License Authority, Government of Goa, India, Blockchain, License, Permit, Government Services, Digital India">
<meta name="author" content="Government of Goa">
<meta name="robots" content="index, follow">
<meta name="theme-color" content="#1D0A69">
@@ -15,7 +15,7 @@
<meta name="accessibility" content="WCAG 2.1 Level AA">
<link rel="icon" type="image/x-icon" href="favicon.ico">
<link rel="canonical" href="https://gel.goa.gov.in">
<link rel="canonical" href="https://license.goa.gov.in">
<!-- Google Fonts: Noto Sans (DBIM Mandatory) + Material Icons -->
<link rel="preconnect" href="https://fonts.googleapis.com">
@@ -27,7 +27,7 @@
<!-- Noscript fallback for accessibility -->
<noscript>
<div style="padding: 20px; text-align: center; background: #FFC107; color: #150202;">
JavaScript is required to use the Government of Goa e-Licensing Platform.
JavaScript is required to use the License Authority platform.
Please enable JavaScript in your browser settings.
</div>
</noscript>