84 lines
3.3 KiB
Markdown
84 lines
3.3 KiB
Markdown
# Meldestelle
|
||
|
||
> Modulares System für Pferdesportveranstaltungen — gebaut mit Domain-Driven Design, Kotlin Multiplatform und Microservices.
|
||
|
||
[](https://git.mo-code.at/mocode-software/meldestelle/actions)
|
||
[](https://opensource.org/licenses/MIT)
|
||
|
||
---
|
||
|
||
## 📚 Dokumentation — Single Source of Truth
|
||
|
||
Die gesamte Projektdokumentation (Architektur, Fachdomäne, Entwickler-Anleitungen) befindet sich im `/docs`-Verzeichnis.
|
||
|
||
**Starte hier:** [**→ docs/README.md**](./docs/README.md)
|
||
|
||
| Bereich | Inhalt |
|
||
|-----------------------------------------------|---------------------------------------------|
|
||
| [01_Architecture](./docs/01_Architecture) | Master Roadmap, ADRs, C4-Modelle |
|
||
| [02_Guides](./docs/02_Guides) | Setup-Anleitungen, Entwickler-Guidelines |
|
||
| [03_Domain](./docs/03_Domain) | Fachlichkeit, Turnierregeln, Entities |
|
||
| [07_Infrastructure](./docs/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)
|
||
|
||
```bash
|
||
# 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 ~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`](./docs/02_Guides).
|
||
|
||
---
|
||
|
||
## 📜 Lizenz
|
||
|
||
Dieses Projekt steht unter der [MIT License](LICENSE).
|