diff --git a/README.md b/README.md new file mode 100644 index 0000000..2a75db0 --- /dev/null +++ b/README.md @@ -0,0 +1,18 @@ +Virtueller Gesundheitsassistent +Überblick +Dieses Projekt implementiert einen virtuellen Gesundheits- und Fahrassistenten +auf Basis von JavaFX. Die Anwendung visualisiert den aktuellen Zustand des +Fahrers (z.B. Müdigkeit, Ablenkung, Stress) und integriert: +- ein ML-Modell, das Zustände klassifiziert +- eine JavaFX-GUI mit mehreren Designvarianten +- OpenCV für Kamera-Preview +- Unreal Engine Pixel Streaming für einen sprechenden Avatar +- WebSocket-Kommunikation zur Steuerung des Avatars + +Features +Architektur +Services +Views & UI-Struktur +Java-Version & Build +MQTT & Datenfluss +OpenCV \ No newline at end of file diff --git a/src/main/java/efi/projekt/virtueller_gesundheitsassistent/App.java b/src/main/java/efi/projekt/virtueller_gesundheitsassistent/App.java index 9feade9..92d58ca 100644 --- a/src/main/java/efi/projekt/virtueller_gesundheitsassistent/App.java +++ b/src/main/java/efi/projekt/virtueller_gesundheitsassistent/App.java @@ -1,5 +1,8 @@ package efi.projekt.virtueller_gesundheitsassistent; +import efi.projekt.virtueller_gesundheitsassistent.service.ClassificationService; +import efi.projekt.virtueller_gesundheitsassistent.service.MqttClientService; +import efi.projekt.virtueller_gesundheitsassistent.service.UnrealWebSocketService; import java.io.IOException; import javafx.application.Application; import static javafx.application.Application.launch; @@ -17,13 +20,31 @@ public class App extends Application { @Override public void start(Stage primaryStage) throws IOException { - // Lade FXML - FXMLLoader loader = new FXMLLoader(getClass().getResource("/efi/projekt/virtueller_gesundheitsassistent/view/FxView.fxml")); - Parent root = loader.load(); - // Erzeuge Model & ViewModel + // ========================= + // Services initialisieren + // ========================= + + // MQTT + MqttClientService mqttClientService = new MqttClientService(); + new ClassificationService(mqttClientService); + + // Unreal WebSocket + // new UnrealWebSocketService("ws://localhost;8080/avatar"); + + + + // ========================= + // UI laden + // ========================= + + FXMLLoader loader = new FXMLLoader( + getClass().getResource( + "/efi/projekt/virtueller_gesundheitsassistent/view/MainView.fxml" + ) + ); - Scene scene = new Scene(root, 1280, 720); + Scene scene = new Scene(loader.load(), 1400, 900); primaryStage.setTitle("Virtueller Gesundheitsassistent"); primaryStage.setScene(scene); @@ -38,7 +59,6 @@ public class App extends Application { } public static void main(String[] args) { - launch(); + launch(args); } - } \ No newline at end of file diff --git a/src/main/java/efi/projekt/virtueller_gesundheitsassistent/view/MainView.fxml b/src/main/resources/efi/projekt/virtueller_gesundheitsassistent/view/MainView.fxml similarity index 100% rename from src/main/java/efi/projekt/virtueller_gesundheitsassistent/view/MainView.fxml rename to src/main/resources/efi/projekt/virtueller_gesundheitsassistent/view/MainView.fxml diff --git a/src/main/java/efi/projekt/virtueller_gesundheitsassistent/view/components/AvatarView.fxml b/src/main/resources/efi/projekt/virtueller_gesundheitsassistent/view/components/AvatarView.fxml similarity index 100% rename from src/main/java/efi/projekt/virtueller_gesundheitsassistent/view/components/AvatarView.fxml rename to src/main/resources/efi/projekt/virtueller_gesundheitsassistent/view/components/AvatarView.fxml diff --git a/src/main/java/efi/projekt/virtueller_gesundheitsassistent/view/components/CameraView.fxml b/src/main/resources/efi/projekt/virtueller_gesundheitsassistent/view/components/CameraView.fxml similarity index 100% rename from src/main/java/efi/projekt/virtueller_gesundheitsassistent/view/components/CameraView.fxml rename to src/main/resources/efi/projekt/virtueller_gesundheitsassistent/view/components/CameraView.fxml diff --git a/src/main/java/efi/projekt/virtueller_gesundheitsassistent/view/designs/CompactView.fxml b/src/main/resources/efi/projekt/virtueller_gesundheitsassistent/view/designs/CompactView.fxml similarity index 100% rename from src/main/java/efi/projekt/virtueller_gesundheitsassistent/view/designs/CompactView.fxml rename to src/main/resources/efi/projekt/virtueller_gesundheitsassistent/view/designs/CompactView.fxml diff --git a/src/main/java/efi/projekt/virtueller_gesundheitsassistent/view/designs/DashboardView.fxml b/src/main/resources/efi/projekt/virtueller_gesundheitsassistent/view/designs/DashboardView.fxml similarity index 100% rename from src/main/java/efi/projekt/virtueller_gesundheitsassistent/view/designs/DashboardView.fxml rename to src/main/resources/efi/projekt/virtueller_gesundheitsassistent/view/designs/DashboardView.fxml diff --git a/src/main/java/efi/projekt/virtueller_gesundheitsassistent/view/designs/ImmersiveView.fxml b/src/main/resources/efi/projekt/virtueller_gesundheitsassistent/view/designs/ImmersiveView.fxml similarity index 100% rename from src/main/java/efi/projekt/virtueller_gesundheitsassistent/view/designs/ImmersiveView.fxml rename to src/main/resources/efi/projekt/virtueller_gesundheitsassistent/view/designs/ImmersiveView.fxml diff --git a/src/main/java/efi/projekt/virtueller_gesundheitsassistent/view/designs/MinimalView.fxml b/src/main/resources/efi/projekt/virtueller_gesundheitsassistent/view/designs/MinimalView.fxml similarity index 100% rename from src/main/java/efi/projekt/virtueller_gesundheitsassistent/view/designs/MinimalView.fxml rename to src/main/resources/efi/projekt/virtueller_gesundheitsassistent/view/designs/MinimalView.fxml