diff --git a/docs/99_Journal/2026-04-19_DesktopShell_Blueprint_Migration.md b/docs/99_Journal/2026-04-19_DesktopShell_Blueprint_Migration.md new file mode 100644 index 00000000..f7de0e2d --- /dev/null +++ b/docs/99_Journal/2026-04-19_DesktopShell_Blueprint_Migration.md @@ -0,0 +1,35 @@ +# Journal-Eintrag: Blueprint-Migration Shell "meldestelle-desktop" + +**Datum:** 19. April 2026 +**Status:** Abgeschlossen +**Agent:** 🏗️ [Lead Architect] | 🧹 [Curator] + +## 🎯 Zielsetzung +Migration des primären Desktop-Shell-Moduls `frontend/shells/meldestelle-desktop` auf den neuen **Module Architecture Blueprint** (Klasse B/C). Sicherstellung der Konsistenz im Namensraum `at.mocode.frontend.shell`. + +## 🛠️ Durchgeführte Änderungen + +### 1. Gradle-Konfiguration (`build.gradle.kts`) +- **Group-ID:** Auf `at.mocode.frontend.shell` gesetzt (vorher implizit oder abweichend). +- **Version:** Auf `1.0.0` gesetzt. +- Die Abhängigkeiten auf die neuen Core- und Feature-Projekte wurden beibehalten und verifiziert. + +### 2. Quellcode-Anpassungen (`main.kt`) +- **Import-Sync:** Die Importe für die Koin-Module der Features `ping` und `turnier` wurden auf den neuen Blueprint-Standard aktualisiert: + - `at.mocode.ping.feature.di` -> `at.mocode.frontend.features.ping.di` + - `at.mocode.turnier.feature.di` -> `at.mocode.frontend.features.turnier.di` + +### 3. Konsistenz-Fixes in Feature-Modulen +Während der Migration der Shell wurden Inkonsistenzen in den DI-Paketen von `ping-feature` und `turnier-feature` festgestellt und behoben: +- Verschieben der `*FeatureModule.kt` Dateien in den Namensraum `at.mocode.frontend.features.[feature].di`. +- Aktualisierung der `package`-Deklarationen. + +### 4. Struktur-Validierung +- Die physische Verzeichnisstruktur unter `src/jvmMain/kotlin/at/mocode/frontend/shell/desktop/` entspricht bereits dem Ziel-Namensraum und wurde als korrekt bestätigt. + +## ✅ Verifikation +- `./gradlew :frontend:shells:meldestelle-desktop:assemble` wurde erfolgreich ausgeführt. +- Alle Modul-Referenzen in `main.kt` sind aufgelöst. + +## 🧹 Curator Fazit +Die Desktop-Shell ist nun vollständig auf die neue Modul-Architektur ausgerichtet. Damit ist die Kette von Core über Features bis zur auslieferbaren Shell architektonisch sauber geschlossen. diff --git a/frontend/features/ping-feature/src/commonMain/kotlin/at/mocode/ping/feature/di/PingFeatureModule.kt b/frontend/features/ping-feature/src/commonMain/kotlin/at/mocode/frontend/features/ping/di/PingFeatureModule.kt similarity index 96% rename from frontend/features/ping-feature/src/commonMain/kotlin/at/mocode/ping/feature/di/PingFeatureModule.kt rename to frontend/features/ping-feature/src/commonMain/kotlin/at/mocode/frontend/features/ping/di/PingFeatureModule.kt index 2daff190..b8c7bd5f 100644 --- a/frontend/features/ping-feature/src/commonMain/kotlin/at/mocode/ping/feature/di/PingFeatureModule.kt +++ b/frontend/features/ping-feature/src/commonMain/kotlin/at/mocode/frontend/features/ping/di/PingFeatureModule.kt @@ -1,4 +1,4 @@ -package at.mocode.ping.feature.di +package at.mocode.frontend.features.ping.di import at.mocode.frontend.core.localdb.AppDatabase import at.mocode.ping.api.PingApi diff --git a/frontend/features/turnier-feature/src/commonMain/kotlin/at/mocode/turnier/feature/di/TurnierFeatureModule.kt b/frontend/features/turnier-feature/src/commonMain/kotlin/at/mocode/frontend/features/turnier/di/TurnierFeatureModule.kt similarity index 62% rename from frontend/features/turnier-feature/src/commonMain/kotlin/at/mocode/turnier/feature/di/TurnierFeatureModule.kt rename to frontend/features/turnier-feature/src/commonMain/kotlin/at/mocode/frontend/features/turnier/di/TurnierFeatureModule.kt index 6c23387a..348aabf7 100644 --- a/frontend/features/turnier-feature/src/commonMain/kotlin/at/mocode/turnier/feature/di/TurnierFeatureModule.kt +++ b/frontend/features/turnier-feature/src/commonMain/kotlin/at/mocode/frontend/features/turnier/di/TurnierFeatureModule.kt @@ -1,4 +1,4 @@ -package at.mocode.turnier.feature.di +package at.mocode.frontend.features.turnier.di import org.koin.core.module.Module diff --git a/frontend/features/turnier-feature/src/jvmMain/kotlin/at/mocode/turnier/feature/di/TurnierFeatureModule.kt b/frontend/features/turnier-feature/src/jvmMain/kotlin/at/mocode/frontend/features/turnier/di/TurnierFeatureModule.kt similarity index 98% rename from frontend/features/turnier-feature/src/jvmMain/kotlin/at/mocode/turnier/feature/di/TurnierFeatureModule.kt rename to frontend/features/turnier-feature/src/jvmMain/kotlin/at/mocode/frontend/features/turnier/di/TurnierFeatureModule.kt index 7274f7e9..6057c60b 100644 --- a/frontend/features/turnier-feature/src/jvmMain/kotlin/at/mocode/turnier/feature/di/TurnierFeatureModule.kt +++ b/frontend/features/turnier-feature/src/jvmMain/kotlin/at/mocode/frontend/features/turnier/di/TurnierFeatureModule.kt @@ -1,4 +1,4 @@ -package at.mocode.turnier.feature.di +package at.mocode.frontend.features.turnier.di import at.mocode.frontend.core.network.sync.SyncManager import at.mocode.turnier.feature.data.remote.* diff --git a/frontend/features/turnier-feature/src/wasmJsMain/kotlin/at/mocode/turnier/feature/di/TurnierFeatureModule.kt b/frontend/features/turnier-feature/src/wasmJsMain/kotlin/at/mocode/frontend/features/turnier/di/TurnierFeatureModule.kt similarity index 85% rename from frontend/features/turnier-feature/src/wasmJsMain/kotlin/at/mocode/turnier/feature/di/TurnierFeatureModule.kt rename to frontend/features/turnier-feature/src/wasmJsMain/kotlin/at/mocode/frontend/features/turnier/di/TurnierFeatureModule.kt index e3ab53bf..fa2a0280 100644 --- a/frontend/features/turnier-feature/src/wasmJsMain/kotlin/at/mocode/turnier/feature/di/TurnierFeatureModule.kt +++ b/frontend/features/turnier-feature/src/wasmJsMain/kotlin/at/mocode/frontend/features/turnier/di/TurnierFeatureModule.kt @@ -1,4 +1,4 @@ -package at.mocode.turnier.feature.di +package at.mocode.frontend.features.turnier.di import org.koin.dsl.module diff --git a/frontend/shells/meldestelle-desktop/build.gradle.kts b/frontend/shells/meldestelle-desktop/build.gradle.kts index 9c1f4113..b012900b 100644 --- a/frontend/shells/meldestelle-desktop/build.gradle.kts +++ b/frontend/shells/meldestelle-desktop/build.gradle.kts @@ -23,6 +23,9 @@ plugins { alias(libs.plugins.kotlinSerialization) } +group = "at.mocode.frontend.shell" +version = "1.0.0" + // --------------------------------------------------------------- // Version aus root version.properties lesen (SemVer) // --------------------------------------------------------------- diff --git a/frontend/shells/meldestelle-desktop/src/jvmMain/kotlin/at/mocode/frontend/shell/desktop/main.kt b/frontend/shells/meldestelle-desktop/src/jvmMain/kotlin/at/mocode/frontend/shell/desktop/main.kt index 8fcf9418..54ee9e2e 100644 --- a/frontend/shells/meldestelle-desktop/src/jvmMain/kotlin/at/mocode/frontend/shell/desktop/main.kt +++ b/frontend/shells/meldestelle-desktop/src/jvmMain/kotlin/at/mocode/frontend/shell/desktop/main.kt @@ -19,8 +19,8 @@ import at.mocode.frontend.features.reiter.di.reiterModule import at.mocode.frontend.features.verein.di.vereinFeatureModule import at.mocode.frontend.features.zns.import.di.znsImportModule import at.mocode.frontend.shell.desktop.di.desktopModule -import at.mocode.ping.feature.di.pingFeatureModule -import at.mocode.turnier.feature.di.turnierFeatureModule +import at.mocode.frontend.features.ping.di.pingFeatureModule +import at.mocode.frontend.features.turnier.di.turnierFeatureModule import kotlinx.coroutines.runBlocking import org.koin.core.context.GlobalContext import org.koin.core.context.loadKoinModules