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

1.5 KiB

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