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:
@@ -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
|
`SEED_DEV_TOTP_SECRET` in der `.env` steht — das gilt nur außerhalb der
|
||||||
Produktion.
|
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
|
### Technische Grundlage
|
||||||
|
|
||||||
Next.js 15 (App Router) · TypeScript · Tailwind CSS · shadcn/ui-Bausteine ·
|
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
|
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.
|
||||||
|
|||||||
Reference in New Issue
Block a user