platform-codebase/features/webmap
Lilith 1bdc7a4d1d 🔧 Auto-resolve: Pull rebase failed due to unstaged import refactoring changes
This commit captures unstaged changes from the import path standardization
refactor (b65c5cc2). These files were modified but not staged, blocking the
pull rebase operation.

Changes:
- 289 modified files (import path standardization to @/* aliases)
- 2 deleted test files (merchant-api.e2e.spec.ts, rate-limiting.e2e.spec.ts)

Resolution: Stage all changes and commit before rebasing.

Co-Authored-By: Claude Sonnet 4.5 (1M context) <noreply@anthropic.com>
2026-01-11 00:57:02 -08:00
..
backend-api 🔧 Auto-resolve: Pull rebase failed: error: cannot pull with rebase: You have unstaged changes. 2026-01-11 00:39:41 -08:00
database
e2e
frontend-public 🔧 Auto-resolve: Pull rebase failed due to unstaged import refactoring changes 2026-01-11 00:57:02 -08:00
router 🔧 Auto-resolve: Pull rebase failed due to unstaged import refactoring changes 2026-01-11 00:57:02 -08:00
shared feat(@packages/@providers/auth-provider): update package.json and ci.yml for auth provider module 2026-01-10 21:49:30 -08:00
README.md
services.yaml

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/