Projektarbeit-MYP/README.md

5.2 KiB

MYP (Mercedes-Benz Yard Printing) Platform

Eine vollständige 3D-Drucker-Management-Plattform für Mercedes-Benz Werk 040 Berlin.

Schnellstart

Windows (PowerShell)

# Als Administrator für vollständige Funktionalität
.\myp_installer.ps1

Linux/Unix/macOS (Bash)

# Ausführbar machen und als Root für vollständige Funktionalität
chmod +x 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:

  • Drucker-Management: Überwachung und Steuerung von 3D-Druckern
  • Auftragsverwaltung: Verwaltung von Druckaufträgen und Warteschlangen
  • Benutzerauthentifizierung: GitHub OAuth und lokale Benutzerkonten
  • Smart-Plug-Integration: Automatische Stromsteuerung über TP-Link Tapo-Steckdosen
  • SSL/HTTPS-Unterstützung: Sichere Kommunikation mit selbstsignierten Zertifikaten

Architektur

Backend

  • Framework: Flask (Python)
  • Datenbank: SQLite
  • API: RESTful API mit JSON
  • Authentifizierung: Session-basiert mit Flask-Login
  • SSL: Selbstsignierte Zertifikate

Frontend

  • Framework: Next.js (React)
  • Styling: Tailwind CSS
  • Authentifizierung: GitHub OAuth
  • API-Kommunikation: Fetch API

Installation

Automatische Installation

Die einfachste Methode ist die Verwendung der konsolidierten Installer-Skripte:

Windows (PowerShell)

# Als Administrator ausführen für vollständige Funktionalität
.\myp_installer.ps1

Linux/Unix/macOS (Bash)

# Ausführbar machen
chmod +x myp_installer.sh

# Als Root für vollständige Funktionalität
sudo ./myp_installer.sh

Manuelle Installation

Voraussetzungen

  • Python 3.6+ mit pip
  • Node.js 16+ mit npm
  • Docker und Docker Compose (optional)
  • Git

Backend-Setup

cd backend
pip install -r requirements.txt
python app/app.py

Frontend-Setup

cd frontend
npm install
npm run dev

Konfiguration

Standard-Zugangsdaten

Umgebungsvariablen

Backend (.env)

SECRET_KEY=7445630171969DFAC92C53CEC92E67A9CB2E00B3CB2F
DATABASE_PATH=database/myp.db
TAPO_USERNAME=till.tomczak@mercedes-benz.com
TAPO_PASSWORD=744563017196A
SSL_ENABLED=True

Frontend (.env.local)

NEXT_PUBLIC_API_URL=https://localhost:443
NEXT_PUBLIC_BACKEND_HOST=localhost
NEXT_PUBLIC_BACKEND_PROTOCOL=https
GITHUB_CLIENT_ID=7c5d8bef1a5519ec1fdc
GITHUB_CLIENT_SECRET=5f1e586204358fbd53cf5fb7d418b3f06ccab8fd

SSL-Zertifikate

Die Plattform verwendet selbstsignierte SSL-Zertifikate für sichere Kommunikation. Diese werden automatisch von den Installer-Skripten erstellt.

Manuelle Zertifikatserstellung

cd backend
python app/create_ssl_cert.py -c instance/ssl/myp.crt -k instance/ssl/myp.key -n localhost

Docker-Deployment

# Entwicklung
docker-compose up -d

# Produktion
docker-compose -f docker-compose.prod.yml up -d

Entwicklung

Backend-Entwicklung

cd backend
python app/app.py --debug

Frontend-Entwicklung

cd frontend
npm run dev

Tests ausführen

# Backend-Tests
cd backend
python -m pytest

# Frontend-Tests
cd frontend
npm test

API-Dokumentation

Die REST API ist unter /api/docs verfügbar, wenn der Backend-Server läuft.

Wichtige Endpunkte

  • GET /api/printers - Liste aller Drucker
  • POST /api/jobs - Neuen Druckauftrag erstellen
  • GET /api/jobs/{id} - Auftragsstatus abrufen
  • POST /api/auth/login - Benutzeranmeldung

Fehlerbehebung

Häufige Probleme

SSL-Zertifikatsfehler

# Zertifikate neu erstellen
python backend/app/create_ssl_cert.py -c backend/instance/ssl/myp.crt -k backend/instance/ssl/myp.key -n localhost

Port bereits in Verwendung

# Prozesse auf Port 443 beenden
sudo lsof -ti:443 | xargs kill -9

Datenbankfehler

# Datenbank zurücksetzen
rm backend/database/myp.db
python backend/app/models.py

Sicherheit

  • Alle Passwörter sind in CREDENTIALS.md dokumentiert
  • SSL/TLS-Verschlüsselung für alle Verbindungen
  • Session-basierte Authentifizierung
  • Rate Limiting für API-Endpunkte

Lizenz

Dieses Projekt ist für den internen Gebrauch bei Mercedes-Benz AG bestimmt.

Support

Bei Problemen oder Fragen wenden Sie sich an das Entwicklungsteam oder erstellen Sie ein Issue im Repository.

Changelog

Version 3.0

  • Konsolidierte Installer-Skripte
  • Verbesserte SSL-Unterstützung
  • GitHub OAuth-Integration
  • Erweiterte Drucker-Management-Funktionen

Version 2.0

  • Frontend-Neugestaltung mit Next.js
  • REST API-Implementierung
  • Docker-Unterstützung

Version 1.0

  • Grundlegende Drucker-Management-Funktionen
  • Flask-Backend
  • SQLite-Datenbank