← Atlas Journey · Docs

Frozen document. Dates and status refer to its original source. Private resources and unreviewed images are unavailable.

Atlas component design

Status: selected prototype design, amended 2026-09-30. Current delivery is limited to the slices linked in the issue map. This design translates the supplied reference architecture into Atlas responsibilities; it does not add its enterprise vendors by implication.

flowchart LR

    ACT[Customer, employee, manager, reviewer, employer admin] --> WEB[React / Vite SPA]

    WEB -->|HTTPS tRPC, opaque session, CSRF| BFF[Fastify BFF / experience API]

    SCHEMA[TypeBox contracts: adoption planned] --> BFF

    BFF --> IAM[Keycloak OIDC + MFA]

    BFF --> SDUI[Screen assembler and allowlisted renderer contract]

    CMS[Contentful en-US / es-US] -->|Publish and compile| REL[Immutable release registry]

    REL --> SDUI

    BFF --> ADAPTER[Private workflow adapter]

    ADAPTER -->|REST present, supported gRPC migration planned| WF[Camunda 8 process and tasks]

    BFF --> OWN[Business-owner modules]

    OWN --> DB[(PostgreSQL)]

    OWN --> ADAPT[Synthetic legacy / payment adapters]

    OWN --> DOC[Private versioned evidence store]

    DOC --> SCAN[ClamAV]

BoundaryOwnsDoes not own
React SPAAccessible rendering, local interaction feedback, locale selection and navigation.Authorization, business decisions, process state, or executable form rules.
ContentfulBilingual copy, supported screen composition, fields, options, display conditions and declarative validation.Customer answers, private evidence, task assignment, or product invariants.
Release compiler/registryValidating a complete bilingual publication and retaining immutable versions for drafts and cases.Choosing a newer release for an in-flight case.
KeycloakAuthentication, OIDC identity and MFA.Employer membership, case ownership or reviewer assignment.
BFFFastify tRPC experience procedures over HTTPS and REST compatibility endpoints, TypeBox boundary contracts, opaque browser sessions, CSRF, task-screen assembly and private adapter orchestration.Treating a caller-supplied role, hidden field or schema-valid request as authority.
TypeBox and HTTP validationCode-owned transport schemas, supported CMS-definition vocabulary and inferred TypeScript types. Adoption is planned.Authoring product fields, replacing pinned CMS constraints, granting permissions or compiling arbitrary CMS schemas.
CamundaBPMN instance state, task state, assignment, timers and transition references.Canonical answers, policy/claim records, payment balances or CMS form definitions.
Business-owner modulesPersistent records, revisions, domain authorization, idempotent commands, outbox and reconciliation.Browser presentation or authored content.
Private adapters and simulatorsMapping supported gRPC or HTTPS services into stable internal contracts; synthetic legacy and payment behavior.Browser RPC ingress, business authorization from service identity, or real money movement.
Document store and scannerPrivate bytes, versioning, quarantine and malware verdict before authorized use. Private evidence is delivered; full-stack certification remains later work.Public CMS assets.

The first prototype deliberately does not deploy MuleSoft, Spring Boot, Okta, OPA, Redis, Anypoint MQ, AWS ECS, or named enterprise systems of record. The BFF and private adapters replace the reference diagram's two MuleSoft tiers for this phase; the owner outbox and idempotent commands carry durable effects. Adding a production integration fabric later requires a new compatibility decision. See ADR 0008 and the system-context comparison.

Cross-cutting checks remain independent of the UI: each owner command verifies current identity/context, action permission, record revision, and task correlation. Logs and evidence use synthetic identifiers and redact secrets. Resource, recovery, security and accessibility proof belongs to the acceptance strategy, not to the presence of a box in this diagram.

The September 30 amendment adds TypeBox contracts and private gRPC adapters. Fastify is implemented; TypeBox and gRPC adoption require the incremental migration gates. The later ADR 0013 selects tRPC for React experience calls over HTTPS. Same-process owners remain module calls, and Contentful and Keycloak use their supported HTTPS protocols. The tRPC rollout preserves existing REST compatibility routes during migration.