232 lines
9.8 KiB
Markdown
232 lines
9.8 KiB
Markdown
# Olympus CRM Roadmap
|
|
|
|
Die Roadmap beschreibt die geplante fachliche Entwicklung von Olympus CRM. Architekturregeln aus `ARCHITECTURE.md` und Entwicklungsregeln aus `CONTRIBUTING.md` bleiben fuer alle Versionen verbindlich.
|
|
|
|
## v0.2.0 - Auth und Benutzerverwaltung
|
|
|
|
- Serverseitige Authentifizierung ueber Athena BFF und Hermes JWT
|
|
- HttpOnly-Cookie in Athena
|
|
- Benutzerverwaltung mit CRUD
|
|
- Passwortaenderung
|
|
- Self-Delete-Schutz
|
|
|
|
## v0.3.0 - RBAC
|
|
|
|
- Rollenmodell
|
|
- Berechtigungen
|
|
- Serverseitige Permission-Pruefung in Hermes
|
|
- Permission-basierte Navigation und UI-Aktionen in Athena
|
|
|
|
## v0.4.0 - Dashboard und Kundenmodul
|
|
|
|
- Dashboard mit berechtigungsabhaengigen Kennzahlen
|
|
- Kundenverwaltung mit Adressen und Ansprechpartnern
|
|
- Kunden-BFF-Routen in Athena
|
|
- Keine Fake-Daten fuer nicht implementierte Module
|
|
|
|
## v0.5.0 - Qualitaetsplattform
|
|
|
|
- Persistente Audit Logs
|
|
- Activity Feed im Dashboard
|
|
- Audit-Log-UI
|
|
- Einheitliches Fehler- und Response-Format fuer neue Plattform-Endpunkte
|
|
- Zentrales Hermes-Logging mit `LOG_LEVEL`
|
|
- Globale Toasts fuer CRUD-Erfolg und Fehler
|
|
- Docker-Konfiguration fuer Logging-Level
|
|
|
|
## v0.5.1 - Bootstrap und Kundenimport
|
|
|
|
- Initial-Admin-Bootstrap fuer neue Installationen ohne aktive Benutzer
|
|
- Optionale `INITIAL_ADMIN_*` Deployment-Variablen
|
|
- Dynamische Header-Benutzeranzeige ueber `GET /api/me`
|
|
- CSV-Kundenimport mit Preview und Commit
|
|
- Importmodi `create_only`, `update_existing` und `upsert`
|
|
- Excel-freundliche CSV-Vorlage ueber Athena
|
|
- Audit Log fuer Kundenimporte ohne CSV-Rohdaten
|
|
|
|
## v0.6.0 - Wissensdatenbank / Service Library
|
|
|
|
- Herstellerverwaltung
|
|
- Geraete- und Modellverwaltung
|
|
- Dokumentverwaltung mit lokalem Upload und Download
|
|
- Reparaturhinweise und Knowledge Notes
|
|
- Suche ueber Hersteller, Modelle, Dokumente und Notizen
|
|
- RBAC-Permissions fuer Knowledge-Lesen, Upload und Download
|
|
- Paperless-ngx vorbereitet ueber `paperless_document_id` und `external_url`
|
|
- Persistentes Docker-Volume fuer Knowledge-Dateien
|
|
|
|
## v0.7.0 - Storage Framework und Deployment-Grundlage
|
|
|
|
- Zentrales Storage Framework in Hermes
|
|
- LocalDisk Storage Provider
|
|
- Knowledge-Dateilogik ueber StorageService
|
|
- Storage-Konfiguration fuer lokale Entwicklung und VPS
|
|
- Empfohlener VPS-Pfad `/opt/olympus-storage`
|
|
- Deployment-, Migrations-, Healthcheck-, Backup- und Restore-Skripte
|
|
- README-DEV fuer mehrere Entwicklungsrechner
|
|
|
|
## v0.7.1 - Knowledge UX und Workflow
|
|
|
|
- Gefuehrter Workflow Hersteller -> Geraet -> Dokument -> Notiz
|
|
- Dokumentupload erst nach Hersteller- und Geraeteanlage
|
|
- Inline-Validierung fuer Upload-Pflichtfelder
|
|
- Professionelle Empty States fuer Knowledge-Listen und Suchen
|
|
- Idempotentes Standard-Hersteller-Seeding
|
|
- Klarere Hermes-Fehler fuer unvollstaendige Dokumentzuordnungen
|
|
|
|
## v0.8.0 - Reparaturmanagement
|
|
|
|
- Reparaturstammdaten und Werkstattvorgaenge
|
|
- Reparaturnummern im Format `R<jahr>-000001`
|
|
- Statusmodell und Statushistorie
|
|
- Website Repair Intake API vorbereitet
|
|
- RBAC-Permissions fuer Reparaturen
|
|
- Audit Logs und Activity Feed fuer Reparaturaktionen
|
|
- Dashboard-Kennzahlen fuer Reparaturen
|
|
- Athena-BFF-Routen und Reparatur-UI
|
|
|
|
## v0.8.1 - Reparaturstatus und Kundenkommunikation
|
|
|
|
- Deutsche Statuslabels in Athena bei stabilen englischen API-Statuscodes
|
|
- Werkstattgerechte Status-Timeline auf der Reparaturdetailseite
|
|
- Sicheres Public-Token-Modell fuer spaetere Statuslinks
|
|
- Oeffentlicher Hermes-Endpunkt `GET /public/repairs/status/{token}` mit minimalen Kundendaten
|
|
- Interne Statuslink-Verwaltung in Athena
|
|
- E-Mail-Vorlagen und `repair_notification_events` vorbereitet
|
|
- Keine Kundenlogin-Funktion und keine Aenderungen an der oeffentlichen Website
|
|
|
|
## v0.8.2 - Website-Statusintegration, geplant
|
|
|
|
- `/status/<token>` als spaeterer Einstieg fuer Statusabfragen auf der Website
|
|
- Website ruft Statusdaten serverseitig oder ueber einen eigenen BFF ab
|
|
- Kein Token im Log und keine unnoetigen Kundendaten in der oeffentlichen Antwort
|
|
- Optionaler E-Mail-Versand mit sicherem Statuslink
|
|
|
|
## v0.8.3 - Automatische Reparaturstatusmails
|
|
|
|
- Automatischer Statusmail-Versand bei Reparaturstatuswechseln
|
|
- Frische sichere Public-Statuslinks fuer Statusmails
|
|
- Professionelles HTML-Mailtemplate fuer Funktechnik Schubert
|
|
- Notification-Historie mit Erfolg, Fehler und Empfaenger
|
|
- Manueller Neuversand ueber `POST /repairs/{id}/send-status-mail`
|
|
- Athena-BFF-Route und Button "E-Mail erneut senden"
|
|
- Dashboard-Kennzahlen fuer Statusmails und Reparaturen ohne Kundenmail
|
|
- SMTP-Ausfall blockiert keine Reparaturprozesse
|
|
|
|
## v0.8.4 - Admin SMTP Settings
|
|
|
|
- SMTP-Konfiguration im Olympus-Webinterface unter `/settings`
|
|
- Testmail-Versand mit Audit-Log
|
|
- `system_settings` als zentrale Tabelle fuer Systemkonfiguration
|
|
- Env Vars bleiben als Fallback fuer SMTP und Public Repair Status Base URL
|
|
- Statusmail-Versand nutzt bevorzugt Admin-Konfiguration
|
|
- Passwort wird nicht an Athena zurueckgegeben
|
|
- Encryption at rest fuer Secrets bleibt als v0.8.x-Haertung geplant
|
|
|
|
## v0.8.5 - Reparaturdokumente
|
|
|
|
- Dokumente und Bilder direkt an Reparaturen verwalten
|
|
- Upload ueber Athena-BFF und Hermes StorageService
|
|
- Storage-Pfad `repairs/<repair_id>/documents`
|
|
- Erlaubte Dateitypen JPG, PNG, WEBP und PDF
|
|
- Dokumenttypen fuer Geraetefotos, Fehlerbilder, Messbilder, Kostenvoranschlag, Reparaturbericht, Versandbeleg und Sonstiges
|
|
- Sichtbarkeit `internal`/`customer` vorbereitet, aber noch keine oeffentliche Kundenanzeige
|
|
- Bildvorschau mit Lightbox, PDF inline/download
|
|
- Audit Logs fuer Upload, Aenderung und Loeschung
|
|
|
|
## v0.8.6 - Kostenvoranschläge und Kundenfreigabe
|
|
|
|
- Kostenvoranschläge direkt an Reparaturen
|
|
- Positionen fuer Arbeitszeit, Ersatzteile, Pauschalen, Versand und Sonstiges
|
|
- Serverseitige Netto-, MwSt.- und Gesamtsummen
|
|
- KV-Nummern im Format `KV<jahr>-000001`
|
|
- Versand per bestehendem Public-Statuslink und SMTP-Systemsettings
|
|
- Public API liefert Estimate-Daten am Statuslink
|
|
- Public Approve/Decline/Question ohne Kundenlogin
|
|
- Kundenentscheidung aktualisiert Reparaturstatus und KV-Historie
|
|
- Keine PDF-Erzeugung, keine Lexoffice-Anbindung und keine Rechnungserstellung in dieser Version
|
|
- Website-Anzeige/Freigabe wird spaeter in `funktechnik-schubert-website` nachgezogen
|
|
|
|
## v0.8.7 - Lager / Ersatzteile
|
|
|
|
- Ersatzteil- und Lagerartikelverwaltung
|
|
- Kategorien, Lagerorte und Lieferanten
|
|
- SKU-Format `ET-<jahr>-000001`
|
|
- Bestandslogik mit Lagerbestand, Reservierung und Verfuegbarkeit
|
|
- Bestandsbewegungen fuer Anfangsbestand, Anpassung, Reservierung, Freigabe und Verbrauch
|
|
- Preise intern in cents, UI-Eingabe in Euro
|
|
- RBAC-Permissions fuer Lagerlesen, Artikelpflege, Bestandsbuchungen und Stammdaten
|
|
- Dashboard-Kennzahlen fuer aktive Ersatzteile, niedrigen Bestand, Lagerwert und Bewegungen
|
|
- Audit Logs und Activity Feed fuer Lageraktionen
|
|
- Athena-BFF-Routen und UI fuer `/inventory` und `/inventory/items/[id]`
|
|
- Vorbereitung fuer Kostenvoranschlagsintegration in v0.8.8
|
|
- Keine Lexoffice-Anbindung, keine automatische Bestellung, keine Barcode-/QR-Funktion
|
|
|
|
## v0.8.8 - Lagerintegration in Kostenvoranschläge
|
|
|
|
- Lagerartikel als KV-Position ueber Suche auswaehlen
|
|
- Verkaufspreis aus `selling_price_cents` uebernehmen
|
|
- Snapshot-Konzept fuer Name, SKU, Hersteller und Teilenummer in KV-Positionen
|
|
- Reservierung beim Senden eines KV
|
|
- Freigabe behaelt Reservierung
|
|
- Ablehnung, Storno und Loeschung geben Reservierungen frei
|
|
- Bestandsbewegungen mit `reference_type=repair_estimate`
|
|
- Dashboard-Kennzahlen fuer reservierte Artikel, reservierten Warenwert und Mindestbestand
|
|
- Audit-/Activity-Eintraege fuer Reservierung, Freigabe, Verbrauchsvorbereitung und manuelle Preisueberschreibung
|
|
- Automatische Verbrauchsbuchung beim Reparaturabschluss vorbereitet, aber noch nicht aktiv
|
|
- CSV-Template und Exportkonzept fuer Lagerdaten bleiben Folgefeatures
|
|
|
|
## v0.8.9 - Lexware Office Integration Foundation
|
|
|
|
- Lexware Office als fuehrendes System fuer Buchhaltung, Rechnungen, Steuer, DATEV und EÜR dokumentiert
|
|
- Olympus bleibt Werkstatt-ERP fuer Reparaturen, KVs, Lager und operative Stammdaten
|
|
- Lexware-Konfiguration unter `/settings -> Lexware Office`
|
|
- System-Settings fuer `lexware.enabled`, `lexware.api_base_url`, `lexware.api_key`, Organisationsname, Standard-MwSt. und Zahlungsziel
|
|
- Env-Fallbacks `LEXWARE_ENABLED`, `LEXWARE_API_BASE_URL`, `LEXWARE_API_KEY`
|
|
- API-Key wird nicht an Athena zurueckgegeben
|
|
- Server-seitiger Verbindungstest gegen `GET /v1/profile`
|
|
- Neue Tabelle `lexware_sync_records`
|
|
- Optionale Lexware-Rechnungsreferenzen an `repair_estimates`
|
|
- Manuelle Aktion "Lexware-Rechnung vorbereiten" fuer freigegebene KVs
|
|
- Keine automatische Rechnungserstellung und kein automatischer Export bei KV-Freigabe
|
|
- RBAC-Permissions `lexware.read`, `lexware.manage`, `lexware.export`
|
|
|
|
## v0.9.0 - Lexware Rechnungserstellung, geplant
|
|
|
|
- Echte Rechnungserstellung in Lexware nach final geprueftem API-Mapping
|
|
- Kontaktabgleich und Kontaktanlage in Lexware produktionsreif ausbauen
|
|
- Exportstatus und Fehlerbehebung im Olympus UI erweitern
|
|
- Optionaler Download/Link zur Lexware-Rechnung
|
|
|
|
## v0.9.1 - Kundenportal, geplant
|
|
|
|
- `/portal/login` fuer spaeteren Kundenlogin
|
|
- Separates Authentifizierungsmodell fuer Kunden
|
|
- Keine Vermischung mit internen Olympus-Benutzern
|
|
|
|
## v0.9.2 - Tickets, geplant
|
|
|
|
- Ticketverwaltung
|
|
- Status- und Prioritaetsmodell
|
|
- Zuordnung zu Kunden und Benutzern
|
|
- RBAC-Permissions fuer Tickets
|
|
- Audit Logs fuer Ticketaktionen
|
|
|
|
## v0.10.0 - Integrationen Paperless und Lexware-Ausbau, geplant
|
|
|
|
- Paperless-ngx Connector fuer Wissensdokumente
|
|
- Lexware-Exportpfade fuer Rechnungen und Kundenkontakte ausbauen
|
|
- Sichere Connector-Konfiguration ohne Browser-Secrets
|
|
- Verknuepfung externer Dokumente mit Kunden, Projekten, Tickets und Reparaturen
|
|
|
|
## v1.0.0 - Kalender, Aufgaben und produktiver Beta-Release
|
|
|
|
- Aufgabenverwaltung
|
|
- Kalenderansicht
|
|
- Faelligkeiten und Verantwortlichkeiten
|
|
- Verknuepfung mit Kunden, Projekten und Tickets
|
|
- Gehaertete Produktionskonfiguration
|
|
- Vollstaendige Migrationsstrategie
|
|
- Deployment-Dokumentation
|
|
- Betriebs- und Backup-Konzept
|
|
- Review aller Sicherheitsregeln
|