Files
Projektarbeit-MYP/README.md

4.0 KiB
Executable File

📦 MYP - Manage your Printer

MYP (Manage your Printer) ist eine Plattform zur Reservierung von 3D-Druckern, die für die TBA im Werk 040, Berlin-Marienfelde, entwickelt wurde.

Frontend: https://git.i.mercedes-benz.com/TBA-Berlin-FI/MYP/tree/main/frontend

⚠️ MYP ist zzt. in Entwicklung

‼ Datenbank aus Blueprint steht im Konflikt zu MYP.sql - Integration muss besprochen werden

💡 Vorschlag wenn machbar @Torben: Aufteilung der Datenbanken? API ist ja nur für Drucker zuständig; WebInterface für Authentifizierung, Sessions etc.

UltiMaker HTTP API: https://support.makerbot.com/s/article/1667412427787


Datenbankstruktur

(MYP.sql - Gerät: Reservation Pi)

Printer

  • Speichert Informationen zu Druckern.
  • Beinhaltet Details wie Namen, Beschreibung und Betriebsstatus.
  • Verknüpft mit Druckaufträgen.

PrintJob

  • Enthält alle Druckaufträge.
  • Jeder Auftrag ist einem Drucker und einem Benutzer zugeordnet.
  • Speichert Startzeit, Dauer und Kommentare zu den Aufträgen.
  • Erfassung, ob ein Auftrag abgebrochen wurde und die dazugehörige Begründung.

Account

  • Verwaltet Benutzerkonten.
  • Speichert Authentifizierungsdetails wie Tokens und deren Ablaufzeiten.

Session

  • Erfasst Session-Daten.
  • Beinhaltet eindeutige Session-Tokens und Ablaufdaten.

User

  • Speichert Benutzerinformationen.
  • Verknüpft mit Druckaufträgen, Accounts und Sessions.

Fremdschlüsselbeziehungen

  • User ist verknüpft mit PrintJob, Account und Session über Benutzer-ID.
  • Printer ist verknüpft mit PrintJob über die Drucker-ID.

Installation und Start

Windows

  1. Stellen Sie sicher, dass Docker Desktop installiert und gestartet ist.
  2. Öffnen Sie PowerShell und navigieren Sie zum Projektverzeichnis.
  3. Führen Sie das Start-Skript aus:
    .\start.ps1
    

Linux/Mac

  1. Stellen Sie sicher, dass Docker installiert und gestartet ist.
  2. Öffnen Sie ein Terminal und navigieren Sie zum Projektverzeichnis.
  3. Machen Sie die Skripte ausführbar:
    chmod +x start.sh cleanup.sh
    
  4. Führen Sie das Start-Skript aus:
    ./start.sh
    

Bereinigung der Umgebung

Um eine vollständige Bereinigung aller Container, Images und Volumes durchzuführen, können Sie folgende Skripte verwenden:

Windows

.\cleanup.ps1

Linux/Mac

./cleanup.sh

Die Bereinigung kann auch während des Starts der Anwendung durchgeführt werden, wenn alte Container erkannt werden.

Backend-Interface

Das Backend-Interface ist unter folgenden URLs erreichbar:

Frontend-Interface

Das Frontend-Interface ist unter folgenden URLs erreichbar:

SSH-Server

Die Start-Skripte sorgen automatisch dafür, dass ein SSH-Server installiert, aktiviert und gestartet wird:

  • Unter Linux: Verwendet systemd, um den OpenSSH-Server zu aktivieren und zu starten
  • Unter Windows: Installiert und konfiguriert den Windows OpenSSH-Server

Der SSH-Server wird so konfiguriert, dass er automatisch beim Systemstart aktiviert wird, um einen Fernzugriff auf das System zu ermöglichen. Auf Windows-Systemen wird auch eine entsprechende Firewall-Regel erstellt.

Manuelles Einrichten des SSH-Servers

Falls die automatische Installation fehlschlägt:

Linux (Debian/Ubuntu)

sudo apt-get update
sudo apt-get install openssh-server
sudo systemctl enable ssh
sudo systemctl start ssh

Windows 10/11

  1. Öffnen Sie "Einstellungen" > "Apps" > "Optionale Features"
  2. Klicken Sie auf "Feature hinzufügen" und wählen Sie "OpenSSH Server"
  3. Nach der Installation öffnen Sie PowerShell als Administrator und führen Sie folgende Befehle aus:
Set-Service -Name sshd -StartupType Automatic
Start-Service sshd
New-NetFirewallRule -Name 'OpenSSH-Server-In-TCP' -DisplayName 'OpenSSH Server (TCP-In)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22