185 lines
7.5 KiB
Markdown
185 lines
7.5 KiB
Markdown
# 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.
|