Introduced detailed documentation for the API Gateway, including its configuration and responsibilities in the system (e.g., routing, security, and cross-cutting concerns). Added a README for the core model directory to define its structure and workflow. Created a new backend README to describe its components and their documentation structure. Simplified and clarified legacy specifications for archiving purposes.
@@ -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.)*
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.
**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
<?xml version='1.0' encoding='UTF-8'?>
<!--
Erweiterung der Ergebnisschnittstelle
zwischen den Meldestellen und dem OEPS
Herbert Marchl, 18. Juni 2014
@@ -14,6 +23,30 @@ o Einführung der Richterpunkte, Richterprozente und Platzziffern als Attribute
o Entfernen der bisherigen Attribute mit den Richterpunkten.
o Ein neues Attribut, „Punkte“, enthält die Gesamt-Punktesumme aller Richter aus dem
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.
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
```
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.