🎉 Refactor Backend Logs and Utilities 🖥️📚
This commit is contained in:
@@ -16,6 +16,7 @@ sudo ./setup.sh
|
||||
```
|
||||
|
||||
**Installationsoptionen**:
|
||||
|
||||
1. **Abhängigkeiten installieren** - System für manuelles Testen vorbereiten
|
||||
2. **Vollständige Kiosk-Installation** - Automatischer Kiosk-Modus mit Remote-Zugang
|
||||
|
||||
@@ -35,6 +36,7 @@ python app.py --debug
|
||||
## 📋 Systemanforderungen
|
||||
|
||||
### Produktionsumgebung (Kiosk)
|
||||
|
||||
- **Debian/Raspbian** (Raspberry Pi OS empfohlen)
|
||||
- Raspberry Pi 4 mit 2GB+ RAM
|
||||
- 16GB+ SD-Karte
|
||||
@@ -42,6 +44,7 @@ python app.py --debug
|
||||
- Netzwerkverbindung
|
||||
|
||||
### Entwicklungsumgebung
|
||||
|
||||
- **Windows 10/11** (nur für Entwicklung)
|
||||
- Python 3.8+
|
||||
- Node.js 18+
|
||||
@@ -50,6 +53,7 @@ python app.py --debug
|
||||
## 🔧 Features
|
||||
|
||||
### Kern-Funktionalitäten
|
||||
|
||||
- **Druckerverwaltung** mit Smart-Plug-Integration (TP-Link Tapo)
|
||||
- **Job-Management** mit Warteschlangen-System
|
||||
- **Benutzerverwaltung** mit Rollen und Berechtigungen
|
||||
@@ -58,6 +62,7 @@ python app.py --debug
|
||||
- **Automatische Backups** und Wartung
|
||||
|
||||
### Kiosk-Modus Features
|
||||
|
||||
- **HTTPS auf Port 443** mit automatischen SSL-Zertifikaten
|
||||
- **Chromium-Vollbildmodus** ohne Desktop-Environment
|
||||
- **Automatischer Login** und Browser-Start
|
||||
@@ -66,6 +71,7 @@ python app.py --debug
|
||||
- **Responsive Design** für Desktop-Nutzung
|
||||
|
||||
### Sicherheit
|
||||
|
||||
- **SSL/TLS-Verschlüsselung** (selbstsignierte Zertifikate)
|
||||
- **CSRF-Schutz** und Session-Management
|
||||
- **Rate-Limiting** und Eingabevalidierung
|
||||
@@ -77,18 +83,21 @@ python app.py --debug
|
||||
## 🏗️ Architektur
|
||||
|
||||
### Backend
|
||||
|
||||
- **Flask 3.1.1** - Web-Framework
|
||||
- **SQLAlchemy 2.0.36** - ORM und Datenbankzugriff
|
||||
- **SQLite** - Eingebettete Datenbank
|
||||
- **Gunicorn** - WSGI-Server für Produktion
|
||||
|
||||
### Frontend
|
||||
|
||||
- **TailwindCSS** - Utility-First CSS Framework
|
||||
- **Chart.js** - Datenvisualisierung
|
||||
- **FontAwesome** - Icons
|
||||
- **Vanilla JavaScript** - Interaktivität
|
||||
|
||||
### System-Integration
|
||||
|
||||
- **systemd** - Service-Management
|
||||
- **OpenSSL** - SSL-Zertifikat-Generierung
|
||||
- **Chromium** - Kiosk-Browser
|
||||
@@ -152,18 +161,21 @@ sudo ./setup.sh
|
||||
```
|
||||
|
||||
**Installationsmodi**:
|
||||
|
||||
- **Option 1**: Ideal für Entwicklung, manuelle Tests und Debugging
|
||||
- **Option 2**: Vollständige Produktionsinstallation mit automatischem Kiosk-Start
|
||||
|
||||
### Option 2: Manuelle Installation
|
||||
|
||||
#### Schritt 1: System vorbereiten
|
||||
|
||||
```bash
|
||||
sudo apt-get update && sudo apt-get upgrade -y
|
||||
sudo apt-get install -y python3 python3-pip nodejs npm git
|
||||
```
|
||||
|
||||
#### Schritt 2: Abhängigkeiten installieren
|
||||
|
||||
```bash
|
||||
# Python-Pakete (ohne virtuelles Environment)
|
||||
pip3 install -r requirements.txt --break-system-packages
|
||||
@@ -176,6 +188,7 @@ npm run build:css
|
||||
```
|
||||
|
||||
#### Schritt 3: SSL-Zertifikate generieren
|
||||
|
||||
```bash
|
||||
python3 -c "
|
||||
import sys; sys.path.insert(0, '.')
|
||||
@@ -185,6 +198,7 @@ ensure_ssl_certificates('.', True)
|
||||
```
|
||||
|
||||
#### Schritt 4: Services einrichten
|
||||
|
||||
```bash
|
||||
# Services aus systemd/ Verzeichnis kopieren
|
||||
sudo cp systemd/*.service /etc/systemd/system/
|
||||
@@ -201,17 +215,21 @@ sudo systemctl enable myp-kiosk.service
|
||||
## 🌐 Zugriff
|
||||
|
||||
### Lokaler Zugriff
|
||||
|
||||
- **HTTPS**: `https://localhost:443`
|
||||
- **HTTP (Entwicklung)**: `http://localhost:5000`
|
||||
|
||||
### Netzwerk-Zugriff
|
||||
|
||||
- **HTTPS**: `https://<raspberry-pi-ip>:443`
|
||||
|
||||
### Remote-Zugang (falls konfiguriert)
|
||||
|
||||
- **SSH**: `ssh user@<raspberry-pi-ip>` (Passwort: `raspberry`)
|
||||
- **RDP**: `<raspberry-pi-ip>:3389` (Benutzer: `root`, Passwort: `744563017196A`)
|
||||
|
||||
### Standard-Anmeldedaten
|
||||
|
||||
- **Benutzername**: `admin`
|
||||
- **Passwort**: `admin123`
|
||||
|
||||
@@ -220,6 +238,7 @@ sudo systemctl enable myp-kiosk.service
|
||||
## 🔧 Konfiguration
|
||||
|
||||
### Umgebungsvariablen
|
||||
|
||||
```bash
|
||||
# Produktionsumgebung
|
||||
export FLASK_ENV=production
|
||||
@@ -233,6 +252,7 @@ export FLASK_PORT=5000
|
||||
```
|
||||
|
||||
### SSL-Konfiguration
|
||||
|
||||
```bash
|
||||
# Automatische Zertifikat-Generierung
|
||||
python3 utils/ssl_config.py /opt/myp
|
||||
@@ -242,6 +262,7 @@ python3 utils/ssl_config.py /opt/myp --force
|
||||
```
|
||||
|
||||
### Drucker-Konfiguration
|
||||
|
||||
1. **Admin-Panel** → **Drucker** → **Neuer Drucker**
|
||||
2. IP-Adresse und TP-Link Tapo-Zugangsdaten eingeben
|
||||
3. Drucker-Test durchführen
|
||||
@@ -250,6 +271,7 @@ python3 utils/ssl_config.py /opt/myp --force
|
||||
## 📊 Überwachung
|
||||
|
||||
### Service-Status
|
||||
|
||||
```bash
|
||||
# HTTPS-Service
|
||||
sudo systemctl status myp-https.service
|
||||
@@ -265,6 +287,7 @@ sudo tail -f /var/log/kiosk-watchdog.log
|
||||
```
|
||||
|
||||
### System-Tests
|
||||
|
||||
```bash
|
||||
# HTTPS-Erreichbarkeit
|
||||
curl -k https://localhost:443
|
||||
@@ -277,6 +300,7 @@ sudo ./setup.sh # Option 5: System-Test
|
||||
```
|
||||
|
||||
### Log-Dateien
|
||||
|
||||
```bash
|
||||
# Anwendungslogs
|
||||
tail -f logs/app/app.log
|
||||
@@ -294,6 +318,7 @@ sudo tail -f /var/log/myp-install.log
|
||||
## 🛠️ Entwicklung
|
||||
|
||||
### Entwicklungsserver starten
|
||||
|
||||
```bash
|
||||
# HTTP-Entwicklungsserver (Port 5000)
|
||||
python app.py --debug
|
||||
@@ -303,6 +328,7 @@ python app.py
|
||||
```
|
||||
|
||||
### Frontend-Entwicklung
|
||||
|
||||
```bash
|
||||
# TailwindCSS im Watch-Modus
|
||||
npm run watch:css
|
||||
@@ -315,6 +341,7 @@ npm run build
|
||||
```
|
||||
|
||||
### Datenbank-Management
|
||||
|
||||
```bash
|
||||
# Datenbank initialisieren
|
||||
python -c "from models import init_database; init_database()"
|
||||
@@ -326,18 +353,21 @@ python -c "from utils.backup_manager import BackupManager; BackupManager().creat
|
||||
## 🔒 Sicherheit
|
||||
|
||||
### SSL/TLS
|
||||
|
||||
- **TLS 1.2+** erforderlich
|
||||
- **Starke Cipher-Suites** konfiguriert
|
||||
- **Selbstsignierte Zertifikate** für localhost
|
||||
- **Automatische Erneuerung** bei Ablauf
|
||||
|
||||
### Anwendungssicherheit
|
||||
|
||||
- **CSRF-Schutz** aktiviert
|
||||
- **Session-Management** mit Timeout
|
||||
- **Rate-Limiting** für API-Endpunkte
|
||||
- **Eingabevalidierung** und Sanitization
|
||||
|
||||
### System-Sicherheit
|
||||
|
||||
- **Minimale X11-Umgebung** ohne Desktop
|
||||
- **Kiosk-User** ohne Sudo-Rechte
|
||||
- **Systemd-Service-Isolation**
|
||||
@@ -346,6 +376,7 @@ python -c "from utils.backup_manager import BackupManager; BackupManager().creat
|
||||
## 📚 Dokumentation
|
||||
|
||||
### Detaillierte Anleitungen
|
||||
|
||||
- [`docs/SETUP_ANLEITUNG.md`](docs/SETUP_ANLEITUNG.md) - Konsolidiertes Setup-System
|
||||
- [`docs/INSTALLATION_DEBIAN_KIOSK.md`](docs/INSTALLATION_DEBIAN_KIOSK.md) - Vollständige Kiosk-Installation
|
||||
- [`docs/API_DOCUMENTATION.md`](docs/API_DOCUMENTATION.md) - API-Referenz
|
||||
@@ -353,6 +384,7 @@ python -c "from utils.backup_manager import BackupManager; BackupManager().creat
|
||||
- [`docs/TROUBLESHOOTING.md`](docs/TROUBLESHOOTING.md) - Fehlerbehebung
|
||||
|
||||
### API-Endpunkte
|
||||
|
||||
- **Authentifizierung**: `/auth/login`, `/auth/logout`
|
||||
- **Drucker**: `/api/printers`, `/api/printers/{id}`
|
||||
- **Jobs**: `/api/jobs`, `/api/jobs/{id}`
|
||||
@@ -364,6 +396,7 @@ python -c "from utils.backup_manager import BackupManager; BackupManager().creat
|
||||
### Häufige Probleme
|
||||
|
||||
#### HTTPS nicht erreichbar
|
||||
|
||||
```bash
|
||||
# Service-Status prüfen
|
||||
sudo systemctl status myp-https.service
|
||||
@@ -377,6 +410,7 @@ sudo ./setup.sh # Option 1 für Zertifikat-Neugenerierung
|
||||
```
|
||||
|
||||
#### Kiosk-Browser startet nicht
|
||||
|
||||
```bash
|
||||
# X-Server prüfen
|
||||
ps aux | grep X
|
||||
@@ -390,6 +424,7 @@ sudo systemctl status myp-kiosk.service
|
||||
```
|
||||
|
||||
#### Hohe Speichernutzung
|
||||
|
||||
```bash
|
||||
# Browser-Cache leeren
|
||||
sudo rm -rf /home/kiosk/.chromium-kiosk/Default/Cache/*
|
||||
@@ -402,9 +437,12 @@ sudo journalctl -u kiosk-watchdog -f
|
||||
```
|
||||
|
||||
### Support
|
||||
|
||||
Bei Problemen:
|
||||
|
||||
1. **System-Test durchführen**: `sudo ./setup.sh` → Option 5
|
||||
2. **Log-Bundle erstellen**:
|
||||
|
||||
```bash
|
||||
sudo tar -czf myp-logs-$(date +%Y%m%d).tar.gz \
|
||||
logs/ \
|
||||
@@ -415,6 +453,7 @@ sudo tar -czf myp-logs-$(date +%Y%m%d).tar.gz \
|
||||
## 🔄 Updates
|
||||
|
||||
### Anwendungs-Updates
|
||||
|
||||
```bash
|
||||
cd /opt/myp
|
||||
git pull origin main
|
||||
@@ -428,6 +467,7 @@ sudo systemctl restart myp-https.service
|
||||
```
|
||||
|
||||
### System-Updates
|
||||
|
||||
```bash
|
||||
sudo apt-get update && sudo apt-get upgrade -y
|
||||
sudo reboot
|
||||
@@ -454,9 +494,69 @@ Dieses Projekt ist für den internen Gebrauch bei Mercedes-Benz entwickelt.
|
||||
|
||||
---
|
||||
|
||||
## 🆕 Version 4.0.4 - Setup-Korrekturen (2025-01-12)
|
||||
## 🆕 Version 4.1.0 - Erweiterte Konfliktbehandlung (2025-01-06)
|
||||
|
||||
### ✨ Neue Features
|
||||
|
||||
- **🔧 Intelligente Druckerkonflikt-Management-Engine**: Automatische Erkennung und Lösung von Zeitüberschneidungen
|
||||
- **🎯 Smart-Empfehlungssystem**: KI-basierte Druckerzuweisung mit Scoring-Algorithmus basierend auf:
|
||||
- Verfügbarkeit und Auslastung
|
||||
- Prioritätsstufen (urgent, high, normal, low)
|
||||
- Zeitfenster-Optimierung (Tag-/Nachtschicht)
|
||||
- Job-Dauer-Eignung (Express vs. Langzeit-Jobs)
|
||||
- **📊 Echtzeit-Verfügbarkeitsanzeige**: Live-Dashboard mit Druckerstatus und Auslastung
|
||||
- **⚠️ Proaktive Konfliktprävention**: Echzeit-Validierung während Formulareingabe
|
||||
- **🚀 Automatische Konfliktlösung**: Ein-Klick-Lösung für erkannte Konflikte
|
||||
|
||||
### 🔧 Technische Verbesserungen
|
||||
|
||||
- **Neue API-Endpunkte**:
|
||||
- `/api/calendar/check-conflicts` - Detaillierte Konfliktanalyse
|
||||
- `/api/calendar/resolve-conflicts` - Automatische Konfliktlösung
|
||||
- `/api/calendar/printer-availability` - Echtzeit-Verfügbarkeit
|
||||
- **ConflictManager-Klasse** mit umfassender Konfliktbehandlung
|
||||
- **Erweiterte Frontend-Integration** mit modalen Dialogen und Toast-Benachrichtigungen
|
||||
- **Smart-Assignment-Algorithmus** mit gewichteter Bewertung
|
||||
|
||||
### 📋 Konfliktarten und Behandlung
|
||||
|
||||
1. **Zeitüberschneidungen** - Automatische Alternative oder Zeitverschiebung
|
||||
2. **Druckerausfälle** - Sofortige Neuzuweisung auf verfügbare Drucker
|
||||
3. **Prioritätskonflikte** - Intelligente Umplanung bei höherprioren Jobs
|
||||
4. **Ressourcenkonflikte** - Warteschlange mit automatischer Reaktivierung
|
||||
|
||||
### 🎨 Benutzeroberfläche
|
||||
|
||||
- **Konflikt-Benachrichtigungsmodal** mit detaillierten Lösungsvorschlägen
|
||||
- **Verfügbarkeits-Dashboard** mit visuellen Status-Indikatoren
|
||||
- **Smart-Empfehlungs-Widget** mit Confidence-Scores
|
||||
- **"Konflikte prüfen" Button** für manuelle Validierung
|
||||
- **Echtzeit-Verfügbarkeitsanzeige** mit Aktualisierungsbutton
|
||||
|
||||
### 📚 Dokumentation
|
||||
|
||||
- **[`docs/DRUCKERKONFLIKT_MANAGEMENT.md`](docs/DRUCKERKONFLIKT_MANAGEMENT.md)** - Umfassende Dokumentation des Konfliktsystems
|
||||
- Detaillierte API-Referenz für alle neuen Endpunkte
|
||||
- Scoring-Algorithmus-Dokumentation mit Beispielen
|
||||
- Troubleshooting-Guide für Konfliktbehandlung
|
||||
|
||||
### 🔄 Migration
|
||||
|
||||
```bash
|
||||
# Keine Datenbankmigrationen erforderlich
|
||||
# Frontend-Assets aktualisieren
|
||||
npm run build:css
|
||||
|
||||
# Neue JavaScript-Module laden
|
||||
# (Automatisch über Template-Integration)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔄 Version 4.0.4 - Setup-Korrekturen (2025-01-12)
|
||||
|
||||
### ✅ Behobene Probleme
|
||||
|
||||
- **Python-Import-Fehler behoben**: Flask-App kann jetzt korrekt importiert werden
|
||||
- **Requirements.txt korrigiert**: Alle Versionskonflikte beseitigt (Werkzeug + Flask)
|
||||
- **Internetverbindung-Erkennung**: Multi-Methoden-Prüfung (HTTP/DNS/ICMP/Gateway)
|
||||
@@ -465,6 +565,7 @@ Dieses Projekt ist für den internen Gebrauch bei Mercedes-Benz entwickelt.
|
||||
- **Python-Umgebung**: Automatische PYTHONPATH-Konfiguration implementiert
|
||||
|
||||
### 🔧 Verbesserungen
|
||||
|
||||
- Erweiterte Fehlerbehandlung im Setup-Skript
|
||||
- Sichere Test-Umgebung für Flask-App-Validierung
|
||||
- Performance-Optimierungen für pip-Installation
|
||||
@@ -472,6 +573,7 @@ Dieses Projekt ist für den internen Gebrauch bei Mercedes-Benz entwickelt.
|
||||
- Umfassende Dokumentation der Korrekturen
|
||||
|
||||
### 📋 Nach Update empfohlen
|
||||
|
||||
```bash
|
||||
# Setup-Skript erneut ausführen für korrigierte Installation
|
||||
sudo ./setup.sh # Option 1 zum Testen der Korrekturen
|
||||
@@ -486,8 +588,8 @@ sudo ./setup.sh # Option 1 zum Testen der Korrekturen
|
||||
|
||||
---
|
||||
|
||||
**Version**: 4.0.4 (Korrigiert)
|
||||
**Plattform**: Debian/Linux (Raspberry Pi OS)
|
||||
**Modus**: HTTPS Kiosk (Port 443)
|
||||
**Setup**: Konsolidiertes `setup.sh` System
|
||||
**Entwickelt für**: Mercedes-Benz MYP
|
||||
**Version**: 4.0.4 (Korrigiert)
|
||||
**Plattform**: Debian/Linux (Raspberry Pi OS)
|
||||
**Modus**: HTTPS Kiosk (Port 443)
|
||||
**Setup**: Konsolidiertes `setup.sh` System
|
||||
**Entwickelt für**: Mercedes-Benz MYP
|
||||
|
Reference in New Issue
Block a user