Legt das Fundament der Lern-Bar an: - Next.js 15 (App Router), React 19, TypeScript, ESLint, Vitest - SQLite ueber Drizzle hinter einer Repository-Schicht - Eigener Migrationslauf mit Pruefsummen, beim Start angewendet - Argon2id, serverseitige Sitzungen, HttpOnly-Cookie, SameSite=Lax - Rollen Ausbilder und Azubi, Rechteregeln als reine Funktionen - Verwaltung: Azubikonto und Ausbildung anlegen, Passwort, Sperren - Gestaltung Petrol/Bernstein, helle und dunkle Darstellung - Dockerfile, docker-compose, Lebenszeichen, update.sh mit Rueckfall - Sicherung und Wiederherstellung als Shell-Skripte - 29 Tests fuer Rechte, Zeitrechnung und Migrationslauf Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
41 lines
2.2 KiB
Markdown
41 lines
2.2 KiB
Markdown
# Arbeitstagebuch
|
||
|
||
Zeiten in Europe/Berlin. Jeder Abschnitt entspricht einem Baustein aus dem
|
||
[Fahrplan](ROADMAP.md).
|
||
|
||
Format: `HH:MM–HH:MM (Dauer) · was gemacht wurde`
|
||
|
||
---
|
||
|
||
## 2026-09-10 · Baustein 1 – Fundament
|
||
|
||
| Von | Bis | Dauer | Tätigkeit |
|
||
|---|---|---|---|
|
||
| 00:15 | 00:20 | 0:05 | Auftrag gesichtet, fehlende Stackvorgabe geklärt (Next.js 15 + React 19 + TypeScript), Repository angelegt |
|
||
| 00:20 | 00:28 | 0:08 | Abhängigkeiten installiert; `better-sqlite3` auf v12 gehoben, weil es für Node 24 sonst keine fertige Binärdatei gibt und der Bau über Visual Studio scheiterte |
|
||
| 00:28 | 00:40 | 0:12 | Datenbankschicht: Drizzle-Schema, eigener Migrationslauf mit Prüfsummen, Verbindung als Prozess-Singleton |
|
||
| 00:40 | 00:52 | 0:12 | Zeitrechnung (Europe/Berlin, ISO-Kalenderwochen), Argon2id, serverseitige Sitzungen, Rechteregeln als reine Funktionen |
|
||
| 00:52 | 01:10 | 0:18 | Gestaltung: Farbwelt Petrol/Bernstein, helle und dunkle Darstellung, Bedienelemente, Druckansicht |
|
||
| 01:10 | 01:25 | 0:15 | Anmeldung, Rahmenlayout, Startseite, Verwaltung (Konto und Ausbildung anlegen, Passwort, Sperren) |
|
||
| 01:25 | 01:32 | 0:07 | Erstes Ausbilderkonto über Skript angelegt, Typprüfung und Bau grün, Server geprüft |
|
||
| 01:32 | 01:50 | 0:18 | Dockerfile, docker-compose, Lebenszeichen, `update.sh` mit Rückfall, Sicherung und Wiederherstellung |
|
||
| 01:50 | 02:05 | 0:15 | Fahrplan, Änderungsprotokoll, Arbeitstagebuch, Entscheidungen, README |
|
||
|
||
**Summe Baustein 1: rund 1 h 50 min**
|
||
|
||
### Was aufgefallen ist
|
||
|
||
- Der Auftrag verweist zweimal auf einen „Kopf des Prompts" (Stack, Anmeldung),
|
||
der nicht mitgeliefert wurde. Die Anmeldung war aus den technischen Vorgaben
|
||
ableitbar, der Stack nicht – dafür gab es eine Rückfrage.
|
||
- `npm` blockiert seit Version 11 Installationsskripte fremder Pakete.
|
||
`better-sqlite3`, `esbuild` und `unrs-resolver` mussten einmalig über
|
||
`npm approve-scripts` freigegeben werden. Das gehört in die README, sonst
|
||
läuft ein Fremder in genau diese Wand.
|
||
- Windows und LF: ohne `.gitattributes` hätte Git die Shell-Skripte mit CRLF
|
||
ausgecheckt, und der Linux-Container hätte sie nicht mehr gestartet.
|
||
|
||
---
|
||
|
||
<!-- Neue Bausteine werden oben angefügt, damit der aktuelle Stand zuerst steht. -->
|