Refactor code structure for improved readability and maintainability; optimize performance across multiple modules.
All checks were successful
Deploy to production / deploy (push) Successful in 2m56s

This commit is contained in:
Torsten Schulz (local)
2026-07-21 09:08:15 +02:00
parent 75b52de282
commit 1ab9407e79
1400 changed files with 22278 additions and 485 deletions

24
android/native/README.md Normal file → Executable file
View File

@@ -13,6 +13,7 @@ Native Android-App fuer YourPart als paralleler Aufbau zur bestehenden Capacitor
- compileSdk/targetSdk: 36
- Flavors: `local`, `staging`, `production`
- Build Types: `debug`, `release`
- Feature Flags im Build: `FEATURE_ADMIN`, `FEATURE_ADULT`, `FEATURE_3D`, `FEATURE_MINIGAMES`, `FEATURE_PUSH`
## Kommandos
@@ -32,3 +33,26 @@ Der `local` Flavor nutzt:
- API: `http://10.0.2.2:2020`
- Socket.IO: `http://10.0.2.2:2020`
- Daemon: `ws://10.0.2.2:2021`
## Security
- Debug erlaubt Cleartext nur fuer `10.0.2.2` und `localhost`.
- Release verbietet Cleartext komplett.
- Release-Builds pruefen automatisch, dass keine lokalen oder unverschluesselten URLs in `staging` oder `production` verwendet werden.
## Firebase Push
1. Die registrierte Produktions-App `de.yourpart.nativeapp` als
`app/google-services.json` ablegen. Die Beispieldatei
`app/google-services.json.example` ist kein gültiger Ersatz.
2. Push ist ausschließlich in `productionRelease` aktiviert. `local` und `staging`
verwenden abweichende Paketnamen und bleiben absichtlich pushfrei, bis dafür eigene
Firebase-Apps registriert sind.
3. Im Backend eine Firebase-Service-Account-Datei außerhalb des Repositories bereitstellen
und `FIREBASE_SERVICE_ACCOUNT_PATH=/sicherer/pfad/firebase-service-account.json`
setzen. Alternativ kann `FIREBASE_SERVICE_ACCOUNT_JSON` mit dem JSON-Inhalt gesetzt
werden. Ohne eine dieser Variablen werden keine Pushes versendet, die App und die API
bleiben aber funktionsfähig.
Das Google-Services-Plugin wird nur für `productionRelease` mit vorhandener echter
Konfigurationsdatei angewendet; lokale Builds bleiben dadurch reproduzierbar.