Remove deprecated backend files and documentation, including Docker configurations, environment variables, and various scripts, to streamline the project structure and eliminate unused components.
This commit is contained in:
217
backend/ROADMAP.md
Normal file
217
backend/ROADMAP.md
Normal file
@@ -0,0 +1,217 @@
|
||||
# MYP V2 - Roadmap
|
||||
|
||||
## Projektübersicht
|
||||
MYP V2 ist ein 3D-Drucker-Management-System mit automatischer Smart Plug-Steuerung für TP-Link Tapo P110 Geräte.
|
||||
|
||||
## Aktuelle Implementierung (Stand: Dezember 2024)
|
||||
|
||||
### ✅ Abgeschlossene Features
|
||||
|
||||
#### Backend-Infrastruktur
|
||||
- **Flask-Anwendung** mit vollständiger REST-API
|
||||
- **SQLite-Datenbank** mit SQLAlchemy ORM
|
||||
- **Benutzerauthentifizierung** mit Flask-Login
|
||||
- **Rollenbasierte Zugriffskontrolle** (Admin/User)
|
||||
- **Job-Scheduler** für automatische Aufgabenausführung
|
||||
- **Logging-System** mit konfigurierbaren Log-Levels
|
||||
- **Konfigurationsmanagement** mit hardcodierten Credentials
|
||||
|
||||
#### Datenmodelle
|
||||
- **User**: Benutzerverwaltung mit Rollen
|
||||
- **Printer**: 3D-Drucker mit Smart Plug-Integration
|
||||
- **Job**: Druckaufträge mit Zeitplanung
|
||||
- **Stats**: Systemstatistiken und Metriken
|
||||
|
||||
#### API-Endpunkte
|
||||
- **Authentifizierung**: Register, Login, Logout
|
||||
- **Drucker-Management**: CRUD-Operationen
|
||||
- **Job-Management**: Erstellen, Überwachen, Steuern von Druckaufträgen
|
||||
- **Benutzer-Management**: Admin-Funktionen
|
||||
- **Statistiken**: Systemmetriken und Berichte
|
||||
- **Scheduler-Steuerung**: Start/Stop/Status des Job-Monitors
|
||||
|
||||
#### Smart Plug-Integration
|
||||
- **TP-Link Tapo P110** Steuerung über PyP100
|
||||
- **Automatisches Ein-/Ausschalten** basierend auf Job-Zeiten
|
||||
- **Stromverbrauchsüberwachung**
|
||||
- **Fehlerbehandlung** bei Verbindungsproblemen
|
||||
|
||||
#### Logging & Monitoring
|
||||
- **Strukturiertes Logging** mit separaten Loggern für verschiedene Komponenten
|
||||
- **Log-Rotation** und Archivierung
|
||||
- **Startup-Informationen** und Systemstatus
|
||||
- **Fehlerprotokollierung** mit Stack-Traces
|
||||
|
||||
### 🔧 Technische Architektur
|
||||
|
||||
#### Verzeichnisstruktur
|
||||
```
|
||||
MYP_V2/
|
||||
├── app/
|
||||
│ ├── blueprints/ # Flask Blueprints (leer)
|
||||
│ ├── config/
|
||||
│ │ └── settings.py # Konfiguration und Credentials
|
||||
│ ├── models.py # Datenbankmodelle
|
||||
│ ├── app.py # Haupt-Flask-Anwendung
|
||||
│ ├── static/ # CSS, JS, Bilder (leer)
|
||||
│ ├── templates/ # HTML-Templates (leer)
|
||||
│ └── utils/
|
||||
│ ├── job_scheduler.py # Background-Task-Scheduler
|
||||
│ └── logging_config.py # Logging-Konfiguration
|
||||
├── docs/ # Dokumentation
|
||||
├── install/ # Installationsskripte
|
||||
├── logs/ # Log-Dateien
|
||||
│ ├── app/ # Anwendungs-Logs
|
||||
│ ├── auth/ # Authentifizierungs-Logs
|
||||
│ ├── jobs/ # Job-Logs
|
||||
│ ├── printers/ # Drucker-Logs
|
||||
│ └── scheduler/ # Scheduler-Logs
|
||||
├── ROADMAP.md # Diese Datei
|
||||
└── setup_myp.sh # Setup-Skript
|
||||
```
|
||||
|
||||
#### Konfiguration
|
||||
- **Hardcodierte Credentials** für Tapo-Geräte
|
||||
- **Drucker-Konfiguration** mit IP-Adressen
|
||||
- **Flask-Einstellungen** (Host, Port, Debug-Modus)
|
||||
- **Session-Management** mit konfigurierbarer Lebensdauer
|
||||
- **Scheduler-Einstellungen** mit aktivierbarem/deaktivierbarem Modus
|
||||
|
||||
## 🚀 Geplante Features
|
||||
|
||||
### Phase 1: Frontend-Entwicklung
|
||||
- [ ] **React/Vue.js Frontend** für Benutzeroberfläche
|
||||
- [ ] **Dashboard** mit Echtzeit-Status der Drucker
|
||||
- [ ] **Job-Kalender** für Terminplanung
|
||||
- [ ] **Benutzer-Management-Interface** für Admins
|
||||
- [ ] **Responsive Design** für mobile Geräte
|
||||
|
||||
### Phase 2: Erweiterte Features
|
||||
- [ ] **Datei-Upload** für 3D-Modelle (.stl, .gcode)
|
||||
- [ ] **Druckzeit-Schätzung** basierend auf Dateianalyse
|
||||
- [ ] **Material-Tracking** mit Verbrauchsberechnung
|
||||
- [ ] **Wartungsplanung** für Drucker
|
||||
- [ ] **Benachrichtigungssystem** (E-Mail, Push)
|
||||
|
||||
### Phase 3: Integration & Automatisierung
|
||||
- [ ] **Octoprint-Integration** für erweiterte Druckersteuerung
|
||||
- [ ] **Kamera-Integration** für Live-Überwachung
|
||||
- [ ] **Temperatur-Monitoring** über zusätzliche Sensoren
|
||||
- [ ] **Automatische Qualitätskontrolle** mit KI-basierter Bilderkennung
|
||||
- [ ] **Multi-Standort-Support** für verteilte Druckerfarms
|
||||
|
||||
### Phase 4: Enterprise Features
|
||||
- [ ] **Kostenverfolgung** pro Job und Benutzer
|
||||
- [ ] **Reporting & Analytics** mit erweiterten Metriken
|
||||
- [ ] **API-Dokumentation** mit Swagger/OpenAPI
|
||||
- [ ] **Backup & Recovery** System
|
||||
- [ ] **LDAP/Active Directory** Integration
|
||||
|
||||
## 🔒 Sicherheit & Compliance
|
||||
|
||||
### Aktuelle Sicherheitsmaßnahmen
|
||||
- ✅ **Session-basierte Authentifizierung**
|
||||
- ✅ **Rollenbasierte Zugriffskontrolle**
|
||||
- ✅ **Passwort-Hashing** mit Werkzeug
|
||||
- ✅ **SQL-Injection-Schutz** durch SQLAlchemy ORM
|
||||
|
||||
### Geplante Sicherheitsverbesserungen
|
||||
- [ ] **JWT-Token-Authentifizierung** für API-Zugriff
|
||||
- [ ] **Rate Limiting** für API-Endpunkte
|
||||
- [ ] **HTTPS-Erzwingung** in Produktionsumgebung
|
||||
- [ ] **Audit-Logging** für kritische Aktionen
|
||||
- [ ] **Verschlüsselung** sensibler Daten in der Datenbank
|
||||
|
||||
## 📊 Performance & Skalierung
|
||||
|
||||
### Aktuelle Architektur
|
||||
- **SQLite-Datenbank** für einfache Bereitstellung
|
||||
- **Single-Thread-Scheduler** für Job-Monitoring
|
||||
- **Synchrone API-Verarbeitung**
|
||||
|
||||
### Geplante Verbesserungen
|
||||
- [ ] **PostgreSQL/MySQL** Support für größere Installationen
|
||||
- [ ] **Redis** für Session-Storage und Caching
|
||||
- [ ] **Celery** für asynchrone Task-Verarbeitung
|
||||
- [ ] **Load Balancing** für Multi-Instance-Deployments
|
||||
- [ ] **Containerisierung** mit Docker
|
||||
|
||||
## 🧪 Testing & Qualitätssicherung
|
||||
|
||||
### Geplante Test-Infrastruktur
|
||||
- [ ] **Unit Tests** für alle Komponenten
|
||||
- [ ] **Integration Tests** für API-Endpunkte
|
||||
- [ ] **End-to-End Tests** für kritische Workflows
|
||||
- [ ] **Performance Tests** für Lastszenarien
|
||||
- [ ] **Security Tests** für Penetrationstests
|
||||
|
||||
## 📚 Dokumentation
|
||||
|
||||
### Geplante Dokumentation
|
||||
- [ ] **API-Dokumentation** mit interaktiven Beispielen
|
||||
- [ ] **Benutzerhandbuch** für End-User
|
||||
- [ ] **Administrator-Handbuch** für System-Setup
|
||||
- [ ] **Entwickler-Dokumentation** für Beiträge
|
||||
- [ ] **Deployment-Guide** für verschiedene Umgebungen
|
||||
|
||||
## 🔄 Deployment & DevOps
|
||||
|
||||
### Aktuelle Bereitstellung
|
||||
- **Manuelles Setup** über setup_myp.sh
|
||||
- **Lokale Entwicklungsumgebung**
|
||||
|
||||
### Geplante Verbesserungen
|
||||
- [ ] **Docker-Container** für einfache Bereitstellung
|
||||
- [ ] **CI/CD-Pipeline** mit GitHub Actions
|
||||
- [ ] **Automatisierte Tests** bei Pull Requests
|
||||
- [ ] **Staging-Umgebung** für Pre-Production-Tests
|
||||
- [ ] **Monitoring & Alerting** mit Prometheus/Grafana
|
||||
|
||||
## 📈 Metriken & KPIs
|
||||
|
||||
### Zu verfolgende Metriken
|
||||
- **Druckzeit-Effizienz**: Verhältnis geplante vs. tatsächliche Druckzeit
|
||||
- **Systemverfügbarkeit**: Uptime der Drucker und Services
|
||||
- **Benutzeraktivität**: Anzahl aktiver Benutzer und Jobs
|
||||
- **Fehlerrate**: Anzahl fehlgeschlagener Jobs und Systemfehler
|
||||
- **Ressourcenverbrauch**: CPU, Memory, Disk Usage
|
||||
|
||||
## 🎯 Meilensteine
|
||||
|
||||
### Q1 2025
|
||||
- [ ] Frontend-Grundgerüst implementieren
|
||||
- [ ] Basis-Dashboard mit Drucker-Status
|
||||
- [ ] Job-Erstellung über Web-Interface
|
||||
|
||||
### Q2 2025
|
||||
- [ ] Datei-Upload und -Management
|
||||
- [ ] Erweiterte Job-Steuerung
|
||||
- [ ] Benutzer-Management-Interface
|
||||
|
||||
### Q3 2025
|
||||
- [ ] Mobile App (React Native/Flutter)
|
||||
- [ ] Erweiterte Integrationen (Octoprint, Kameras)
|
||||
- [ ] Performance-Optimierungen
|
||||
|
||||
### Q4 2025
|
||||
- [ ] Enterprise-Features
|
||||
- [ ] Multi-Tenant-Support
|
||||
- [ ] Vollständige API-Dokumentation
|
||||
|
||||
## 🤝 Beitrag & Community
|
||||
|
||||
### Entwicklungsrichtlinien
|
||||
- **Code-Qualität**: Einhaltung von PEP 8 für Python
|
||||
- **Dokumentation**: Vollständige Docstrings für alle Funktionen
|
||||
- **Testing**: Mindestens 80% Code-Coverage
|
||||
- **Security**: Regelmäßige Sicherheitsüberprüfungen
|
||||
|
||||
### Lizenzierung
|
||||
- **Open Source**: MIT-Lizenz für Community-Beiträge
|
||||
- **Enterprise**: Kommerzielle Lizenz für erweiterte Features
|
||||
|
||||
---
|
||||
|
||||
**Letzte Aktualisierung**: Dezember 2024
|
||||
**Version**: 2.0.0-alpha
|
||||
**Maintainer**: MYP Development Team
|
Reference in New Issue
Block a user