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
This commit is contained in:
Florian Wilde
2026-08-22 07:32:32 +02:00
parent 468202249a
commit 6865bae05e
+38 -1
View File
@@ -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.