diff --git a/docs/02_Reference/Tech_Stack/Gradle_Kotlin_DSL_Primer.md b/docs/02_Reference/Tech_Stack/Gradle_Kotlin_DSL_Primer.md index 59fd42c9..70f2fdbf 100644 --- a/docs/02_Reference/Tech_Stack/Gradle_Kotlin_DSL_Primer.md +++ b/docs/02_Reference/Tech_Stack/Gradle_Kotlin_DSL_Primer.md @@ -52,7 +52,7 @@ The Kotlin DSL supports lazy property assignment using the `=` operator for type ```kotlin // Instead of: -javaVersion.set(JavaLanguageVersion.of(17)) +// javaVersion.set(JavaLanguageVersion.of(17)) // Use: javaVersion = JavaLanguageVersion.of(17) @@ -106,5 +106,3 @@ repositories { mavenCentral() } ``` - -*(Dies ist eine gekürzte Zusammenfassung. Das Originaldokument enthält detailliertere Informationen.)* diff --git a/docs/02_Reference/Tech_Stack/Kotlin_2-3-0_ReleaseNotes.md b/docs/02_Reference/Tech_Stack/Kotlin_2-3-0_ReleaseNotes.md index 46135d92..47bda592 100644 --- a/docs/02_Reference/Tech_Stack/Kotlin_2-3-0_ReleaseNotes.md +++ b/docs/02_Reference/Tech_Stack/Kotlin_2-3-0_ReleaseNotes.md @@ -1,4 +1,4 @@ -# What's new in Kotlin 2.3.0 | Kotlin Documentation +# What's new in Kotlin 2.3.0 **Quelle:** [Original Kotlin Documentation](https://kotlinlang.org/docs/whatsnew23.html) **Datum des Dokuments:** 16. Dezember 2025 @@ -31,7 +31,7 @@ The following features have now graduated to Stable: * Support for `return` statements in expression bodies with explicit return types is now enabled by default. ### Experimental: Unused return value checker -Kotlin 2.3.0 introduces the unused return value checker to help prevent ignored results. It warns you whenever an expression returns a value other than `Unit` or `Nothing` and isn't used. +Kotlin 2.3.0 introduces the unused return value checker to help prevent ignored results. ### Experimental: Explicit backing fields A new syntax for explicitly declaring the underlying field that holds a property's value, simplifying the common backing properties pattern. @@ -53,13 +53,9 @@ Starting with Kotlin 2.3.0, the compiler can generate classes containing Java 25 * **Experimental Suspend Function Export:** Export suspend functions directly to JavaScript using `@JsExport`. * **`BigInt64Array` for `LongArray`:** Simplifies interop with JavaScript APIs that use typed arrays. * **Unified Companion Object Access:** Consistent access to companion objects in interfaces across all JS module systems. -* **`@JsStatic` in Interfaces:** Now supported in interfaces with companion objects. -* **`@JsQualifier` on individual declarations:** Can now be applied to individual functions and classes. -* **`@JsExport.Default`:** New annotation for generating JavaScript default exports. ## Gradle * Fully compatible with Gradle 7.6.3 through 9.0.0. -* Minimum supported Android Gradle plugin version is now 8.2.2. * New experimental API for registering generated sources. ## Standard library @@ -68,5 +64,3 @@ Starting with Kotlin 2.3.0, the compiler can generate classes containing Java 25 ## Compose compiler * **Stack Traces for Minified Android Apps:** The compiler now outputs ProGuard mappings for Compose stack traces when applications are minified by R8. - -*(Dies ist eine gekürzte Zusammenfassung. Das Originaldokument enthält detailliertere Informationen und Code-Beispiele.)* diff --git a/docs/03_Domain/01_Core_Model/README.md b/docs/03_Domain/01_Core_Model/README.md new file mode 100644 index 00000000..81488fa7 --- /dev/null +++ b/docs/03_Domain/01_Core_Model/README.md @@ -0,0 +1,14 @@ +# Das Kern-Modell (Core Model) + +Dieses Verzeichnis ist die "Single Source of Truth" für das destillierte, fachliche Wissen des Projekts. Nur was hier beschrieben ist, gilt als vereinbarte Wahrheit für die Implementierung. + +## Struktur + +* `Entities/`: Beschreibt die zentralen fachlichen Entitäten des Systems (z.B. Event, Turnier, Akteur). +* `Processes/`: Dokumentiert die wichtigsten fachlichen Prozesse und Abläufe (z.B. Nennungsprozess, Ergebniserfassung). +* `Rules/`: Definiert explizite Geschäftsregeln und Validierungen. + +## Workflow + +Informationen in diesem Verzeichnis sind das Ergebnis der Analyse von externen Quellen (siehe `../02_Reference`) und Workshops (siehe `../03_Analysis`). +Jede Änderung am Core Model sollte nachvollziehbar und idealerweise durch ein ADR gestützt sein. diff --git a/docs/03_Domain/02_Reference/Legacy_Specs/OETO-2026_Meldestelle_Erweiterung-Schnittstelle_2014.md b/docs/03_Domain/02_Reference/Legacy_Specs/OETO-2026_Meldestelle_Erweiterung-Schnittstelle_2014.md index 5f0eeb8a..d6474e9b 100644 --- a/docs/03_Domain/02_Reference/Legacy_Specs/OETO-2026_Meldestelle_Erweiterung-Schnittstelle_2014.md +++ b/docs/03_Domain/02_Reference/Legacy_Specs/OETO-2026_Meldestelle_Erweiterung-Schnittstelle_2014.md @@ -1,474 +1,105 @@ +# Erweiterung der Ergebnisschnittstelle 2014 + +**Kontext:** Dieses Dokument ist eine historische, technische Spezifikation für eine XML-basierte Erweiterung der Ergebnisschnittstelle zwischen Meldestellen und dem OEPS. Es wird hier als Referenz für das Legacy-System archiviert. + +--- + +```xml + + + + + + + + + + + + + + + + + + + + + + + +``` diff --git a/docs/05_Backend/README.md b/docs/05_Backend/README.md new file mode 100644 index 00000000..7942ff40 --- /dev/null +++ b/docs/05_Backend/README.md @@ -0,0 +1,13 @@ +# Backend Dokumentation + +Dieses Verzeichnis enthält die spezifische Dokumentation für alle Backend-Komponenten, einschließlich der Microservices und der Infrastruktur-Module wie dem API-Gateway. + +## Struktur + +* `Services/`: Enthält pro Service eine dedizierte Markdown-Datei, die dessen Zweck, API, Datenmodell und Konfiguration beschreibt. +* `Integration/`: Dokumentation zur Interaktion zwischen den Services (z.B. Event-Flows). + +## Wichtige Einstiegspunkte + +* **[Ping-Service](./Services/ping-service.md):** Dient als technischer Blueprint und einfachstes Beispiel für einen Service. +* **[API-Gateway](../07_Infrastructure/api-gateway.md):** Beschreibung des zentralen Einstiegspunkts für alle externen Anfragen. diff --git a/docs/07_Infrastructure/api-gateway.md b/docs/07_Infrastructure/api-gateway.md new file mode 100644 index 00000000..273e1640 --- /dev/null +++ b/docs/07_Infrastructure/api-gateway.md @@ -0,0 +1,33 @@ +# Infrastruktur: API-Gateway + +Dieses Dokument beschreibt die Konfiguration und die Aufgaben des API-Gateways im "Meldestelle"-Projekt. + +## Zweck + +Das API-Gateway (implementiert mit Spring Cloud Gateway) ist der zentrale, nach außen exponierte Einstiegspunkt für alle HTTP-Anfragen an das System. + +Seine Hauptaufgaben sind: +* **Routing:** Leitet Anfragen an den korrekten Microservice weiter (z.B. `/api/ping/**` -> `ping-service`). +* **Security:** Erzwingt die Authentifizierung und Autorisierung für alle eingehenden Anfragen. Es validiert die von Keycloak ausgestellten JWTs. +* **Cross-Cutting Concerns:** Implementiert übergreifende Funktionalitäten wie Rate Limiting, Logging und Circuit Breaking (mit Resilience4j). + +## Konfiguration + +Die Routen werden in der `application.yml` des Gateways definiert. Die Konfiguration für die Service Discovery erfolgt über Consul. + +```yaml +spring: + cloud: + gateway: + discovery: + locator: + enabled: true + lower-case-service-id: true + routes: + - id: ping-service + uri: lb://ping-service + predicates: + - Path=/api/ping/** + filters: + - StripPrefix=2 +```