Modernes Reparatur- und Auftragsmanagement für Werkstätten, Service-Teams und Ersatzteilprozesse.
ProductManager bildet den kompletten Weg einer Reparaturanfrage ab: vom ersten Kunden-Login über die Anfrage, die interne Bearbeitung und Kommunikation bis hin zur Ersatzteilverwaltung, Statusverfolgung und Reparaturwert-Auswertung.
- Registrierung und Login mit E-Mail-Verifizierung
- Neue Reparaturanfragen erstellen (Gerät, Problembeschreibung, Verdacht)
- Eigene Anfragen und deren Status einsehen
- Echtzeit-Chat pro Anfrage
- In-App-Benachrichtigungen mit Badge-Zähler (als gelesen markieren, löschen)
- Reparaturwert-Tile: Gegenüberstellung Reparaturkosten (grün) vs. Neukaufwert (gelb)
- Reparatur-Graph der Arbeitsschritte in Lesansicht
- Reparaturverlauf-Timeline (Gantt) mit Verweildauer pro Status, sofern vom Admin freigegeben
- Status-E-Mails bei Empfang und Versand des Geräts
- Übersicht und Detailansicht aller Reparaturanfragen
- Anfragen annehmen, ablehnen, abschließen, stornieren, archivieren
- Mitarbeiter einer Anfrage zuweisen
- Arbeitsschritte (Work Items) anlegen, bearbeiten, löschen
- Status: PENDING, IN_PROGRESS, DONE
- Mitarbeiter-Zuweisung pro Schritt
- Standardschritte zurücksetzen
- Ersatzteil-Bestellungen pro Arbeitsschritt
- Teile aus dem Katalog hinzufügen (Menge, Lieferant, Kostenschätzung)
- Statusverlauf: DRAFT → ORDERED → SHIPPED → RECEIVED → INSTALLED
- Reparaturgerät anlegen und bearbeiten (Seriennummer, Anzeigename, Notizen)
- Reparaturstatus-Phasen setzen (RECEIVED → IN_DIAGNOSIS → WAITING_FOR_PARTS → IN_REPAIR → IN_QA → IN_OUTGOING → ...)
- Chat mit Kunden
- Verlauf / Archiv abgeschlossener Aufträge
- Reparaturwert-Tile und Reparaturverlauf-Timeline (Gantt)
- Gerätekatalog verwalten (Geräte, Marken, Kategorien)
- Arbeitsschritttypen verwalten
- Ersatzteilkatalog verwalten (Name, Hersteller, SKU, Einkaufs- und Verkaufspreis)
- Systemkonfiguration (Stundensatz, Reparaturverlauf für Kunden ein-/ausblenden)
- Demo-Modus: Beispieldaten und Demo-User (
demo/demo) per Schalter erzeugen bzw. entfernen
- Socket.IO für Chat-Nachrichten und Benachrichtigungs-Badges
- Automatische Zustandssynchronisation (Anfragestatus aus Arbeitsschritt-Completion)
- Benachrichtigungs-Digest per E-Mail (konfigurierbar)
- E-Mails: Kontobestätigung, Passwort-Reset, Anfrage-Annahme, Gerät empfangen, Gerät unterwegs
- JWT-Sessions in Redis (kein DB-Session-Store)
- Rollenbasierte Zugriffskontrolle: CUSTOMER / STAFF / ADMIN
- Rate-Limiting für Auth-Endpunkte
- Auto-Logout bei abgelaufenem Token (401-Interceptor)
- 📦 Warteschlange mit geschätzter Restzeit auf Basis der aktuellen Auslastung
- 📊 Statistik- und Graph-Ansichten für Gerätetypen, Reparaturarten und Team-Auswertung
Siehe Detaillierter Ablauf für den vollständigen End-to-End-Prozess.
- Bun
- Docker und Docker Compose (bevorzugter lokaler Workflow)
bun devbun install
bun dev:localbun build # Production-Build
bun lint # Style- und ESLint-Prüfung
bun lint:fix # Automatische Korrekturen
bun db-push # Prisma-Schema ohne Migration anwenden (dev)
bun db-deploy # Ausstehende Migrationen anwenden (prod-sicher)
bun db-seed # Seed-Daten einspielen
bun db-reset # Datenbank komplett zurücksetzen (destruktiv)
npx tsc --noEmit # TypeScript-Prüfung ohne Build| Schicht | Technologie |
|---|---|
| Framework | Nuxt 4 (Full-Stack) |
| Frontend | Vue 3, Pinia, SCSS |
| ORM | Prisma 7, PostgreSQL |
| Auth | JWT + Redis |
| Echtzeit | Socket.IO |
| Nodemailer | |
| Runtime | Bun / Node.js |
| Container | Docker Compose |


