sdl3/examples/ServerManager/REFACTORING_PLAN.md
2025-11-12 11:56:45 +01:00

62 lines
1.5 KiB
Markdown

# Server Manager Refactoring Plan
## Aktuelle Struktur
- `windows_app_example.php` - 657 Zeilen, alles in einer Datei
## Geplante Struktur
### 1. Services (Backend-Logik)
**ServerManager/Services/HetznerService.php** ✓ ERSTELLT
- `loadServersAsync()` - API Aufruf
- `generateTestData()` - Test-Daten generieren
### 2. UI Components (Wiederverwendbare UI-Module)
**ServerManager/UI/SettingsModal.php**
- Erstellt Modal-Dialog für Einstellungen
- Verwaltet API Key und Private Key Pfad
- Speichert Einstellungen
**ServerManager/UI/MenuBarBuilder.php**
- Erstellt Menüleiste
- Datei-Menü (Neu, Öffnen, Beenden)
- Einstellungen-Menü
**ServerManager/UI/ServerListTab.php**
- Server-Tabelle mit Suche
- Refresh-Button
- Detail-Panel mit Server-Info
- SFTP und SSH Buttons
**ServerManager/UI/SftpManagerTab.php**
- Lokaler File-Browser (links)
- Remote File-Browser (rechts)
- Connection Status
- Navigation Handler
### 3. Main Application
**ServerManager/App.php**
- Initialisiert Application und Window
- Lädt alle Module
- Koordiniert zwischen Komponenten
- Main event loop
**server_manager.php** (neuer Entry Point)
- Einfacher Bootstrap
- Lädt Autoloader
- Startet App
## Vorteile
- Bessere Wartbarkeit
- Wiederverwendbare Komponenten
- Klare Verantwortlichkeiten
- Einfacher zu testen
- Bessere Übersicht
## Nächste Schritte
1. ✓ HetznerService erstellen
2. Weitere Module nacheinander erstellen
3. Neue server_manager.php als Entry Point
4. Alte windows_app_example.php als Backup behalten