PlatformKit — how the pieces compose

PlatformKit — how the pieces compose An architecture diagram generated by Archify. client.yaml · modules · theme · a private application client.yaml modules · theme apps/flagship · Module(Deps{…}) · registry · a private application apps/flagship Module(Deps{…}) · registry modules/ · contracts · internal · github.com/septagon-oss/platformkit (public) modules/ contracts · internal kit/ · httpx · rest · crud · events · github.com/septagon-oss/platformkit (public) kit/ httpx · rest · crud · events PostgreSQL · FORCE RLS · Architecture component PostgreSQL FORCE RLS NATS JetStream · outbox relay · Architecture component NATS JetStream outbox relay the private catalog · catalog modules · Architecture component · private the private catalog catalog modules private ui/components · ui/style · Props → Node · Sheet · github.com/septagon-oss/platformkit (public) ui/components · ui/style Props → Node · Sheet ui/page · ui/screens · Chrome · View · Serve · github.com/septagon-oss/platformkit (public) ui/page · ui/screens Chrome · View · Serve modules/admin · web shell · 5 pages · resources JSON · github.com/septagon-oss/platformkit (public) modules/admin web shell · 5 pages · resources JSON modules/web · public site · / and /{slug} · github.com/septagon-oss/platformkit (public) modules/web public site · / and /{slug} platformkit-mobile · native shell · Expo · Architecture component · public platformkit-mobile native shell · Expo public tools/designexport · ui.Export snapshot · --props · github.com/septagon-oss/platformkit (public) tools/designexport ui.Export snapshot · --props OpenPencil .fig · variables · 27 icon masters · Architecture component OpenPencil .fig variables · 27 icon masters modules.include typed Deps rest.Spec.Mount Tx[Tenant] outbox same Module shape httpx.Resources declared classes page.Serve page.Serve Describe → JSON Gallery() → Describe npm run generate github.com/septagon-oss/platformkit (public) a private application Legend Frontend Backend Database Message bus External

Composition is a list

  • • client.yaml names modules, theme and hosts; one image runs every client
  • • apps/flagship constructs Module(Deps{…}) in order; start runs the same composition on an embedded PostgreSQL with role all

One UI, three shells

  • • ui/components and ui/page are values: Props → Node, Chrome, View, one Serve adapter; modules/web is the public site composed from them
  • • ui/screens derives list, detail and form from the schema; Describe is the same as JSON

Boundaries that hold

  • • FORCE RLS per transaction; Tx[Tenant] and Tx[System] are distinct types
  • • One outbox to JetStream; make check, make e2e and the native design suite on every pull request