62 lines
1.5 KiB
Markdown
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
|