- Mandant, Auftragnehmer, Projekt mit Suchreihenfolge, Abschnitt (PFA), Vertrag,
Leistungsverzeichnis, Nachtrag (MKA nur als Bezug), Nachtragsposition, Dokument
- Projektmitglieder mit Projektrolle, Freigaben für vertrauliche Dokumente
- Mandant, Land und Projekt werden vom übergeordneten Datensatz übernommen;
Fehlzuordnungen über Mandanten oder Projekte hinweg werden abgewiesen
- Feste Morph-Map, Factories, Demodaten (Musterbahn, PFA 1–4, N14/N16/N21), Tests
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Sprache je Benutzer (users.locale), Middleware SetLocale, Auswahl unter
Einstellungen → Darstellung; angebotene Sprachen in config/app.php
- Übersetzungen über Laravel Lang (lang/de.json, lang/de/*.php), Seitentitel
aus #[Title] werden übersetzt
- Eigene Texte und Korrekturen in lang/project/de.json, übernommen mit
`artisan lang:apply-project` (überstehen `lang:update`)
- Tests: jede im Code verwendete Übersetzung ist vorhanden, eigene
Übersetzungen sind übernommen, Sprachwahl und Standardsprache;
SecurityTest prüft Texte sprachunabhängig über __()
- lang/ von Pint ausgenommen (erzeugte Dateien)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- TallStackUI 4 (MIT) statt Flux; Komponenten mit Präfix ts- (<x-ts-…>)
- Layouts, Login-, Passwort-, 2FA- und Einstellungsseiten neu aufgebaut
- Livewire-Skripte explizit in beiden Layouts, damit Alpine auch auf den
Fortify-Seiten ohne Livewire-Komponente läuft
- Dark Mode über tallstackui_darkTheme(), ohne Aufblitzen beim Laden
- Registrierungs-View und ungenutzte Layout-Varianten entfernt
- Test: Seiten laden keine Ressourcen von fremden Hosts (Vorgabe "alles lokal")
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Livewire-Starter-Kit (Livewire 4, Flux, Fortify) mit Pest
- Sail mit PHP 8.5, MySQL 8.4, Redis, Meilisearch 1.54.2, Mailpit
- Registrierung deaktiviert, 2FA und Passkeys verfügbar
- Spatie laravel-permission
- gitleaks als Pre-Commit-Hook (.githooks)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>