Skip to content

fastygo/platform

Repository files navigation

github.com/fastygo/platform

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.

Mental model

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/*.

Stable now (bff.v1 freeze)

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

Experimental / deferred

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.

Proof consumers (not Platform dependencies)

AppCMS and AppCRM prove BFF parity on admin screens:

  • AppCMS posts list and post edit form;
  • AppCRM leads list;
  • navigation/session via /bff/nav and /bff/session;
  • BFF-described actions with product executors.

Platform publication does not require every product release to ship first.

Quick start for developers

  1. Read BFF and Compatibility policy.
  2. Review Contract artifacts and golden fixtures.
  3. Run Platform conformance:
go test ./pkg/conformance ./pkg/renderers/templ ./pkg/bff ./pkg/render
./scripts/bff-parity.sh
  1. Build product screens in app internal/appschema without changing Platform kernel for each new table/form view.

Documentation

License

See repository license and contribution docs when published.

About

The goal is to build an industrial Open Source platform for creating commercial IT systems: CMS, CRM, monitoring hubs, internal tools, collaborative workspaces, support desks, document systems, and AI-generated panels

Resources

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors