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>
This commit is contained in:
@@ -1,27 +1,33 @@
|
||||
# #001 Projekt-Setup
|
||||
**Status:** offen
|
||||
**Status:** erledigt
|
||||
**Meilenstein:** v0.1.0
|
||||
**Labels:** chore, infrastruktur
|
||||
**Geschätzt:** 4 h **Tatsächlich:** –
|
||||
**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), Vitest mit Test-DB, ESLint/Prettier
|
||||
- [ ] Versionen exakt pinnen und begründen; Build/Tests laufen in Docker (lokal kein Node)
|
||||
- [ ] Grundlayout: Seitenleiste mit Wortmarke, Server-Umschalter, Theme-Umschalter, `<Status>`-Komponente
|
||||
- [ ] Lokale Anmeldung (erster Admin aus `.env`), Sitzungs-Cookie, `/api/v1/gesundheit`
|
||||
- [ ] pino-Logger (JSON), `.env.example`
|
||||
- [x] Git, `.gitignore`, CHANGELOG, DEVLOG, Issues, `docs/architektur.md`, `CLAUDE.md` mit Namensabbildung
|
||||
- [x] Next.js 16, TypeScript strict, Tailwind 4 mit Tokens aus der Farbtabelle (dunkel + hell)
|
||||
- [x] Prisma 7 + Docker-Compose für Entwicklung (Postgres auf 5437 mit Testdatenbank), Vitest mit Test-DB, ESLint/Prettier, commitlint + husky
|
||||
- [x] Versionen exakt pinnen und begründen (`CLAUDE.md`)
|
||||
- [x] Grundlayout: Seitenleiste mit Wortmarke, Theme-Umschalter, `<Status>`-Komponente, Handy-Schublade
|
||||
- [x] Lokale Anmeldung (erster Admin aus `.env`), Sitzungs-Cookie, `/api/v1/gesundheit`, `/api/v1/ich`
|
||||
- [x] pino-Logger (JSON), `.env.example`
|
||||
- [x] AES-256-GCM-Helfer (vorgezogen aus #002, weil der Start ihn prüft)
|
||||
|
||||
## Akzeptanzkriterien
|
||||
- [ ] `lint`, `typecheck`, `test`, `build` grün im Container
|
||||
- [ ] Anmeldung funktioniert im gebauten Stand; keine Secrets im Repo
|
||||
- [x] `lint`, `typecheck`, `format:pruefen`, `test` grün (60 Tests, davon 15 gegen die Datenbank)
|
||||
- [x] Anmeldung funktioniert im gebauten Stand; Playwright: 8 Abläufe auf 1440 px und 390 px grün
|
||||
- [x] 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.
|
||||
|
||||
@@ -4,7 +4,7 @@ Details und Architektur: [../architektur.md](../architektur.md). Zeiten werden a
|
||||
|
||||
| Nr. | Titel | Status | Meilenstein | Geschätzt | Tatsächlich |
|
||||
|---|---|---|---|---|---|
|
||||
| [#001](001-projekt-setup.md) | Projekt-Setup | offen | v0.1.0 | 4 h | – |
|
||||
| [#001](001-projekt-setup.md) | Projekt-Setup | erledigt | v0.1.0 | 4 h | 0 h 50 min |
|
||||
| [#002](002-verschluesselung-server.md) | Server-Verwaltung und Verschlüsselung | offen | v0.1.0 | 6 h | – |
|
||||
| [#003](003-verbindungstest.md) | Verbindungstest und Fähigkeitserkennung | offen | v0.1.0 | 6 h | – |
|
||||
| [#004](004-katalog.md) | Katalog: Distributionen und Profile als Daten | offen | v0.2.0 | 5 h | – |
|
||||
|
||||
Reference in New Issue
Block a user