AP0 Schritte 0.4 und 0.6: Antworten vom 05.10. und Claude Design 0.3 eingearbeitet
tests / ci (push) Canceled after 0s
tests / ci (push) Canceled after 0s
- Fragenliste: erste Antworten von BauIn und ITM eingetragen, übrige Fragen auf „gestellt“ - Anmeldung mit eigenem Passwort, 2FA später Pflicht; keine E-Mails; Mehrfach-Upload ohne ZIP - Nur Produktionsschlüssel: Tests rufen die echte API nie auf - Stellungnahme BÜW und Österreich in Phase 2; „Vor dem Livegang zu klären“ in AP11 - Claude Design Stand 0.3 abgeglichen (AP13), Prüfmaske v4 in AP6 - Gitea von ITM als Push-Mirror eingetragen Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
2143f4e955
commit
f62541ff13
@@ -20,19 +20,21 @@ PFA und Verträgen an und laden LV-Pakete hoch. Jede wichtige Aktion wird protok
|
||||
- Rechtekonzept und Policies
|
||||
- Benutzerverwaltung
|
||||
- Projektverwaltung (Projekt, PFA, Verträge, Auftragnehmer, Mitglieder)
|
||||
- Upload und Download im privaten Speicher, auch als ZIP
|
||||
- Upload (mehrere Dateien auf einmal, kein ZIP) und Download im privaten Speicher
|
||||
- Protokoll
|
||||
- Länderstruktur
|
||||
|
||||
**Nicht enthalten:**
|
||||
- GAEB-Import (AP5)
|
||||
- Anmeldung mit dem Microsoft-Konto (erst nach Antwort B1, eigener Schritt)
|
||||
- Anmeldung mit dem Microsoft-Konto (entfällt, B1)
|
||||
- E-Mails jeder Art, auch Einladung und „Passwort vergessen“ (B3)
|
||||
- Endgültiges Design (AP13): Die Oberflächen entstehen zuerst mit TallStackUI-Standard und
|
||||
werden in AP13 angepasst.
|
||||
|
||||
## Voraussetzungen
|
||||
|
||||
- Fragen: A1 (Gliederung), A25 (Rollen), B1 (Anmeldung), B4 (Ordnerstruktur für ZIP)
|
||||
- Fragen: A1 (Gliederung), A25 (Rollen). Beantwortet am 05.10.: B1 (eigenes Passwort, 2FA später
|
||||
Pflicht), B3 (keine E-Mails), B4 (Mehrfach-Upload, kein ZIP, Ordner von Hand)
|
||||
- D5 (Actions-Runner auf dem Synology-Gitea)
|
||||
|
||||
## Entscheidungen
|
||||
@@ -41,9 +43,10 @@ PFA und Verträgen an und laden LV-Pakete hoch. Jede wichtige Aktion wird protok
|
||||
|---|---|---|---|
|
||||
| E1.1 | Projektrollen über eigene Tabelle oder Spatie-Teams? | Eigene Tabelle `projekt_mitglieder` (umgesetzt); globale Rollen über Spatie | offen |
|
||||
| E1.2 | Protokoll: Paket oder eigene Tabelle? | `spatie/laravel-activitylog` (MIT, verbreitet) | offen |
|
||||
| E1.3 | Neue Benutzer: Einladung per E-Mail mit Link zum Passwort setzen, oder Admin vergibt Startpasswort? | Einladung per E-Mail (Mailpit in der Entwicklung) | offen |
|
||||
| E1.3 | Neue Benutzer und vergessene Passwörter ohne E-Mail (B3) | Administrator vergibt ein Startpasswort, das bei der ersten Anmeldung geändert werden muss; er setzt auch vergessene Passwörter so zurück. „Passwort vergessen“ zeigt nur den Hinweis auf den Administrator | offen |
|
||||
| E1.4 | Benutzer löschen oder nur deaktivieren? | Nur deaktivieren, damit Protokoll und Zuordnungen erhalten bleiben | offen |
|
||||
| E1.5 | Darf der Administrator Projektinhalte sehen? | Nein, nur wenn er Projektmitglied ist | offen (A25) |
|
||||
| E1.6 | 2FA-Pflicht (B1) | Schalter unter Verwaltung → Einstellungen, zunächst aus. Eingeschaltet muss jeder Benutzer 2FA einrichten, bevor er weiterarbeitet; der Administrator kann 2FA eines Benutzers zurücksetzen | offen |
|
||||
|
||||
## Schritte
|
||||
|
||||
@@ -53,7 +56,9 @@ PFA und Verträgen an und laden LV-Pakete hoch. Jede wichtige Aktion wird protok
|
||||
- [x] **1.3** Nicht-funktionale Grundlagen: keine externen Ressourcen (Test), `CLAUDE.md`, Tech-Stack-Doku
|
||||
- [x] **1.4** Datenmodell Kern (`docs/datenmodell.md`). Umgesetzt vor Freigabe.
|
||||
- [ ] **1.4a** Review mit dir: Erklärung der Tabellen, Entscheidung E1.1
|
||||
- [ ] **1.4b** Anpassen nach den Antworten A1, A4, A8 und A10
|
||||
- [ ] **1.4b** Anpassen nach den Antworten A1, A4, A8 und A10 und an den Prototyp 0.3
|
||||
(AP13, Abgleich): Projekt ohne Vertragsgrundlage im Formular, Suchbereich nur ein Schalter
|
||||
„Andere Verträge im selben PFA einbeziehen“, Vertrag mit Gewerk und „Vertrag vom“
|
||||
- [ ] **1.5** CI in Gitea Actions:
|
||||
- Runner auf dem Synology prüfen bzw. einrichten (Skript von Claude Code, du führst es aus).
|
||||
- Workflow mit `composer install`, `npm run build`, Tests gegen MySQL, Pint (`--test`),
|
||||
@@ -75,21 +80,23 @@ PFA und Verträgen an und laden LV-Pakete hoch. Jede wichtige Aktion wird protok
|
||||
→ Ergebnis: Je Aktion ein Test mit und einer ohne Berechtigung.
|
||||
- [ ] **1.8** Benutzerverwaltung (Administrator):
|
||||
- Liste mit Suche
|
||||
- Anlegen (Einladung nach E1.3), Bearbeiten, Deaktivieren (E1.4)
|
||||
- Globale Rolle, Mandant, 2FA-Status
|
||||
- Anlegen mit Startpasswort (E1.3), Bearbeiten, Passwort zurücksetzen, Deaktivieren (E1.4)
|
||||
- Globale Rolle, Mandant, 2FA-Status; Schalter 2FA-Pflicht (E1.6)
|
||||
|
||||
→ Ergebnis: Verwaltung → Benutzer.
|
||||
- [ ] **1.9** Projektverwaltung:
|
||||
- Projektliste
|
||||
- Projekt anlegen in drei Schritten wie im Claude-Design-Entwurf: Projektdaten, PFA und Verträge
|
||||
mit Auftragnehmern, Mitglieder
|
||||
- Projekt anlegen in drei Schritten wie im Prototyp „Projekt anlegen v3“: Projektdaten mit PFA
|
||||
und Verträgen, Vertragsunterlagen (Upload aus 1.10), Prüfen und anlegen
|
||||
- Mitglieder im Reiter „Berechtigungen“ des Projektdetails
|
||||
- Bearbeiten, Archivieren (schreibgeschützt)
|
||||
|
||||
→ Ergebnis: Projekte → Neues Projekt.
|
||||
- [ ] **1.10** Upload und Download:
|
||||
- Speicher `storage/app/private/<mandant>/<projekt>/…`
|
||||
- Einzel- und ZIP-Upload bis 200 MB
|
||||
- Paarbildung PDF, X86, D86 nach Dateinamen; Zuordnung zu PFA und Vertrag zum Bestätigen
|
||||
- Mehrere Dateien auf einmal hochladen (Auswahl oder Ziehen), kein ZIP (B4); bis 200 MB je Datei
|
||||
- Paarbildung PDF, X86, D86 nach Dateinamen. Die Ordner bei BauIn haben keine feste Struktur
|
||||
(B4), deshalb werden PFA und Vertrag in der Anwendung gewählt bzw. je LV bestätigt
|
||||
- Prüfung von Dateityp und Größe, Erkennung von Duplikaten (sha256)
|
||||
- Download nur über eine Route mit Rechteprüfung
|
||||
|
||||
@@ -117,10 +124,13 @@ PFA und Verträgen an und laden LV-Pakete hoch. Jede wichtige Aktion wird protok
|
||||
## Tests
|
||||
|
||||
- Feature-Tests je Aktion mit und ohne Berechtigung, auch für andere Mandanten.
|
||||
- Upload: Paarbildung, zu große Datei, falscher Typ, Duplikat, ZIP mit Ordnern.
|
||||
- Upload: Paarbildung, zu große Datei, falscher Typ, Duplikat, viele Dateien auf einmal.
|
||||
- Anmeldung: Startpasswort muss geändert werden; mit eingeschalteter 2FA-Pflicht kein Zugriff
|
||||
ohne eingerichtete 2FA.
|
||||
- Protokolleinträge für die genannten Ereignisse.
|
||||
|
||||
## Risiken
|
||||
|
||||
- Die Rollen ändern sich nach A25. Deshalb das Konzept zuerst schriftlich und die Policies zentral halten.
|
||||
- Große ZIPs: Upload-Grenzen in PHP, Nginx und Livewire abstimmen und testen.
|
||||
- Große Dateien und viele Dateien auf einmal: Upload-Grenzen in PHP, Nginx und Livewire
|
||||
abstimmen und testen.
|
||||
|
||||
Reference in New Issue
Block a user