140 lines
4.0 KiB
Markdown
Executable File
140 lines
4.0 KiB
Markdown
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:
|
|
|
|
- Produktionsumgebung: http://localhost:5000
|
|
- Debug-Server: http://localhost:5555
|
|
|
|
## Frontend-Interface
|
|
|
|
Das Frontend-Interface ist unter folgenden URLs erreichbar:
|
|
|
|
- Produktionsumgebung: http://localhost:80 oder https://localhost:443
|
|
- Debug-Server: http://localhost:8081
|
|
|
|
## 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
|
|
```
|