- Explain the framework and Fonoteka application split\n- Document the verified admin-login path and guarded Phase 15 cutover
2.9 KiB
SummerCMS (Go)
Framework, not the application
SummerCMS is the Go framework for the Golem15 stack: compiled plugins, configuration, data primitives, HTTP routing, the admin shell, and parity tooling. The Płytarium application and its binary live in the sibling fonoteka.go repository, so this checkout is not the application binary.
Two-repository development layout
This repository has one go.mod; framework libraries live under modules/. During development, fonoteka.go/go.mod uses a replace git.golem15.com/golem15/summercms => ../summercms.go directive to use this checkout. The same local-replace pattern is shown in examples/hello/go.mod, alongside the example's compiled plugin modules.
Recreate the Phase 10 admin login
Follow the Fonoteka database setup to create a pl-PL Postgres database and set SUMMER_DATABASE__DSN; the app repository owns its configuration and credentials. From fonoteka.go, run:
summer build
./bin/fonoteka migrate
./bin/fonoteka serve
The admin SPA is embedded with embed.FS in that Fonoteka binary. Its configured backend URI is /plytadmin, so open the running app at that path; do not use summer serve from this framework repository to open the admin.
Honest cutover status
A working local admin login is not a DNS flip of plytarium.com. The production flip is Phase 15, after jobs and search in Phase 11 and the remaining API routes in Phases 12–14. Until then, directing production to this binary would take the public Nuxt application and MCP service offline. The operator procedure remains in the PHP docs/deploy/plytarium.com.md; this is not a production deployment runbook.
Framework modules
Each framework library has its own short onboarding note:
backpack,boardwalk,bonfire,bouncer,cabana,compassfestival,fetchguard,lagoon,pact,party,phrasebookpostcard,surf,tide,towel,wire,wristband
Why Go and the v1 target
SummerCMS replaces the earlier Scala attempt with a deliberately conventional Go stack; see why Go, not Scala. Its v1 target is Płytarium: the existing Nuxt app and MCP server must run unchanged against the Go backend. See the v1 target note.