# 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. ---