31 von 45 = ca. 69 %
31 punkter der todo liste abgeabeitet
This commit is contained in:
187
todos.md
187
todos.md
@@ -6,162 +6,179 @@ Ziel: Aufbau eines sicheren, rollenbasierten Defekt- und Retouren-Management-Sys
|
||||
|
||||
# PRIORITY 1 – CORE SECURITY & ACCESS
|
||||
|
||||
## 1. Login-Gate vor dem Laden der App
|
||||
Die eigentliche Anwendung darf erst geladen werden, nachdem sich ein Nutzer erfolgreich authentifiziert hat.
|
||||
- [x] ## 1. Login-Gate vor dem Laden der App
|
||||
Die eigentliche Anwendung darf erst geladen werden, nachdem sich ein Nutzer erfolgreich authentifiziert hat.
|
||||
|
||||
## 2. Session-System (Login bleibt bis Browser geschlossen wird)
|
||||
Der Login bleibt aktiv, bis der Browser geschlossen wird, damit Mitarbeiter nicht ständig neu einloggen müssen.
|
||||
- [x] ## 2. Session-System (Login bleibt bis Browser geschlossen wird)
|
||||
Der Login bleibt aktiv, bis der Browser geschlossen wird, damit Mitarbeiter nicht ständig neu einloggen müssen.
|
||||
|
||||
## 3. Benutzerverwaltung (Admin)
|
||||
Ein Administrator muss neue Benutzer anlegen, deaktivieren und verwalten können.
|
||||
- [x] ## 3. Benutzerverwaltung (Admin)
|
||||
Ein Administrator muss neue Benutzer anlegen, deaktivieren und verwalten können.
|
||||
|
||||
## 4. Rollen-System
|
||||
Jeder Benutzer erhält intern eine Rolle (z.B. Lager, Service, Filialleiter, Firmenleiter), die bestimmt, welche Funktionen und Ansichten sichtbar sind.
|
||||
- [x] ## 4. Rollen-System
|
||||
Jeder Benutzer erhält intern eine Rolle (z.B. Lager, Service, Filialleiter, Firmenleiter), die bestimmt, welche Funktionen und Ansichten sichtbar sind.
|
||||
|
||||
## 5. Startpasswort-System
|
||||
Neue Benutzer erhalten ein Standardpasswort (z.B. 0000), das nach dem ersten Login geändert werden muss.
|
||||
- [ ] ## 5. Startpasswort-System
|
||||
Neue Benutzer erhalten ein Standardpasswort (z.B. 0000), das nach dem ersten Login geändert werden muss.
|
||||
|
||||
## 6. Passwort-Änderungspflicht
|
||||
Startpasswörter müssen innerhalb von 24 Stunden geändert werden, sonst wird eine Warnung oder Benachrichtigung ausgelöst.
|
||||
- [ ] ## 6. Passwort-Änderungspflicht
|
||||
Startpasswörter müssen innerhalb von 24 Stunden geändert werden, sonst wird eine Warnung oder Benachrichtigung ausgelöst.
|
||||
|
||||
## 7. PIN-Login-System
|
||||
Login erfolgt über Benutzername + 4-stelligen PIN, den der Benutzer nach dem ersten Login selbst festlegt.
|
||||
- [ ] ## 7. PIN-Login-System
|
||||
Login erfolgt über Benutzername + 4-stelligen PIN, den der Benutzer nach dem ersten Login selbst festlegt.
|
||||
|
||||
## 8. Passwort-Hashing
|
||||
Passwörter oder PINs dürfen niemals im Klartext gespeichert werden, sondern müssen gehasht gespeichert werden.
|
||||
- [x] ## 8. Passwort-Hashing
|
||||
Passwörter oder PINs dürfen niemals im Klartext gespeichert werden, sondern müssen gehasht gespeichert werden (Appwrite übernimmt dies).
|
||||
|
||||
## 9. Zugriffskontrolle (Role Based Access Control)
|
||||
Das Backend muss prüfen, ob ein Benutzer berechtigt ist, eine Aktion auszuführen.
|
||||
- [x] ## 9. Zugriffskontrolle (Role Based Access Control)
|
||||
Das Backend muss prüfen, ob ein Benutzer berechtigt ist, eine Aktion auszuführen.
|
||||
|
||||
## 10. Audit-Log
|
||||
Alle wichtigen Aktionen (Login, Statusänderung, Löschen, Benutzeränderungen) müssen protokolliert werden.
|
||||
- [x] ## 10. Audit-Log
|
||||
Alle wichtigen Aktionen (Login, Statusänderung, Löschen, Benutzeränderungen) müssen protokolliert werden.
|
||||
|
||||
---
|
||||
|
||||
# PRIORITY 2 – USER EXPERIENCE & DASHBOARDS
|
||||
|
||||
## 11. Rollenbasierte Startseiten
|
||||
Nach dem Login erhält jeder Benutzer eine andere Startseite abhängig von seiner Rolle.
|
||||
- [x] ## 11. Rollenbasierte Startseiten
|
||||
Nach dem Login erhält jeder Benutzer eine andere Startseite abhängig von seiner Rolle.
|
||||
|
||||
## 12. Lagerkraft-Startseite
|
||||
Zeigt primär offene Artikel und operative Aufgaben.
|
||||
- [x] ## 12. Lagerkraft-Startseite
|
||||
Zeigt primär offene Artikel und operative Aufgaben (Tracker).
|
||||
|
||||
## 13. Service-Startseite
|
||||
Zeigt Artikel in Bearbeitung, technische Prüfungen und Kommentare.
|
||||
- [x] ## 13. Service-Startseite
|
||||
Zeigt Artikel in Bearbeitung, technische Prüfungen und Kommentare (Tracker).
|
||||
|
||||
## 14. Filialleiter-Dashboard
|
||||
Zeigt Statistiken und Übersicht über alle Defektfälle der Filiale.
|
||||
- [x] ## 14. Filialleiter-Dashboard
|
||||
Zeigt Statistiken und Übersicht über alle Defektfälle der Filiale.
|
||||
|
||||
## 15. Firmenleiter-Dashboard
|
||||
Zeigt Gesamtstatistiken über alle Filialen und Unternehmensdaten.
|
||||
- [x] ## 15. Firmenleiter-Dashboard
|
||||
Zeigt Gesamtstatistiken über alle Filialen und Unternehmensdaten.
|
||||
|
||||
## 16. Automatische Filter je Rolle
|
||||
Standardfilter werden automatisch gesetzt (z.B. Lager sieht offene Fälle zuerst).
|
||||
- [ ] ## 16. Automatische Filter je Rolle
|
||||
Standardfilter werden automatisch gesetzt (z.B. Lager sieht offene Fälle zuerst).
|
||||
|
||||
---
|
||||
|
||||
# PRIORITY 3 – DEFECT MANAGEMENT CORE
|
||||
|
||||
## 17. Defektfall-System
|
||||
Das zentrale Objekt der App ist ein Defektfall mit Artikel-, Serien- und Fehlerinformationen.
|
||||
- [x] ## 17. Defektfall-System
|
||||
Das zentrale Objekt der App ist ein Defektfall mit Artikel-, Serien- und Fehlerinformationen (Assets-Collection).
|
||||
|
||||
## 18. Status-Workflow
|
||||
Statussystem für Fälle (Offen → In Bearbeitung → Erledigt → Entsorgt).
|
||||
- [x] ## 18. Status-Workflow
|
||||
Statussystem für Fälle (Offen → In Bearbeitung → Entsorgt).
|
||||
|
||||
## 19. Prioritätssystem
|
||||
Fälle erhalten Prioritäten (niedrig, mittel, hoch, kritisch).
|
||||
- [x] ## 19. Prioritätssystem
|
||||
Fälle erhalten Prioritäten (niedrig, mittel, hoch, kritisch).
|
||||
|
||||
## 20. Verantwortlichkeits-System
|
||||
Jeder Defektfall muss einem Mitarbeiter zugewiesen werden.
|
||||
- [x] ## 20. Verantwortlichkeits-System
|
||||
Jeder Defektfall muss einem Mitarbeiter zugewiesen werden (Zuständig-Dropdown aus Appwrite-Benutzern der Filiale).
|
||||
|
||||
## 21. Kommentar-System
|
||||
Interne Kommentare und technische Notizen zu jedem Defektfall.
|
||||
- [x] ## 21. Kommentar-System
|
||||
Interne Kommentare und technische Notizen zu jedem Defektfall (Kommentar-Feld, CommentPopup für Anzeige).
|
||||
|
||||
## 22. Defekt-Historie
|
||||
Alle Änderungen eines Falls müssen nachvollziehbar gespeichert werden.
|
||||
- [x] ## 22. Defekt-Historie
|
||||
Alle Änderungen eines Falls müssen nachvollziehbar gespeichert werden (Audit-Log pro Asset).
|
||||
|
||||
---
|
||||
|
||||
# PRIORITY 4 – SEARCH & FILTERING
|
||||
|
||||
## 23. Erweiterte Suche
|
||||
Suche nach ERL-Nummer, Seriennummer, Artikelnummer oder Beschreibung.
|
||||
- [x] ## 23. Erweiterte Suche
|
||||
Suche nach ERL-Nummer, Artikelnummer, Seriennummer, Defektbeschreibung.
|
||||
|
||||
## 24. Statusfilter
|
||||
Filter für offene, in Bearbeitung befindliche, erledigte oder entsorgte Artikel.
|
||||
- [x] ## 24. Statusfilter
|
||||
Filter für offene, in Bearbeitung befindliche, entsorgte Artikel.
|
||||
|
||||
## 25. Prioritätsfilter
|
||||
Filter für kritische oder wichtige Fälle.
|
||||
- [x] ## 25. Prioritätsfilter
|
||||
Filter/Sortierung nach Priorität (kritisch, hoch, mittel, niedrig).
|
||||
|
||||
## 26. Mitarbeiterfilter
|
||||
Anzeige der Fälle nach zuständigem Mitarbeiter.
|
||||
- [x] ## 26. Mitarbeiterfilter
|
||||
Anzeige der Fälle nach zuständigem Mitarbeiter (Sortierung „Mir zugewiesen“).
|
||||
|
||||
---
|
||||
|
||||
# PRIORITY 5 – STATISTICS & ANALYTICS
|
||||
|
||||
## 27. Mitarbeiterstatistiken
|
||||
Eigene offenen, erledigten und überfälligen Fälle eines Mitarbeiters.
|
||||
- [x] ## 27. Mitarbeiterstatistiken
|
||||
Eigene offenen, erledigten und überfälligen Fälle (Filialleiter-Dashboard: Mitarbeiter-Performance mit Erledigungsrate).
|
||||
|
||||
## 28. Filialstatistiken
|
||||
Übersicht über Defektfälle und Bearbeitungsstatus innerhalb einer Filiale.
|
||||
- [x] ## 28. Filialstatistiken
|
||||
Übersicht über Defektfälle und Bearbeitungsstatus innerhalb einer Filiale.
|
||||
|
||||
## 29. Unternehmensstatistiken
|
||||
Gesamtübersicht aller Filialen mit Vergleich der Leistungskennzahlen.
|
||||
- [x] ## 29. Unternehmensstatistiken
|
||||
Gesamtübersicht aller Filialen mit Vergleich der Leistungskennzahlen (Firmenleiter-Dashboard).
|
||||
|
||||
## 30. Bearbeitungszeit-Analyse
|
||||
Durchschnittliche Dauer vom Anlegen bis zur Lösung eines Defektfalls.
|
||||
- [ ] ## 30. Bearbeitungszeit-Analyse
|
||||
Durchschnittliche Dauer vom Anlegen bis zur Lösung eines Defektfalls.
|
||||
|
||||
## 31. Häufigste Defekte
|
||||
Statistik über häufig auftretende Fehlerarten oder Artikelprobleme.
|
||||
- [ ] ## 31. Häufigste Defekte
|
||||
Statistik über häufig auftretende Fehlerarten oder Artikelprobleme.
|
||||
|
||||
---
|
||||
|
||||
# PRIORITY 6 – ORGANISATION STRUCTURE
|
||||
|
||||
## 32. Filial-System
|
||||
Unterstützung mehrerer Standorte innerhalb eines Unternehmens.
|
||||
- [x] ## 32. Filial-System
|
||||
Unterstützung mehrerer Standorte innerhalb eines Unternehmens (locations-Collection, Admin verwaltet Filialen).
|
||||
|
||||
## 33. Standortzuweisung für Benutzer
|
||||
Benutzer gehören zu einer bestimmten Filiale.
|
||||
- [x] ## 33. Standortzuweisung für Benutzer
|
||||
Benutzer gehören zu einer bestimmten Filiale (users_meta.locationId).
|
||||
|
||||
## 34. Standortfilter für Daten
|
||||
Filialleiter sehen nur Daten ihrer Filiale, Firmenleiter sehen alle Daten.
|
||||
- [x] ## 34. Standortfilter für Daten
|
||||
Filialleiter sehen nur Daten ihrer Filiale, Firmenleiter sehen alle Daten.
|
||||
|
||||
---
|
||||
|
||||
# PRIORITY 7 – SYSTEM FEATURES
|
||||
|
||||
## 35. Export-Funktion
|
||||
Datenexport für Berichte oder Archivierung.
|
||||
- [x] ## 35. Export-Funktion
|
||||
Datenexport für Berichte oder Archivierung (JSON-Export im Header).
|
||||
|
||||
## 36. Import-Funktion
|
||||
Import von Datensätzen für Migration oder Synchronisation.
|
||||
- [ ] ## 36. Import-Funktion
|
||||
Import von Datensätzen für Migration oder Synchronisation.
|
||||
|
||||
## 37. Druckansicht
|
||||
Optimierte Druckansicht für Berichte oder Listen.
|
||||
- [x] ## 37. Druckansicht
|
||||
Optimierte Druckansicht für Berichte oder Listen (Drucken-Button in der Asset-Tabelle).
|
||||
|
||||
## 38. Benachrichtigungen
|
||||
Systemmeldungen bei kritischen oder überfälligen Defektfällen.
|
||||
- [ ] ## 38. Benachrichtigungen
|
||||
Systemmeldungen bei kritischen oder überfälligen Defektfällen (Toasts vorhanden, keine gezielten Alerts).
|
||||
|
||||
---
|
||||
|
||||
# PRIORITY 8 – FUTURE FEATURES
|
||||
|
||||
## 39. Datei-Uploads
|
||||
Anhänge wie Fotos von Schäden oder Dokumente zu Defektfällen.
|
||||
- [ ] ## 39. Datei-Uploads
|
||||
Anhänge wie Fotos von Schäden oder Dokumente zu Defektfällen.
|
||||
|
||||
## 40. Mobile Optimierung
|
||||
Optimierte Nutzung für Tablets oder mobile Geräte im Lager.
|
||||
- [x] ## 40. Mobile Optimierung
|
||||
Optimierte Nutzung für Tablets oder mobile Geräte im Lager (responsive Layout, Sidebar ausgeblendet auf Mobile, Form unten).
|
||||
|
||||
## 41. API-Schnittstellen
|
||||
Möglichkeit zur Integration mit anderen Systemen.
|
||||
- [ ] ## 41. API-Schnittstellen
|
||||
Möglichkeit zur Integration mit anderen Systemen.
|
||||
|
||||
## 42. Automatische Eskalationen
|
||||
Fälle werden automatisch markiert, wenn sie zu lange unbearbeitet bleiben.
|
||||
- [ ] ## 42. Automatische Eskalationen
|
||||
Fälle werden automatisch markiert, wenn sie zu lange unbearbeitet bleiben.
|
||||
|
||||
---
|
||||
|
||||
# ERGÄNZUNGEN (bereits umgesetzt, nicht im Original-Roadmap)
|
||||
|
||||
- [x] **Appwrite-Integration** – Auth, Teams, Databases; Collections: locations, users_meta, lagerstandorte, assets, audit_logs.
|
||||
- [x] **Produkte → Assets** – Umbenennung, eigene Collection, Verknüpfung mit Lagerstandort und Location.
|
||||
- [x] **Lagerstandorte** – Pro Filiale mehrere Lagerstandorte, verwaltbar über Button im Dashboard (LagerstandortManager).
|
||||
- [x] **Asset-Detailseite** – Eigene Seite `/asset/:id` mit allen Eigenschaften, Bearbeiten-Modus, Audit-Log (Konsolen-Style).
|
||||
- [x] **Bearbeiten statt Löschen** – Button „Bearbeiten“ öffnet Asset-Detailseite.
|
||||
- [x] **Header** – Standortname neben DefektTrack, Navigation Admin / Filialleiter / Firmenleiter, User-Dropdown mit Logout, Export.
|
||||
- [x] **Admin: Filialen verwalten** – Filialen anlegen, bearbeiten, aktivieren/deaktivieren, löschen.
|
||||
- [x] **Zuständig-Dropdown** – Default eigener Name, Auswahl nur Mitarbeiter der gleichen Filiale (Appwrite).
|
||||
- [x] **Audit-Log Erfassung** – Bei Erstellung: „für sich selbst erfasst“ vs. „von X für Y erfasst“; bei Bearbeitung und Statusänderung.
|
||||
- [x] **UI-Redesign mit shadcn/ui** – Button, Input, Card, Table, Badge, Dialog, Select, Sonner-Toast, einheitliches Design.
|
||||
- [x] **Header clean/minimal** – Heller Header, keine horizontale Scrollbar, User-Dropdown mit DropdownMenuGroup-Fix.
|
||||
- [x] **Layout: fixe Sidebar links** – „Defekte Ware erfassen“ als fixe linke Sidebar (380px), rechts Status-Karten + Asset-Tabelle, kein horizontaler Scroll.
|
||||
|
||||
---
|
||||
|
||||
# PROJECT GOAL
|
||||
|
||||
Ein sicheres, rollenbasiertes System zur Verwaltung defekter Artikel in Lager, Service und Management mit klaren Verantwortlichkeiten, Nachverfolgbarkeit und statistischen Auswertungen.
|
||||
Ein sicheres, rollenbasiertes System zur Verwaltung defekter Artikel in Lager, Service und Management mit klaren Verantwortlichkeiten, Nachverfolgbarkeit und statistischen Auswertungen.
|
||||
|
||||
Reference in New Issue
Block a user