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>
2.2 KiB
2.2 KiB
Arbeitstagebuch
Zeiten in Europe/Berlin. Jeder Abschnitt entspricht einem Baustein aus dem Fahrplan.
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.
npmblockiert seit Version 11 Installationsskripte fremder Pakete.better-sqlite3,esbuildundunrs-resolvermussten einmalig übernpm approve-scriptsfreigegeben werden. Das gehört in die README, sonst läuft ein Fremder in genau diese Wand.- Windows und LF: ohne
.gitattributeshätte Git die Shell-Skripte mit CRLF ausgecheckt, und der Linux-Container hätte sie nicht mehr gestartet.