docs: massive restructuring of documentation, development guides and agent playbooks
This commit is contained in:
@@ -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 – 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 `./gradlew` automatisch 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)
|
||||
|
||||
```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 Web‑App (falls `--profile gui` gebaut/gestartet): http://localhost:4000
|
||||
|
||||
## Desktop‑App starten (Compose Desktop)
|
||||
|
||||
Die Desktop‑App ist der primäre Entwicklungs‑Entry‑Point.
|
||||
|
||||
```bash
|
||||
# 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
|
||||
```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
|
||||
```
|
||||
- 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/`
|
||||
Reference in New Issue
Block a user