# DefektTrack – Development TODO Roadmap Ziel: Aufbau eines sicheren, rollenbasierten Defekt- und Retouren-Management-Systems für Lager, Service und Management. --- # PRIORITY 1 – CORE SECURITY & ACCESS - [x] ## 1. Login-Gate vor dem Laden der App Die eigentliche Anwendung darf erst geladen werden, nachdem sich ein Nutzer erfolgreich authentifiziert hat. - [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. - [x] ## 3. Benutzerverwaltung (Admin) Ein Administrator muss neue Benutzer anlegen, deaktivieren und verwalten können. - [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. - [ ] ## 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. - [x] ## 8. Passwort-Hashing Passwörter oder PINs dürfen niemals im Klartext gespeichert werden, sondern müssen gehasht gespeichert werden (Appwrite übernimmt dies). - [x] ## 9. Zugriffskontrolle (Role Based Access Control) Das Backend muss prüfen, ob ein Benutzer berechtigt ist, eine Aktion auszuführen. - [x] ## 10. Audit-Log Alle wichtigen Aktionen (Login, Statusänderung, Löschen, Benutzeränderungen) müssen protokolliert werden. --- # PRIORITY 2 – USER EXPERIENCE & DASHBOARDS - [x] ## 11. Rollenbasierte Startseiten Nach dem Login erhält jeder Benutzer eine andere Startseite abhängig von seiner Rolle. - [x] ## 12. Lagerkraft-Startseite Zeigt primär offene Artikel und operative Aufgaben (Tracker). - [x] ## 13. Service-Startseite Zeigt Artikel in Bearbeitung, technische Prüfungen und Kommentare (Tracker). - [x] ## 14. Filialleiter-Dashboard Zeigt Statistiken und Übersicht über alle Defektfälle der Filiale. - [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). --- # PRIORITY 3 – DEFECT MANAGEMENT CORE - [x] ## 17. Defektfall-System Das zentrale Objekt der App ist ein Defektfall mit Artikel-, Serien- und Fehlerinformationen (Assets-Collection). - [x] ## 18. Status-Workflow Statussystem für Fälle (Offen → In Bearbeitung → Entsorgt). - [x] ## 19. Prioritätssystem Fälle erhalten Prioritäten (niedrig, mittel, hoch, kritisch). - [x] ## 20. Verantwortlichkeits-System Jeder Defektfall muss einem Mitarbeiter zugewiesen werden (Zuständig-Dropdown aus Appwrite-Benutzern der Filiale). - [x] ## 21. Kommentar-System Interne Kommentare und technische Notizen zu jedem Defektfall (Kommentar-Feld, CommentPopup für Anzeige). - [x] ## 22. Defekt-Historie Alle Änderungen eines Falls müssen nachvollziehbar gespeichert werden (Audit-Log pro Asset). --- # PRIORITY 4 – SEARCH & FILTERING - [x] ## 23. Erweiterte Suche Suche nach ERL-Nummer, Artikelnummer, Seriennummer, Defektbeschreibung. - [x] ## 24. Statusfilter Filter für offene, in Bearbeitung befindliche, entsorgte Artikel. - [x] ## 25. Prioritätsfilter Filter/Sortierung nach Priorität (kritisch, hoch, mittel, niedrig). - [x] ## 26. Mitarbeiterfilter Anzeige der Fälle nach zuständigem Mitarbeiter (Sortierung „Mir zugewiesen“). --- # PRIORITY 5 – STATISTICS & ANALYTICS - [x] ## 27. Mitarbeiterstatistiken Eigene offenen, erledigten und überfälligen Fälle (Filialleiter-Dashboard: Mitarbeiter-Performance mit Erledigungsrate). - [x] ## 28. Filialstatistiken Übersicht über Defektfälle und Bearbeitungsstatus innerhalb einer Filiale. - [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. - [ ] ## 31. Häufigste Defekte Statistik über häufig auftretende Fehlerarten oder Artikelprobleme. --- # PRIORITY 6 – ORGANISATION STRUCTURE - [x] ## 32. Filial-System Unterstützung mehrerer Standorte innerhalb eines Unternehmens (locations-Collection, Admin verwaltet Filialen). - [x] ## 33. Standortzuweisung für Benutzer Benutzer gehören zu einer bestimmten Filiale (users_meta.locationId). - [x] ## 34. Standortfilter für Daten Filialleiter sehen nur Daten ihrer Filiale, Firmenleiter sehen alle Daten. --- # PRIORITY 7 – SYSTEM FEATURES - [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. - [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 (Toasts vorhanden, keine gezielten Alerts). --- # PRIORITY 8 – FUTURE FEATURES - [ ] ## 39. Datei-Uploads Anhänge wie Fotos von Schäden oder Dokumente zu Defektfällen. - [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. - [ ] ## 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.