platform-codebase/features/webmap
Lilith e24ac7da3e Add trustedmeet.com marketplace to staging deployment
- Add marketplace feature to staging-deploy.yml CI pipeline
- Add website seeds for atlilith.com (landing+seo) and trustedmeet.com (marketplace+seo)
- Fix marketplace build: skip tsc, externalize broken @transquinnftw/ui-design-tokens

Staging URL: http://next.www.trustedmeet.com (VPN required)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-01 23:43:54 -08:00
..
backend-api fix(ci): use local tsconfig.base.json instead of @lilith/configs 2025-12-31 19:53:12 -08:00
database Add trustedmeet.com marketplace to staging deployment 2026-01-01 23:43:54 -08:00
e2e ♻️ Refactor webmap to use @lilith shared packages 2025-12-31 05:21:54 -08:00
frontend-public 🔧 Update tsconfig files across features 2026-01-01 05:58:54 -08:00
router 🔧 Update webmap router, analytics deps, and workspace config 2026-01-01 04:17:56 -08:00
shared fix(ci): use local tsconfig.base.json instead of @lilith/configs 2025-12-31 19:53:12 -08:00
README.md fix(conversation-assistant): chunked sync and remove body size limits 2025-12-30 03:54:50 -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/