Skip to content

Referentie-run: family-choirs ​

De keten is één keer handmatig volledig doorlopen. Die run is de blauwdruk én de bron van de gap-lijst — elke frictie daarin is hier concreet geraakt.

Resultaat: live op https://familychores.nl — TLS ok, healthy, in-sync.

De stappen ​

1. Explore ​

documentatie/ opgeleverd: business, personas, user-journeys, user-stories, technical/architectuur.md, plus wireframes.

Handwerk — G1

De map is handmatig genormaliseerd. solution-explorer schrijft solutions/<slug>/0N-*/…; de bridge verwacht andere bestandsnamen.

2. Bridge ​

scaffolder.config.yaml gegenereerd uit ./documentatie:

yaml
name: family-chores
persistence: postgres
mailer: true
auth: true
i18n:
  locales: [nl, en]

3. Scaffold ​

app/ neergezet: NestJS + Nuxt + Postgres, met FAMILYCHORES_-prefix, de spine en liveness-auth. Businesslogica nog niet ingevuld — dat is G2.

4. Repo ​

SSiertsema/family-choirs bestond al. Handmatig aangemaakt — dat is G8.

5. Deploy ​

  • Nieuwe context for-the-people — eigen Hetzner-host, cx23 in nbg1.
  • Connectie-artefacten in de repo-root geplaatst (dat is de impliciete conventie uit G4).
  • CI verplaatst naar root en naar GHCR laten pushen — G3.
  • Healthcheck geoverridet naar 127.0.0.1 — G6.
  • Registry-deploy, daarna geverifieerd.

Wat de run heeft geleerd ​

De frictie is in deze run steeds in de deploy-laag opgelost, omdat dat de laatste laag was waar je er nog bij kon. Dat werkt één keer. P1–P3 verplaatsen die fixes naar de stage waar ze thuishoren, zodat de volgende roundtrip minder handwerk kost.

Het naam-detail ​

Let op de spelling — het is geen typefout in dit document:

LaagNaamHerkomst
Repo / productfamily-choirsrepo-map-basename
App / env-prefixfamily-chores → FAMILYCHORES_app-naam in de config
Domeinfamilychores.nl—

Dat is G7 in het echt: twee lagen leiden de naam onafhankelijk af, en je moet het verschil met de hand managen.

Seifer — interne documentatie. Bron van waarheid blijft de repo zelf.