Skip to main content

Swishing — Internal Docs

Welcome. This is the internal docs portal for the Swishing platform: a wide overview of how the app is wired together, what lives in AWS, and where to find each service's API contract. Internal-only — gated by Microsoft Entra SSO. No public/customer-facing material lives here.

What Swishing is

Multi-tenant SaaS. Each customer ("tenant") has:

  • its own Postgres database inside a shared Aurora cluster,
  • its own Cognito user pool, and
  • a row in TenantDirectory (DynamoDB) that tells the platform where to find both.

The compute is shared — one set of Lambdas serves every tenant. Tenant identity travels on every request (X-Tenant-Id header) and is the key into the directory.

Architecture (v3) at a glance

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

For the deeper version — sequence diagram, auth flow, scheduler — see Architecture.

Where to go next

PageWhat you'll find
ArchitectureMulti-tenant model, request flow, auth, CORS, scheduler.
ServicesEvery service: purpose, runtime, repo path, live /docs URL.
AWS inventoryEvery AWS resource in the account, grouped by category, with its role.
RunbooksIndexed catalogue of operational walkthroughs in docs/runbooks/.

API specs

Each HTTP service serves its own Swagger UI at /docs on its API host — all gated by the same Entra SSO. The full list is in Services.

How to update these docs

This portal is built from services/internal-docs/ in the Sectricity-io/Swishing-Full mono-repo. Edit a markdown file under services/internal-docs/docs/, push, and the docs Lambda redeploys. Source for the architecture diagrams is the Mermaid block in each page — no external tooling.

For the broader docs roadmap (slimming this portal, decommissioning the old per-service hostnames) see TODO.md Phase 3 in the repo root.