Go to file
2026-04-21 17:02:03 +02: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
.idea chore: entferne XML-Deklaration aus .idea/misc.xml 2026-04-19 21:50:42 +02:00
.junie docs: restructure domain documentation and update references 2026-01-15 13:44:49 +01:00
backend chore: consolidate redundant controllers in mail-service, improve backend stability, refine desktop UX, and enhance Vereinsverwaltung functionality 2026-04-20 00:21:20 +02:00
config docs: log session outcomes and apply enhancements across multiple components 2026-04-03 14:24:46 +02:00
contracts JS-spezifische Module und Dateien entfernt, Multiplattform-Targets korrigiert 2026-04-18 14:16:29 +02:00
core JS-spezifische Module und Dateien entfernt, Multiplattform-Targets korrigiert 2026-04-18 14:16:29 +02:00
docs chore(docs): füge ADRs 0025–0027 und Wizard-DSL-Referenz hinzu, aktualisiere Roadmap und ADR-Index 2026-04-21 16:21:22 +02:00
frontend chore: implementiere Ping-Feature mit Repository, Sync-Service und API Client 2026-04-21 17:02:03 +02:00
gradle chore: erweitere Resilience4j-Bundle um Kotlin-Support, aktualisiere PingController um Fallback-Logik, füge Fehlerhandler hinzu, verbessere PingControllerTest, synchronisiere .env und dc-infra.yaml 2026-04-19 21:50:33 +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 refactor(web): Komplettumstellung auf WASM, Altlasten aus Gradle und Architektur-Tests entfernt 2026-04-18 15:48:35 +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 chore: erweitere Resilience4j-Bundle um Kotlin-Support, aktualisiere PingController um Fallback-Logik, füge Fehlerhandler hinzu, verbessere PingControllerTest, synchronisiere .env und dc-infra.yaml 2026-04-19 21:50:33 +02:00
.env.example feat: Mail-Service-Ports aktualisiert, Consul- und Zipkin-Konfiguration hinzugefügt, neue Felder in BewerbService eingefügt 2026-04-15 21:45:20 +02:00
.gitignore chore: erweitere Resilience4j-Bundle um Kotlin-Support, aktualisiere PingController um Fallback-Logik, füge Fehlerhandler hinzu, verbessere PingControllerTest, synchronisiere .env und dc-infra.yaml 2026-04-19 21:50:33 +02:00
AGENTS.md feat(onboarding, screens): Logging für Screen-Loads ergänzt & Biest-Referenzen entfernt 2026-04-17 13:13:47 +02:00
build.gradle.kts feat: füge Wasm/JS-Feature-Toggle hinzu, optimiere Gradle-Build-Zeit durch bedingte Task-Deaktivierung 2026-04-16 19:18:58 +02:00
CHANGELOG.md chore: behebe Kompilierungsfehler in ScreenPreviews.kt durch Implementierung von getStats() in Mock-Repos 2026-04-21 09:41:57 +02:00
dc-backend.yaml feat: verbessere Onboarding-Workflow, verbessere mDNS-Discovery & ZNS-Import 2026-04-17 22:52:37 +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 chore: erweitere Resilience4j-Bundle um Kotlin-Support, aktualisiere PingController um Fallback-Logik, füge Fehlerhandler hinzu, verbessere PingControllerTest, synchronisiere .env und dc-infra.yaml 2026-04-19 21:50:33 +02:00
dc-ops.yaml Remove outdated BillingController implementation, resolve conflicting bean definitions across modules, and retain the updated BillingController for consistency with frontend API logic. 2026-04-12 21:51:52 +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: implement Turnier domain logic, add repository interfaces and default implementations, and disable WASM builds 2026-04-20 09:38:39 +02: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 JS-spezifische Module und Dateien entfernt, Multiplattform-Targets korrigiert 2026-04-18 14:16:29 +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.