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.1G6.
  • 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-choresFAMILYCHORES_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.