meldestelle/README.md

84 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Meldestelle
> Modulares System für Pferdesportveranstaltungen — gebaut mit Domain-Driven Design, Kotlin Multiplatform und Microservices.
[![CI/CD Pipeline](https://git.mo-code.at/mocode-software/meldestelle/actions/workflows/docker-publish.yaml/badge.svg)](https://git.mo-code.at/mocode-software/meldestelle/actions)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](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 ~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`](./docs/02_Guides).
---
## 📜 Lizenz
Dieses Projekt steht unter der [MIT License](LICENSE).