Files
Projektarbeit-MYP/README.md

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
```