docs: massive restructuring of documentation, development guides and agent playbooks

This commit is contained in:
2026-06-15 12:54:38 +02:00
parent e4988b4397
commit ce63303b2c
686 changed files with 45423 additions and 319 deletions
+89
View File
@@ -0,0 +1,89 @@
---
type: Guide
status: ACTIVE
owner: DevOps Engineer
tags: [setup, local, docker, gradle]
---
# Start Local (Lokales Setup)
Kurzanleitung, um das Projekt lokal in wenigen Minuten zu starten DesktopFirst mit optionalem DockerBackend.
## Voraussetzungen (exakte Versionen)
- Git ≥ 2.40
- JDK 25 (Temurin/Eclipse Adoptium empfohlen) Projekttoolchain lädt bei Bedarf automatisch
- Gradle Wrapper 9.4.0 (wird über `./gradlew` automatisch verwendet)
- Docker Engine ≥ 24, Docker Compose v2 ≥ 2.24
Hinweise:
- Die JavaToolchain wird per Gradle automatisch heruntergeladen (`org.gradle.java.installations.auto-download=true`). Ein lokal installiertes JDK 25 wird dennoch empfohlen für IDERuns.
- Auf AppleSilicon (arm64) sind die DockerImages optimiert; Keycloak nutzt `start --optimized`.
## Schnellstart (nur Backend in Docker)
```bash
# 1) Repository klonen
git clone https://github.com/StefanMoCoAt/meldestelle.git
cd meldestelle
# 2) Runtime-Environment vorbereiten
# Kopiere die Vorlage.
cp .env.example .env
# 3) Infrastruktur starten (Postgres, Valkey, Keycloak, Tracing, Service Discovery)
docker compose --profile infra up -d
# 4) Backend starten (Gateway + Ping Service)
docker compose --profile backend up -d
```
Sobald die Infrastruktur läuft, erreichst du unter anderem:
- Gateway (API): http://localhost:8081
- Keycloak (IAM): http://localhost:8180
- Zipkin (Tracing): http://localhost:9411
- Consul (Service Discovery): http://localhost:8500
- Optional WebApp (falls `--profile gui` gebaut/gestartet): http://localhost:4000
## DesktopApp starten (Compose Desktop)
Die DesktopApp ist der primäre EntwicklungsEntryPoint.
```bash
# 1) Abhängigkeiten bauen (optional; Gradle lädt automatisch beim ersten Run)
./gradlew :frontend:shells:meldestelle-desktop:build
# 2) DesktopApp starten
./gradlew :frontend:shells:meldestelle-desktop:run
```
Voraussetzung: Für Features, die BackendKonnektivität benötigen (z. B. Login, Stammdaten), muss das DockerBackend (infra + backend) laufen. Für rein lokale/offline Flows kann die App auch ohne Docker gestartet werden.
## Tests ausführen
```bash
# Führt alle Tests aus
./gradlew test
# Spezifisches Backend-Modul testen
./gradlew :backend:services:ping:ping-service:test
```
## Troubleshooting
- Dienste starten nicht? Ports belegt oder Logs prüfen:
```bash
docker ps
docker logs <container-name>
```
- Infrastruktur neu starten:
```bash
docker compose down -v
docker compose --profile infra up -d
```
- EnvironmentVariablen: werden aus der `.env`Datei im RootVerzeichnis geladen.
- Gradle/Java Probleme? Stelle sicher, dass JDK 25 aktiv ist bzw. lasse die GradleToolchain das passende JDK laden.
- ARM64 (Apple Silicon): Falls Images nicht starten, lösche alte Images und starte neu: `docker compose down -v && docker system prune -af && docker compose --profile infra up -d`.
## Weiterführende Hinweise
- README QuickStart (DesktopFirst): `README.md`
- ArchitekturKurzkonzept (OfflineFirst Desktop & Backend): `docs/01_Architecture/konzept-offline-first-desktop-backend-de.md`
- ADRs: `docs/01_Architecture/adr/`
- Aktuelle Reports: `docs/90_Reports/`