Go to file
2026-04-06 19:50:37 +02:00
_backup chore(backend): add .keep file to ensure services directory is tracked 2026-02-01 17:55:32 +01:00
.gemini docs: restructure domain documentation and update references 2026-01-15 13:44:49 +01:00
.gitea/workflows feat(devops): configure desktop packaging and introduce semantic versioning 2026-04-03 11:26:46 +02:00
.junie docs: restructure domain documentation and update references 2026-01-15 13:44:49 +01:00
backend Standardize and refactor master data infrastructure: rename tables for plural consistency, remove unused entity tables, improve ZNS import mappings with enriched license properties, introduce Altersklasse domain model, activate Consul service discovery, and update application configuration accordingly. 2026-04-06 19:50:37 +02:00
config docs: log session outcomes and apply enhancements across multiple components 2026-04-03 14:24:46 +02:00
contracts Upgrade dependencies and refactor: Update Gradle to 9.4.0, adjust TopBar and TurnierDetailScreen UI, and add ZNS import feature to Docker build context 2026-03-25 23:47:33 +01:00
core Standardize and refactor master data infrastructure: rename tables for plural consistency, remove unused entity tables, improve ZNS import mappings with enriched license properties, introduce Altersklasse domain model, activate Consul service discovery, and update application configuration accordingly. 2026-04-06 19:50:37 +02:00
docs Standardize and refactor master data infrastructure: rename tables for plural consistency, remove unused entity tables, improve ZNS import mappings with enriched license properties, introduce Altersklasse domain model, activate Consul service discovery, and update application configuration accordingly. 2026-04-06 19:50:37 +02:00
frontend feat(tests): add QA test suites for onboarding and departmental logic validation 2026-04-03 11:46:05 +02:00
gradle Upgrade Gradle Wrapper to 9.4.1 for compatibility and stability improvements. 2026-04-04 21:02:15 +02:00
kotlin-js-store Upgrade dependencies and refactor: Update Gradle to 9.4.0, adjust TopBar and TurnierDetailScreen UI, and add ZNS import feature to Docker build context 2026-03-25 23:47:33 +01:00
META-INF feat: integrate new desktop shell and extend backend & ADRs 2026-03-24 18:22:15 +01:00
platform Implement tenant isolation for Entries Service: switch transaction handling to tenantTransaction, introduce Flyway-based migrations for tenant schemas, and add JdbcTenantRegistry with control schema support. Include migration tests, schema initializations, and E2E tenant isolation. Update configuration and roadmap with completed A-1 tasks. 2026-04-02 21:59:41 +02:00
.dockerignore build: switch to hybrid build for Kotlin/JS web-app and optimize Docker setup 2026-02-04 15:34:40 +01:00
.editorconfig Fix: Test-Commit für VCS-Integration (MP-8) (#15) 2025-11-07 12:26:33 +01:00
.env.example fix(web-app): remove unused sqlite.worker.js and wasi-dummy.js, update Config.kt and service worker logic 2026-03-16 10:14:06 +01:00
.gitignore chore: remove .env from version control for security 2026-03-10 22:23:55 +01:00
AGENTS.md docs: add Österreichische Turnierordnung 2026 (ÖTO) reference document 2026-03-16 15:05:33 +01:00
build.gradle.kts feat(devops): configure desktop packaging and introduce semantic versioning 2026-04-03 11:26:46 +02:00
CHANGELOG.md Standardize and refactor master data infrastructure: rename tables for plural consistency, remove unused entity tables, improve ZNS import mappings with enriched license properties, introduce Altersklasse domain model, activate Consul service discovery, and update application configuration accordingly. 2026-04-06 19:50:37 +02:00
dc-backend.yaml Mark A-1 as complete: Update Docker Compose setup with health checks, unified depends_on conditions, and one-command startup; document changes in roadmap. 2026-04-02 18:52:48 +02:00
dc-gui.yaml Mark A-1 as complete: Update Docker Compose setup with health checks, unified depends_on conditions, and one-command startup; document changes in roadmap. 2026-04-02 18:52:48 +02:00
dc-infra.yaml Mark A-1 as complete: Update Docker Compose setup with health checks, unified depends_on conditions, and one-command startup; document changes in roadmap. 2026-04-02 18:52:48 +02:00
dc-ops.yaml docs: log session outcomes and apply enhancements across multiple components 2026-04-03 14:24:46 +02:00
docker-compose.yaml Remove commented-out desktop-app service and redefine volumes in docker-compose configuration 2026-03-05 23:50:41 +01:00
gradle.properties chore: remove deprecated horses, clubs, officials, and persons services 2026-03-28 16:51:08 +01:00
gradlew Upgrade Gradle Wrapper to 9.4.1 for compatibility and stability improvements. 2026-04-04 21:02:15 +02:00
gradlew.bat refactor(build): remove unused files and adjust JVM toolchain to Java 24 2026-01-03 15:49:09 +01:00
LICENSE Create LICENSE 2025-04-17 13:19:13 +02:00
README.md Update setup guide and README to emphasize desktop-first development. Add detailed instructions for local setup, including prerequisites (JDK 25, Gradle 9.4.0, Docker), and clarify Docker backend stack as optional. Mark Sprint C tasks C-1 and C-2 as complete. 2026-04-03 23:11:20 +02:00
settings.gradle.kts feat(verein-feature): add Vereinsverwaltung module with screens, ViewModel, and integration 2026-03-31 15:00:24 +02:00
version.properties feat(devops): configure desktop packaging and introduce semantic versioning 2026-04-03 11:26:46 +02:00

Meldestelle

DesktopFirst Meldestelle: Offlinefähige ComposeDesktopApp mit optionalem BackendStack. Domänengetrieben (DDD), Kotlin Multiplatform.

CI/CD Pipeline License: MIT


📚 Dokumentation — Single Source of Truth

Die gesamte Projektdokumentation (Architektur, Fachdomäne, Entwickler-Anleitungen) befindet sich im /docs-Verzeichnis.

Starte hier: → docs/README.md

Bereich Inhalt
01_Architecture Master Roadmap, ADRs, C4Modelle, DesktopKonzept
02_Guides Setup-Anleitungen, Entwickler-Guidelines
03_Domain Fachlichkeit, Turnierregeln, Entities
07_Infrastructure Docker, Keycloak, CI/CD, Zora-Infrastruktur

Wesentliche Architektur-Referenz: OfflineFirst Desktop & Backend (Kurzkonzept)


🖥️ Primärer Fokus: DesktopApp

  • Compose Multiplatform (JVM Desktop) als primäre Zielplattform
  • OfflineFirst: Lokale SQLDelightDB, Synchronisation optional
  • MultiTenantBackend optional für Sync/Verwaltung (SchemaperTenant, vgl. ADR0021)

🏗️ Tech Stack (aktueller Stand)

Schicht Technologie
Frontend (primär) Kotlin Multiplatform (KMP), Compose Multiplatform
Backend Kotlin (Ktor/Spring Boot), Spring Cloud Gateway
Datenbank SQLDelight (lokal), PostgreSQL (Backend)
Auth Keycloak (OAuth2 / OIDC)
Cache Valkey
Service Discovery Consul
Tracing Zipkin
CI/CD Gitea Actions + Gitea Registry
Infrastruktur Proxmox VE, Docker Compose, Pangolin Tunnel

🚀 Quick Start (lokale Entwicklung)

Empfohlen: Starte die DesktopApp direkt aus dem Repo. Der BackendStack ist optional und wird nur für Sync/Integration benötigt.

A) DesktopApp starten (ohne Backend)

