3.2 KiB
3.2 KiB
| type | status | owner | tags | ||||
|---|---|---|---|---|---|---|---|
| Guide | ACTIVE | DevOps Engineer |
|
Start Local (Lokales Setup)
Kurzanleitung, um das Projekt lokal in wenigen Minuten zu starten – Desktop‑First mit optionalem Docker‑Backend.
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
./gradlewautomatisch verwendet) - Docker Engine ≥ 24, Docker Compose v2 ≥ 2.24
Hinweise:
- Die Java‑Toolchain wird per Gradle automatisch heruntergeladen (
org.gradle.java.installations.auto-download=true). Ein lokal installiertes JDK 25 wird dennoch empfohlen für IDE‑Runs. - Auf Apple‑Silicon (arm64) sind die Docker‑Images optimiert; Keycloak nutzt
start --optimized.
Schnellstart (nur Backend in Docker)
# 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 Web‑App (falls
--profile guigebaut/gestartet): http://localhost:4000
Desktop‑App starten (Compose Desktop)
Die Desktop‑App ist der primäre Entwicklungs‑Entry‑Point.
# 1) Abhängigkeiten bauen (optional; Gradle lädt automatisch beim ersten Run)
./gradlew :frontend:shells:meldestelle-desktop:build
# 2) Desktop‑App starten
./gradlew :frontend:shells:meldestelle-desktop:run
Voraussetzung: Für Features, die Backend‑Konnektivität benötigen (z. B. Login, Stammdaten), muss das Docker‑Backend (infra + backend) laufen. Für rein lokale/offline Flows kann die App auch ohne Docker gestartet werden.
Tests ausführen
# 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:
docker ps docker logs <container-name> - Infrastruktur neu starten:
docker compose down -v docker compose --profile infra up -d - Environment‑Variablen: werden aus der
.env‑Datei im Root‑Verzeichnis geladen. - Gradle/Java Probleme? Stelle sicher, dass JDK 25 aktiv ist bzw. lasse die Gradle‑Toolchain 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 Quick‑Start (Desktop‑First):
README.md - Architektur‑Kurzkonzept (Offline‑First Desktop & Backend):
docs/01_Architecture/konzept-offline-first-desktop-backend-de.md - ADRs:
docs/01_Architecture/adr/ - Aktuelle Reports:
docs/90_Reports/