Files
proxdeploy/docs/issues/001-projekt-setup.md
T
florian.wildeandClaude Opus 5.5 871bb3a77c feat: Grundgerüst mit Anmeldung, Layout und Design-Tokens
Next.js 16, Prisma 7, Tailwind 4 und Vitest/Playwright, Konfiguration aus
Laufzettel übernommen, weil dort derselbe Stack erprobt ist.

Die Farben der Branding-Vorgabe stehen als Tokens in globals.css, das
helle Theme setzt dieselben Namen neu. Amber und Rot sind dort
abgedunkelt, sonst reicht der Kontrast nicht – ein Test prüft beide
Themes gegen 4,5:1.

Anmeldung mit lokalem Benutzer, Rolle je Anfrage aus der Datenbank,
Audit-Log per Trigger nur anhängbar. Geprüft im gebauten Stand auf
1440 px und 390 px.

Closes #001

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 09:23:41 +02:00

1.7 KiB
Raw Blame History

#001 Projekt-Setup

Status: erledigt Meilenstein: v0.1.0 Labels: chore, infrastruktur Geschätzt: 4 h Tatsächlich: 0 h 50 min

Ziel

Lauffähiges Grundgerüst mit Projektorganisation, Design-Tokens und Prüfwerkzeugen.

Aufgaben

  • Git, .gitignore, CHANGELOG, DEVLOG, Issues, docs/architektur.md, CLAUDE.md mit Namensabbildung
  • Next.js 16, TypeScript strict, Tailwind 4 mit Tokens aus der Farbtabelle (dunkel + hell)
  • Prisma 7 + Docker-Compose für Entwicklung (Postgres auf 5437 mit Testdatenbank), Vitest mit Test-DB, ESLint/Prettier, commitlint + husky
  • Versionen exakt pinnen und begründen (CLAUDE.md)
  • Grundlayout: Seitenleiste mit Wortmarke, Theme-Umschalter, <Status>-Komponente, Handy-Schublade
  • Lokale Anmeldung (erster Admin aus .env), Sitzungs-Cookie, /api/v1/gesundheit, /api/v1/ich
  • pino-Logger (JSON), .env.example
  • AES-256-GCM-Helfer (vorgezogen aus #002, weil der Start ihn prüft)

Akzeptanzkriterien

  • lint, typecheck, format:pruefen, test grün (60 Tests, davon 15 gegen die Datenbank)
  • Anmeldung funktioniert im gebauten Stand; Playwright: 8 Abläufe auf 1440 px und 390 px grün
  • Keine Secrets im Repo

Abhängigkeiten

–

Notizen / Entscheidungen

  • Node läuft über nvm (nicht systemweit) – Docker ist für die Builds nicht nötig.
  • Server-Umschalter in der Seitenleiste folgt mit #002, wenn es Server gibt.
  • Navigationseinträge tragen ab: "#NNN" und erscheinen erst, wenn ihr Issue fertig ist.
  • Anmeldesperre: 10 Fehlversuche je Benutzername und Adresse in 15 min, im Speicher.
  • Das Protokoll ist per Trigger nur anhängbar; nur das Nullsetzen von benutzerId beim Löschen eines Benutzers ist erlaubt.