Voraussetzungen: JDK 21+, aktuelle Gradle Wrapper verwendet.

# DesktopShell ausführen (Compose Desktop)
./gradlew :frontend:shells:meldestelle-desktop:run

Hinweise:

  • Beim ersten Start wird die lokale Datenbank initialisiert (OfflineFirst).
  • Architektur-Referenz: docs/06_Frontend/MVVM_UDF_Pattern.md (UDF/MVVM für ViewModels)

B) Optional: BackendStack per Docker starten

# 1. Umgebungsvariablen (nur beim ersten Mal)
cp .env.example .env || true

# 2. Infrastruktur (Postgres, Keycloak, Valkey, Consul, Zipkin)
docker compose -f docker-compose.yaml -f dc-infra.yaml up -d

# 3. BackendServices (Gateway, Masterdata, Ping, …)
docker compose -f docker-compose.yaml -f dc-backend.yaml up -d

# 4. OpsStack (Prometheus, Grafana)
docker compose -f docker-compose.yaml -f dc-ops.yaml up -d

# 5. Optional: WebShell
docker compose -f docker-compose.yaml -f dc-gui.yaml up -d

⚠️ Reihenfolge beachten: Infra muss healthy sein, bevor Backend gestartet wird. Keycloak benötigt ~6090 Sekunden.


🧭 Legacy (V1) Hinweise

  • Ältere V1Abschnitte/Anleitungen (WebFirst/MicroservicesOnly) gelten als DEPRECATED.
  • Verwende für lokale Entwicklung primär die DesktopApp (siehe Quick Start). DockerStacks sind optional für Integration/Sync.
  • In der Doku sind V1Seiten entsprechend markiert oder werden sukzessive bereinigt (siehe Roadmaps Sprint C4).

Wichtige lokale Ports

Service URL
API-Gateway http://localhost:8081
Keycloak Admin http://localhost:8180
Consul UI http://localhost:8500
Grafana http://localhost:3000
Zipkin http://localhost:9411

🤝 Beitragen

Beiträge sind willkommen. Bitte lies zunächst die Entwickler-Guides unter docs/02_Guides.


📜 Lizenz

Dieses Projekt steht unter der MIT License.