Go to file
StefanMoCoAt 04f8f2aae1
All checks were successful
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Successful in 7m39s
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Successful in 7m48s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 2m1s
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Successful in 1m50s
Add new strategies (E-H) to locate sqlite.worker.js in webpack configuration
2026-03-16 20:56:38 +01: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 chore: archive outdated screenshots and update Docker publish workflow with Keycloak image tag 2026-03-15 21:29:53 +01:00
.junie docs: restructure domain documentation and update references 2026-01-15 13:44:49 +01:00
backend fix: security, keycloak SSOT, restart policy, arch-test reaktiviert 2026-03-15 19:16:17 +01:00
config chore: replace static secrets in Keycloak realm with env vars, update Dockerfile for non-root optimization, and align .env.example with new configuration 2026-03-15 21:01:52 +01:00
contracts build: switch to hybrid build for Kotlin/JS web-app and optimize Docker setup 2026-02-04 15:34:40 +01:00
core build: switch to hybrid build for Kotlin/JS web-app and optimize Docker setup 2026-02-04 15:34:40 +01:00
docs docs: add domain workshop agenda and session log for SQLite worker fix 2026-03-16 15:25:10 +01:00
frontend Add new strategies (E-H) to locate sqlite.worker.js in webpack configuration 2026-03-16 20:56:38 +01:00
gradle refactor: replace Redis references with Valkey in tests and cache modules 2026-02-12 20:35:25 +01:00
kotlin-js-store build: switch to hybrid build for Kotlin/JS web-app and optimize Docker setup 2026-02-04 15:34:40 +01:00
platform fix: security, keycloak SSOT, restart policy, arch-test reaktiviert 2026-03-15 19:16:17 +01: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 build: aggregate Dokka outputs and add module index generation 2026-02-05 12:49:30 +01:00
dc-backend.yaml fix: security, keycloak SSOT, restart policy, arch-test reaktiviert 2026-03-15 19:16:17 +01:00
dc-gui.yaml Switch to runtime envsubst for JSON-based Keycloak and API URLs, update Dockerfile and entrypoint to support config injection. 2026-03-15 00:24:50 +01:00
dc-infra.yaml fix: update Keycloak configuration and Docker healthcheck improvements 2026-03-09 15:51:42 +01:00
dc-ops.yaml docs: document Keycloak hostname fix, session log analysis, and healthcheck updates 2026-03-10 12:51:46 +01: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 infra: clean up Keycloak configuration, enforce consistency in .env, and improve health checks 2026-03-06 11:23:24 +01:00
gradlew refactor(build): remove unused files and adjust JVM toolchain to Java 24 2026-01-03 15:49:09 +01: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 docs: enhance README with detailed tech stack, updated quick start, and improved documentation structure 2026-03-06 14:31:28 +01:00
settings.gradle.kts chore: entries-service aus Build ausgetragen (ON HOLD, feature/entries-service) 2026-03-15 19:16:48 +01:00

Meldestelle

Modulares System für Pferdesportveranstaltungen — gebaut mit Domain-Driven Design, Kotlin Multiplatform und Microservices.

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, C4-Modelle
02_Guides Setup-Anleitungen, Entwickler-Guidelines
03_Domain Fachlichkeit, Turnierregeln, Entities
07_Infrastructure Docker, Keycloak, CI/CD, Zora-Infrastruktur

🏗️ Tech Stack

Schicht Technologie
Backend Kotlin, Spring Boot 3.x, Spring Cloud Gateway
Frontend Kotlin Multiplatform (KMP), Compose Multiplatform
Datenbank PostgreSQL + Exposed / JPA
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 (Lokal)

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

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

# 3. Backend-Services starten (Gateway, Ping-Service)
docker compose -f docker-compose.yaml -f dc-backend.yaml up -d

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

# 5. Optional: Web-App starten
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 zum Hochfahren.

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.