Files
planer/CHANGELOG.md
Florian WildeandClaude Opus 5 8ab4b97655 chore(release): 0.1.0
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-10 15:51:52 +02:00

2.7 KiB
Raw Permalink Blame History

Änderungen

Alle nennenswerten Änderungen an diesem Projekt stehen hier. Das Format folgt Keep a Changelog, die Versionierung Semantic Versioning.

[Unveröffentlicht]

[0.1.0] – 2026-09-10

Hinzugefügt

  • Projektgerüst mit Next 16 (App Router, output: "standalone"), React 19, TypeScript strict, Tailwind 4 und shadcn-Primitiven.
  • npm run pruefen bündelt Prettier, ESLint, tsc --noEmit, Vitest und ShellCheck. ShellCheck läuft über das Docker-Abbild, wenn es lokal fehlt.
  • Datenmodell für Benutzer mit Rolle, OIDC-Konten, Passkeys, Bereiche und Audit-Einträge; PostgreSQL 16 über Prisma 7 mit pg-Treiberadapter.
  • Anmeldung über einen generischen OIDC-Anbieter, über Passkeys (SimpleWebAuthn) und wahlweise über E-Mail und Passwort.
  • Rollen BENUTZER und ADMIN. Jede schreibende Aktion prüft die Rolle serverseitig in der Seite und noch einmal in der Server Action.
  • Audit-Protokoll für jede schreibende Aktion, mit Protokollseite für die Verwaltung. Details werden vor dem Speichern gesäubert.
  • Instanzsteuerung über INSTANZ=firma|daheim. Was eine Instanz nicht darf, liefert dort 404 und lädt seine Konfiguration gar nicht erst.
  • Bereiche mit Farbe, Arbeitsfenster und Tageskapazität je Wochentag.
  • Zeitrechnung durchgehend in Europe/Berlin, mit Tagesgrenzen, Wochenbeginn am Montag und deutschen Anzeigeformaten.
  • /api/health mit Status, Version, Instanz und Erreichbarkeit der Datenbank.
  • Hell und Dunkel, Navigation mit Rollenfilter, Oberfläche auf Deutsch.
  • Dockerfile in drei Stufen und Compose-Stapel mit eigenem Migrationsdienst.
  • backup.sh (pg_dump im Custom-Format, .env und Uploads), update.sh (mit Rückrollpfad), scripts/release.sh und scripts/zeit.sh.
  • Tests: Unit mit Vitest, Integrationstest und Migrationstest gegen eine echte Datenbank, E2E-Rauchtest mit Playwright.
  • npm run screenshots nimmt die Handbuchbilder in einer Wegwerf-Instanz mit ausschließlich erfundenen Daten auf.
  • README, Schnellstart, Handbuch, ROADMAP und DEVLOG.

Sicherheit

  • Anmeldung, Passwort und Passkey antworten bei Fehlschlag immer gleich, damit sich nicht abfragen lässt, wer ein Konto hat.
  • Sitzungen als JWT, aber Rolle und Sperrstatus werden bei jeder Anfrage frisch aus der Datenbank gelesen — eine Sperre wirkt sofort.
  • Die WebAuthn-Herausforderung wird nach einem Versuch verworfen, gleich ob er geglückt ist.
  • Der Demo-Seed verweigert den Dienst ohne DEMO_MODUS=true.
  • allowDangerousEmailAccountLinking ist bewusst aktiv: je Instanz gibt es genau einen vertrauenswürdigen OIDC-Anbieter, der die Adresse selbst prüft.