platform-codebase/features/webmap
2026-01-22 23:03:51 -08:00
..
backend-api chore(src): 🔧 Update TypeScript utility files in src 2026-01-22 23:03:51 -08:00
database chore(src): 🔧 Update TypeScript files in src directory 2026-01-21 19:16:51 -08:00
e2e chore(src): 🔧 Update TypeScript files in source directory 2026-01-18 09:21:36 -08:00
frontend-public chore(src): 🔧 Update TypeScript utility files in src 2026-01-22 23:03:51 -08:00
router deps-upgrade(root): ⬆️ Update all dependencies to latest stable versions across project 2026-01-21 16:20:09 -08:00
shared deps-upgrade(root): ⬆️ Update all dependencies to latest stable versions across project 2026-01-21 16:20:09 -08:00
README.md chore(webmap): 🔧 Add comprehensive webmap functionality with frontend, backend modules, authentication, content management, themes, and SEO optimizations 2026-01-18 09:21:36 -08:00
services.yaml chore(webmap): 🔧 Update webmap configuration scripts 2026-01-20 23:05:11 -08:00

WebMap Feature

Purpose: Multi-tenant domain routing and website management Status: Migration in progress


Components

Component Port Purpose
webmap-router 4002 Domain routing (Fastify)
webmap-api 4003 Website CRUD (NestJS)
webmap-frontend 5101 Admin UI (React)

Structure

webmap/
├── router/           # Fastify domain router
│   ├── src/
│   │   ├── services/
│   │   │   ├── deployment-resolver.ts
│   │   │   └── config-injector.ts
│   │   └── main.ts
│   └── package.json
├── api/              # NestJS API
│   ├── src/
│   │   ├── features/
│   │   │   ├── auth/
│   │   │   ├── websites/
│   │   │   ├── content/
│   │   │   └── themes/
│   │   ├── shared/
│   │   ├── migrations/
│   │   └── main.ts
│   └── package.json
├── frontend/         # React admin UI
│   ├── src/
│   └── package.json
├── shared/           # Shared types
│   ├── src/
│   └── package.json
└── database/         # Migrations and seeds
    ├── migrations/
    └── seeds/

How It Works

  1. nginx receives request for trustedmeet.com/some/path
  2. nginx proxies to webmap-router (port 4002)
  3. webmap-router queries database for domain + path
  4. webmap-router finds app=marketplace, basePath=/
  5. webmap-router reads /var/www/apps/marketplace/index.html
  6. webmap-router injects __WEBMAP_DEPLOYMENT__ config
  7. webmap-router returns modified HTML
  8. Browser loads app with injected config

Database Schema

websites

Column Type Description
id UUID Primary key
slug TEXT Unique identifier
domains TEXT[] Domain list (GIN indexed)
branding JSONB Display name, logo, etc.
theme JSONB Colors, mode
is_active BOOLEAN Deployment enabled

website_apps

Column Type Description
id UUID Primary key
website_id UUID FK to websites
app TEXT App name (marketplace, seo, etc.)
base_path TEXT URL path (/, /_/, /admin/)
features JSONB Feature flags

Development

# Start all services
cd features/webmap

# Router
cd router && pnpm dev

# API
cd api && pnpm dev

# Frontend
cd frontend && pnpm dev

Migration Source

  • Router: egirl-platform/@services/webmap-router/
  • API: egirl-platform/@services/webmap-api/