Platform is a long-lived BFF model constructor for FastyGo product apps. It
turns module/toolset/panel definitions into renderer-agnostic UI models
(bff.PageModel, render.ScreenModel) that Templ, JSON clients, and future
adapters consume.
Platform is not:
- a CMS/CRM product monolith;
- a required React/Vite/shadcn frontend stack;
- a replacement for Framework host/runtime concerns.
module -> toolset/panel -> BFF runtime -> PageModel -> renderer adapter
- BFF owns screen shape, navigation, session projection, action descriptors, validation envelopes, and hydrated data before rendering.
- Renderers map the model to HTML or client UI only.
- Product apps own domain hydration, executors, special screens, and routes.
Templ is the primary in-process reference renderer. JSON adapters consume the same
bff.v1 contract over /bff/*.
| Area | Artifacts |
|---|---|
| BFF contract | docs/bff.md, pkg/bff, pkg/render |
| JSON Schema | schema/bff/v1/ |
| TypeScript contract | web/contract/ (@fastygo/bff-contract) |
| Golden fixtures | pkg/conformance/testdata/bff/v1/ |
| Governance | docs/compatibility-policy.md, docs/release-checklist.md |
| Templ reference | docs/templ-renderer.md, pkg/renderers/templ |
| Area | Status |
|---|---|
| Widget payloads beyond shared primitives | Experimental within bff.v1 |
| Realtime transport implementations | Experimental hints only |
| React/Vite/shadcn DX (hooks, SDK, shadcn mapping) | Deferred after Platform freeze |
| Product domain (CMS/CRM/public/portal behavior) | Product-owned |
See Release readiness for publish criteria.
AppCMS and AppCRM prove BFF parity on admin screens:
- AppCMS posts list and post edit form;
- AppCRM leads list;
- navigation/session via
/bff/navand/bff/session; - BFF-described actions with product executors.
Platform publication does not require every product release to ship first.
- Read BFF and Compatibility policy.
- Review Contract artifacts and golden fixtures.
- Run Platform conformance:
go test ./pkg/conformance ./pkg/renderers/templ ./pkg/bff ./pkg/render
./scripts/bff-parity.sh- Build product screens in app
internal/appschemawithout changing Platform kernel for each new table/form view.
- Platform docs index
- Release readiness map
- Release checklist
- Release notes template
- Renderer adapter conformance
- Frontend adapters (deferred DX)
See repository license and contribution docs when published.