# 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) 