Skip to main content

Swishing — Internal Docs

Welcome. This is the internal docs portal for the Swishing platform: one URL for every API contract plus the architecture overview. Internal-only — no public/customer-facing material lives here.

What Swishing is

Multi-tenant SaaS. Each customer ("tenant") gets its own database (in a shared RDS), its own Cognito user pool, and historically its own backend compute. A shared frontend serves them all; a shared auth platform routes users to the right tenant.

Architecture (v3) at a glance

v3 routing in one line: the frontend (or any caller) sends X-Tenant-Id to gateway.swishing.cards; the api-router looks the tenant up in DynamoDB TenantDirectory and proxies to the tenant's backend; the backend loads the tenant's DB pool and Cognito pool by id and serves the request.

For the deeper version — sequence diagram, CORS/auth flow, where tenant identity comes from — see Architecture.

Service map

Mirrors the table in CLAUDE.md at the repo root.

PathWhat it is
api-routerv3 shared entry point. Single Lambda — reads X-Tenant-Id, looks up TenantDirectory in DynamoDB, proxies to that tenant's backend_base_url.
swishing-game-backendThe per-tenant backend. index.js = ECS/Express entry. lambda.js = serverless-http wrapper for v3. Both coexist during cutover.
swishing-game-webThe per-tenant frontend (will be the shared CloudFront app).
internal-api / internal-webOperator tooling: tenant provisioning, template tool, admin UI.
auth-api / auth-webCognito-fronted auth that routes users to their tenant.
provision-workerSQS-driven tenant provisioning (creates DB, Cognito pool, etc.).
tenant-teardownScheduled tenant lifecycle teardown.
tenant-health-checkerTenant uptime / health watcher.
marketing-api / marketing-webPublic marketing surface.
demo-api / demo-webDemo tenant.
template-toolTemplate authoring tool used by ops (also wired into internal-web).

Where to go next

Documentation status

This portal is in active build-out (Phase 3.2). Today only swishing-game-backend has a published OpenAPI spec; other services are scheduled in Phase 3.1 and will land here as their specs ship. See TODO.md at the repo root for the current state.