# Development Setup ## Voraussetzungen Docker/Compose, Git sowie für Android Node.js/npm, JDK 17, Android SDK und ein Android-Gerät oder Emulator. Das Android-Projekt verwendet Capacitor 6.2.1, Android Gradle Plugin 8.2.1 und Gradle 8.2.1. ## Web lokal ```bash cp .env.example .env docker compose up --build docker compose logs -f web docker compose down ``` Die Web-App läuft auf Port 8080, PostgreSQL im Compose-Netzwerk. Die Datenbank wird beim ersten Start aus `db/init/01_initial.sql` initialisiert. Für Tests darf eine separate lokale Testdatenbank bzw. ein isoliertes Schema verwendet werden. ## Tests ```bash docker compose run --rm --no-deps -e METALCIRCLE_TEST_DATABASE=1 \ -v "$PWD/app:/app" -v "$PWD/db/migrations:/test-migrations:ro" \ web python -m unittest discover -s tests -v ``` ## Android lokal ```bash cd android npm install npm run sync npm run build ``` Für lokale HTTP-Tests wird die URL ausschließlich über die dokumentierten lokalen Capacitor-Variablen gesetzt; Release-Builds benötigen HTTPS. Android Studio kann das Verzeichnis `android/android` öffnen. Die Firebase-Datei bleibt lokal und ignoriert.