From 6865bae05e96aa1c660ebff93f088aef5223d707 Mon Sep 17 00:00:00 2001 From: Florian Wilde Date: Sat, 22 Aug 2026 07:32:32 +0200 Subject: [PATCH] docs: Betriebswissen und Stand in die README Vier Dinge, die beim Bauen Zeit gekostet haben und die nirgends stehen: - Dev-Server und Build schreiben beide nach .next. Laufen sie gleichzeitig, fehlen dem Build einzelne Chunks, und die Meldung (Cannot find module './638.js') zeigt nicht auf die Ursache. - AUTH_URL muss exakt der aufgerufenen Adresse entsprechen. Steht dort localhost und man ruft 127.0.0.1 auf, wird das Sitzungs-Cookie fuer die falsche Herkunft gesetzt - die Anmeldung landet stumm wieder auf dem Formular, ohne Fehlermeldung. - Der Standalone-Server liest keine .env. Im Behaelter kommen alle Variablen aus dem environment-Abschnitt. - Die beiden SQL-Skripte laufen nicht mit den Migrationen mit. Dazu ein kurzer Abschnitt mit dem Stand: 71.051 Zeilen, 24 Modelle, 46 Seiten, 458 Unit-Tests, 34 End-to-End-Tests, null Typfehler. Etappe: 8 Phase: Haertung --- README.md | 39 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index ec3aa79..33f691e 100644 --- a/README.md +++ b/README.md @@ -497,6 +497,24 @@ Schreibtisch und am Handy, hell und dunkel. Setzt voraus, dass `SEED_DEV_TOTP_SECRET` in der `.env` steht — das gilt nur außerhalb der Produktion. +### Betriebswissen, das man einmal gebraucht hat + +- **Nicht gleichzeitig `npm run dev` und `npm run build` laufen lassen.** + Beide schreiben nach `.next`; das Ergebnis ist ein Build, dem einzelne + Chunks fehlen, und der Fehler (`Cannot find module './638.js'`) zeigt + nicht auf die Ursache. Im Zweifel `rm -rf .next` und neu bauen. +- **`AUTH_URL` muss exakt der Adresse entsprechen, unter der du die + Anwendung aufrufst** — bis auf Port und Schreibweise. Steht dort + `localhost` und du rufst `127.0.0.1` auf, wird das Sitzungs-Cookie für + die falsche Herkunft gesetzt und die Anmeldung landet stumm wieder auf + dem Formular. +- Der Standalone-Server (`node server.js`, so startet der Container) liest + **keine `.env`**. Alle Variablen kommen von außen — im Compose-Setup + über den Abschnitt `environment:`. +- Beim ersten Start eines Containers laufen die Migrationen automatisch + mit. Die beiden SQL-Skripte (Volltextsuche, Audit-Schutz) sind + **einmalig von Hand** anzustoßen, siehe oben. + ### Technische Grundlage Next.js 15 (App Router) · TypeScript · Tailwind CSS · shadcn/ui-Bausteine · @@ -520,4 +538,23 @@ npm run protokoll # Tabelle auf der Konsole npm run protokoll:md # Markdown für docs/BAUPROTOKOLL.md ``` -Der aktuelle Stand liegt in [`docs/BAUPROTOKOLL.md`](docs/BAUPROTOKOLL.md). +Der aktuelle Stand liegt in [`docs/BAUPROTOKOLL.md`](docs/BAUPROTOKOLL.md) — +dort stehen auch die Laufzeiten der parallel gebauten Etappen und die +Fehler, die während des Baus aufgefallen sind. + +--- + +## Stand + +| | | +|---|---:| +| Zeilen TypeScript/TSX | 71.051 | +| Prisma-Modelle | 24 | +| Seiten | 46 | +| Unit-Tests (Vitest) | 458 | +| End-to-End-Tests (Playwright) | 34 | +| TypeScript-Fehler | 0 | + +Alle acht Etappen sind umgesetzt. Der Produktionsbuild ist gegen den +fertigen Standalone-Server geprüft: strenge CSP aktiv, keine +Konsolenfehler, keine Anfrage an einen fremden Host.