3.3 KiB
3.3 KiB
Meldestelle
Modulares System für Pferdesportveranstaltungen — gebaut mit Domain-Driven Design, Kotlin Multiplatform und Microservices.
📚 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
healthysein, bevor Backend gestartet wird. Keycloak benötigt ~60–90 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.