🔧 Aktualisierung der Backend-Logik und Optimierung der SQLite-Datenbankkonfiguration für Raspberry Pi: Hinzufügen spezifischer Optimierungen, Verbesserung der Fehlerbehandlung und Protokollierung. Einführung von Caching-Mechanismen und Anpassungen für schwache Hardware. 📈
This commit is contained in:
277
backend/docs/ROUTEN_UEBERSICHT.md
Normal file
277
backend/docs/ROUTEN_UEBERSICHT.md
Normal file
@@ -0,0 +1,277 @@
|
||||
# Routen-Übersicht - 3D-Druck-Management-System
|
||||
|
||||
## Vollständige Liste aller verfügbaren Routen und Endpoints
|
||||
|
||||
*Stand: Juni 2025 - Nach Vollständigkeits-Update*
|
||||
|
||||
---
|
||||
|
||||
## 📋 HAUPT-ROUTEN
|
||||
|
||||
### Startseite und Dashboard
|
||||
- `GET /` → `index()` - Startseite des Systems
|
||||
- `GET /dashboard` → `dashboard()` - Haupt-Dashboard (Login erforderlich)
|
||||
|
||||
### Umleitungs-Aliase (Deutsche URLs)
|
||||
- `GET /profile` → Weiterleitung zu `/user/profile`
|
||||
- `GET /profil` → Weiterleitung zu `/user/profile`
|
||||
- `GET /settings` → Weiterleitung zu `/user/settings`
|
||||
- `GET /einstellungen` → Weiterleitung zu `/user/settings`
|
||||
|
||||
### Legal-Seiten
|
||||
- `GET /privacy` → `privacy()` - Datenschutzerklärung
|
||||
- `GET /terms` → `terms()` - Nutzungsbedingungen
|
||||
- `GET /imprint` → `imprint()` - Impressum
|
||||
- `GET /legal` → `legal()` - Rechtliche Informationen
|
||||
|
||||
---
|
||||
|
||||
## 🔐 AUTHENTIFIZIERUNG (Auth Blueprint)
|
||||
|
||||
### Login/Logout
|
||||
- `GET /auth/login` → Login-Seite
|
||||
- `POST /auth/login` → Login-Verarbeitung
|
||||
- `GET /login` → Alias für `/auth/login`
|
||||
- `GET,POST /auth/logout` → Logout-Verarbeitung
|
||||
|
||||
### API-Endpoints
|
||||
- `POST /api/login` → API-Login (JSON)
|
||||
|
||||
---
|
||||
|
||||
## 👤 BENUTZER-ROUTEN (User Blueprint)
|
||||
|
||||
### Profil und Einstellungen
|
||||
- `GET /user/profile` → Benutzer-Profil anzeigen
|
||||
- `GET /user/settings` → Benutzer-Einstellungen
|
||||
- `POST /user/settings/change-password` → Passwort ändern
|
||||
- `GET /user/settings/export-data` → Benutzer-Daten als JSON exportieren
|
||||
|
||||
### API-Endpoints
|
||||
- `GET /api/user/<int:user_id>` → Benutzer-Details abrufen (API)
|
||||
- `PUT,POST /api/user/<int:user_id>/update` → Benutzer aktualisieren (API)
|
||||
|
||||
---
|
||||
|
||||
## 👥 BENUTZER-VERWALTUNG (Users Blueprint)
|
||||
|
||||
*Alle Routen über das Users Blueprint verfügbar*
|
||||
|
||||
---
|
||||
|
||||
## 🖨️ DRUCKER-VERWALTUNG (Printers Blueprint)
|
||||
|
||||
### Drucker-Übersicht
|
||||
- Alle Drucker-Routen über das Printers Blueprint
|
||||
|
||||
### Worker-Endpoints
|
||||
- `GET /workers/fetch-printers` → Drucker-Daten für Worker abrufen
|
||||
|
||||
---
|
||||
|
||||
## 📋 JOB-VERWALTUNG (Jobs Blueprint)
|
||||
|
||||
### Job-Übersicht
|
||||
- `GET /jobs` → Jobs-Übersicht anzeigen
|
||||
- `GET /jobs/<int:job_id>` → Job-Details anzeigen
|
||||
- `POST,DELETE /jobs/<int:job_id>/delete` → Job löschen
|
||||
|
||||
### Worker-Endpoints
|
||||
- `POST /workers/auto-optimize` → Automatische Job-Optimierung
|
||||
- `POST /workers/calculate-distance` → Entfernung zwischen Standorten berechnen
|
||||
|
||||
---
|
||||
|
||||
## 👨💼 ADMIN-ROUTEN (Admin Blueprint + Aliase)
|
||||
|
||||
### Admin-Hauptseiten
|
||||
- `GET /admin` → Admin-Hauptseite (Alias)
|
||||
- `GET /admin-dashboard` → Admin-Dashboard (Alias)
|
||||
- `GET /admin/advanced-settings` → Erweiterte Einstellungen
|
||||
- `GET /admin/guest-requests` → Gast-Anfragen Verwaltung
|
||||
|
||||
### Drucker-Verwaltung (Admin)
|
||||
- `GET /admin/printers/<int:printer_id>/edit` → Drucker bearbeiten
|
||||
- `POST /admin/printers/<int:printer_id>/update` → Drucker aktualisieren
|
||||
- `GET /admin/printers/add` → Drucker hinzufügen
|
||||
- `POST /admin/printers/create` → Drucker erstellen
|
||||
|
||||
### Benutzer-Verwaltung (Admin)
|
||||
- `GET /admin/users/<int:user_id>/edit` → Benutzer bearbeiten
|
||||
- `POST /admin/users/<int:user_id>/update` → Benutzer aktualisieren
|
||||
- `GET /admin/users/add` → Benutzer hinzufügen
|
||||
- `POST /admin/users/create` → Benutzer erstellen
|
||||
|
||||
---
|
||||
|
||||
## 📊 API-ROUTEN (Admin)
|
||||
|
||||
### Datenbank-Management
|
||||
- `GET /api/admin/database/status` → Datenbank-Status und Statistiken
|
||||
- `POST /api/optimize-database` → Datenbank optimieren (VACUUM, ANALYZE)
|
||||
|
||||
### Datei-Management
|
||||
- `POST /api/admin/files/cleanup` → Temporäre Dateien bereinigen
|
||||
- `GET /api/admin/files/stats` → Datei-Statistiken abrufen
|
||||
|
||||
### System-Management
|
||||
- `POST /api/admin/fix-errors` → Automatische Fehlerbehebung
|
||||
- `GET /api/system-check` → System-Gesundheitscheck
|
||||
- `GET /api/logs` → System-Logs abrufen
|
||||
- `POST /api/create-backup` → Backup erstellen
|
||||
|
||||
### Gast-Anfragen (Admin API)
|
||||
- `GET /api/admin/guest-requests` → Gast-Anfragen abrufen
|
||||
- `GET /api/admin/guest-requests/export` → Gast-Anfragen exportieren
|
||||
- `GET /api/admin/guest-requests/stats` → Gast-Anfragen Statistiken
|
||||
- `GET /api/admin/guest-requests/test` → Test-Endpoint
|
||||
|
||||
---
|
||||
|
||||
## 📈 STATISTIKEN UND MONITORING
|
||||
|
||||
### Öffentliche APIs
|
||||
- `GET /api/public/statistics` → Öffentliche Statistiken (ohne Login)
|
||||
- `GET /api/stats` → Detaillierte Statistiken (mit Login)
|
||||
|
||||
### Monitoring und Debug
|
||||
- `GET /api/routes` → Alle verfügbaren Routen auflisten (Admin)
|
||||
- `GET /api/health/comprehensive` → Umfassender Gesundheitscheck
|
||||
- `GET /api/maintenance/status` → Wartungsstatus abrufen
|
||||
- `GET /api/performance/metrics` → Performance-Metriken
|
||||
|
||||
---
|
||||
|
||||
## 🏃♂️ OPTIMIERUNGS-ROUTEN
|
||||
|
||||
### Optimierungs-Algorithmen
|
||||
- `POST /optimize/apply/load-balance` → Load-Balance-Optimierung
|
||||
- `POST /optimize/apply/priority` → Prioritäts-Optimierung
|
||||
- `POST /optimize/apply/round-robin` → Round-Robin-Optimierung
|
||||
- `POST /optimize/settings/validate` → Optimierungseinstellungen validieren
|
||||
|
||||
---
|
||||
|
||||
## 📄 REPORT-GENERIERUNG
|
||||
|
||||
### Export-Funktionen
|
||||
- `GET /report/download/csv` → Report als CSV herunterladen
|
||||
- `GET /report/download/excel` → Report als Excel herunterladen
|
||||
- `GET /report/export/zip` → Report als ZIP exportieren
|
||||
|
||||
---
|
||||
|
||||
## 🖥️ KIOSK-MODUS
|
||||
|
||||
### Kiosk-Steuerung
|
||||
- `POST /kiosk/activate` → Kiosk-Modus aktivieren
|
||||
- `POST /kiosk/deactivate` → Kiosk-Modus deaktivieren (Passwort erforderlich)
|
||||
- `POST /kiosk/restart` → System-Neustart (Admin)
|
||||
- `GET /kiosk/status` → Kiosk-Status abrufen
|
||||
|
||||
---
|
||||
|
||||
## 💾 SYSTEM-ROUTEN
|
||||
|
||||
### System-Verwaltung
|
||||
- `GET /system/health` → System-Gesundheitscheck Seite
|
||||
- `GET /system/logs` → System-Logs Anzeige
|
||||
- `POST /system/shutdown` → System-Shutdown (Notfall)
|
||||
|
||||
### Datei-Bereitstellung
|
||||
- `GET /upload/<path:filename>` → Hochgeladene Dateien bereitstellen
|
||||
|
||||
---
|
||||
|
||||
## 👥 GAST-ANFRAGEN
|
||||
|
||||
### Gast-Verwaltung
|
||||
- `POST /guest-requests/approve/<int:req_id>` → Gast-Anfrage genehmigen
|
||||
- `POST,DELETE /guest-requests/delete/<int:req_id>` → Gast-Anfrage löschen
|
||||
|
||||
---
|
||||
|
||||
## 🔗 EXTERNE INTEGRATIONEN
|
||||
|
||||
### GitHub OAuth (Optional)
|
||||
- `GET /github/callback` → GitHub OAuth Callback
|
||||
|
||||
---
|
||||
|
||||
## 📅 KALENDER-FUNKTIONEN (Calendar Blueprint)
|
||||
|
||||
*Alle Kalender-Routen über das Calendar Blueprint verfügbar*
|
||||
|
||||
---
|
||||
|
||||
## 🎫 GÄSTE-SYSTEM (Guest Blueprint)
|
||||
|
||||
*Alle Gäste-Routen über das Guest Blueprint verfügbar*
|
||||
|
||||
---
|
||||
|
||||
## 🔧 HILFSFUNKTIONEN
|
||||
|
||||
Die folgenden Funktionen sind als interne Hilfsfunktionen implementiert:
|
||||
- `admin_printer_settings_page()` - Admin Drucker-Einstellungen
|
||||
- `setup_session_security()` - Session-Sicherheit einrichten
|
||||
- `check_session_activity()` - Session-Aktivität prüfen
|
||||
- `get_github_user_data()` - GitHub-Benutzerdaten abrufen
|
||||
|
||||
---
|
||||
|
||||
## 🛡️ SICHERHEITS-FEATURES
|
||||
|
||||
### Autorisierung
|
||||
- **Admin-Only**: Routen mit `@admin_required` Decorator
|
||||
- **Login erforderlich**: Routen mit `@login_required` Decorator
|
||||
- **Job-Besitzer**: Routen mit `@job_owner_required` Decorator
|
||||
- **CSRF-Schutz**: Aktiviert für alle Formulare
|
||||
|
||||
### Rate-Limiting
|
||||
- Implementiert über `utils.rate_limiter`
|
||||
- Automatische Bereinigung von Rate-Limit-Daten
|
||||
|
||||
---
|
||||
|
||||
## 📊 MONITORING UND ANALYTICS
|
||||
|
||||
### Performance-Tracking
|
||||
- Ausführungszeit-Messung für kritische Funktionen
|
||||
- Request/Response-Logging für API-Endpoints
|
||||
- Memory- und CPU-Monitoring (falls psutil verfügbar)
|
||||
|
||||
### Error-Handling
|
||||
- Strukturierte Fehlerbehandlung mit detailliertem Logging
|
||||
- CSRF-Error-Handler mit benutzerfreundlichen Meldungen
|
||||
- Automatische Fehlerprotokollierung
|
||||
|
||||
---
|
||||
|
||||
## 🔄 HINTERGRUND-PROZESSE
|
||||
|
||||
### Queue-Manager
|
||||
- Automatische Verwaltung von Druckaufträgen
|
||||
- Multi-Threading für parallele Verarbeitung
|
||||
|
||||
### Scheduler
|
||||
- Geplante Aufgaben für Wartung und Optimierung
|
||||
- Backup-Scheduling
|
||||
|
||||
---
|
||||
|
||||
## 🌐 OFFLINE-MODUS
|
||||
|
||||
Das System unterstützt einen Offline-Modus:
|
||||
- Deaktiviert Internet-abhängige Features
|
||||
- Mock-Implementierung für externe APIs
|
||||
- Vollständige Funktionalität ohne Internet-Verbindung
|
||||
|
||||
---
|
||||
|
||||
*Diese Dokumentation wurde automatisch generiert basierend auf dem aktuellen Zustand der `app.py` nach dem Vollständigkeits-Update.*
|
||||
|
||||
**Gesamt-Anzahl der Routen: 120+ Endpoints**
|
||||
|
||||
Für eine live-Übersicht aller Routen verwenden Sie den Admin-Endpoint:
|
||||
`GET /api/routes` (Admin-Berechtigung erforderlich)
|
||||
Reference in New Issue
Block a user