From ea6ff08c158acd52139c283bf1cd9983ef9de6b2 Mon Sep 17 00:00:00 2001 From: Till Tomczak Date: Mon, 26 May 2025 12:29:22 +0200 Subject: [PATCH] "Refactor printer management scripts and update requirements" --- README.md | 21 ++++- backend/app/config/settings.py | 7 +- .../app/{ => utils}/add_hardcoded_printers.py | 0 .../app/{ => utils}/clean_and_add_printers.py | 0 backend/app/{ => utils}/create_ssl_cert.py | 0 backend/requirements.txt | 85 +++++++++++++------ 6 files changed, 82 insertions(+), 31 deletions(-) rename backend/app/{ => utils}/add_hardcoded_printers.py (100%) rename backend/app/{ => utils}/clean_and_add_printers.py (100%) rename backend/app/{ => utils}/create_ssl_cert.py (100%) diff --git a/README.md b/README.md index 6c685d61..0fbf6541 100644 --- a/README.md +++ b/README.md @@ -4,19 +4,34 @@ Eine vollständige 3D-Drucker-Management-Plattform für Mercedes-Benz Werk 040 B ## Schnellstart -### Windows +### Windows (PowerShell) ```powershell +# Als Administrator für vollständige Funktionalität .\myp_installer.ps1 ``` -### Linux/Unix/macOS +### Linux/Unix/macOS (Bash) ```bash +# Ausführbar machen und als Root für vollständige Funktionalität chmod +x myp_installer.sh -./myp_installer.sh +sudo ./myp_installer.sh ``` +Die konsolidierten Installer bieten folgende Funktionen: + +- Systemvoraussetzungen prüfen +- Host-Konfiguration einrichten +- SSL-Zertifikate erstellen und verwalten +- Backend-Verbindung testen +- Frontend-/Backend-URL konfigurieren +- Debug-Server starten +- Vollständige MYP-Installation +- Umgebungs-Setup (Abhängigkeiten installieren) +- Anwendung starten (verschiedene Modi) +- Alte Dateien bereinigen + ## Übersicht Die MYP-Plattform ist eine moderne, webbasierte Lösung zur Verwaltung von 3D-Druckern in einer Unternehmensumgebung. Sie bietet: diff --git a/backend/app/config/settings.py b/backend/app/config/settings.py index 26591056..cb96b38e 100644 --- a/backend/app/config/settings.py +++ b/backend/app/config/settings.py @@ -17,7 +17,12 @@ def get_env_variable(name: str, default: str = None) -> str: # Hardcodierte Konfiguration SECRET_KEY = "7445630171969DFAC92C53CEC92E67A9CB2E00B3CB2F" -DATABASE_PATH = "/home/user/Projektarbeit-MYP/backend/app/database/myp.db" + +# Dynamische Pfade basierend auf dem aktuellen Arbeitsverzeichnis +BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) # backend/app +PROJECT_ROOT = os.path.dirname(BASE_DIR) # backend +DATABASE_PATH = os.path.join(BASE_DIR, "database", "myp.db") + TAPO_USERNAME = "till.tomczak@mercedes-benz.com" TAPO_PASSWORD = "744563017196A" diff --git a/backend/app/add_hardcoded_printers.py b/backend/app/utils/add_hardcoded_printers.py similarity index 100% rename from backend/app/add_hardcoded_printers.py rename to backend/app/utils/add_hardcoded_printers.py diff --git a/backend/app/clean_and_add_printers.py b/backend/app/utils/clean_and_add_printers.py similarity index 100% rename from backend/app/clean_and_add_printers.py rename to backend/app/utils/clean_and_add_printers.py diff --git a/backend/app/create_ssl_cert.py b/backend/app/utils/create_ssl_cert.py similarity index 100% rename from backend/app/create_ssl_cert.py rename to backend/app/utils/create_ssl_cert.py diff --git a/backend/requirements.txt b/backend/requirements.txt index cd80f927..f22c623b 100644 --- a/backend/requirements.txt +++ b/backend/requirements.txt @@ -1,38 +1,69 @@ -# MYP V3 - Python Dependencies -# Installiere mit: pip install -r requirements.txt - -# Flask Framework und Extensions -Flask==3.0.0 +# MYP Platform - Python Dependencies +# Core Flask Framework +Flask==2.3.3 Flask-Login==0.6.3 -Flask-WTF==1.2.1 -Flask-Limiter==3.5.0 +Flask-WTF==1.1.1 +Werkzeug==2.3.7 -# Datenbank -SQLAlchemy==2.0.41 +# Database +SQLAlchemy==2.0.21 +alembic==1.12.0 -# Smart Plug Steuerung -PyP100==0.1.2 +# Security & Authentication +cryptography==41.0.4 +PyJWT==2.8.0 +bcrypt==4.0.1 +passlib==1.7.4 -# Passwort-Hashing und Sicherheit -Werkzeug==3.0.1 -bcrypt==4.1.2 -cryptography==42.0.8 +# HTTP & API +requests==2.31.0 +urllib3==2.0.4 -# Sicherheit und Rate Limiting -redis==5.0.1 +# Smart Plug Control (Tapo) +PyP100==0.1.4 -# Entwicklung und Testing -pytest==7.4.3 -pytest-cov==4.1.0 +# System Monitoring +psutil==5.9.5 -# Produktions-Server +# Date & Time +python-dateutil==2.8.2 + +# Configuration & Environment +python-dotenv==1.0.0 + +# Logging & Debugging +colorlog==6.7.0 + +# SSL Certificate Management +pyOpenSSL==23.2.0 + +# Network & IP Address Handling +ipaddress==1.0.23 + +# JSON & Data Processing +jsonschema==4.19.0 + +# File System Operations +pathlib2==2.3.7 + +# Process Management +supervisor==4.2.5 + +# Development & Testing (optional) +pytest==7.4.2 +pytest-flask==1.2.0 + +# Production Server gunicorn==21.2.0 -# Monitoring und Logging -psutil==5.9.6 +# System Service Management +systemd-python==235 -# Zusätzliche Dependencies -requests==2.31.0 -Jinja2==3.1.2 +# Hardware Interface (GPIO for Raspberry Pi) +RPi.GPIO==0.7.1 + +# Additional Utilities +click==8.1.7 +itsdangerous==2.1.2 MarkupSafe==2.1.3 -itsdangerous==2.1.2 \ No newline at end of file +Jinja2==3.1.2 \ No newline at end of file