# Match Live TV — app Android nativa Implementazione **da zero** in Kotlin + Jetpack Compose. Non riusa codice dalla app Flutter (`mobile/`). ## Stack - UI: Jetpack Compose, Navigation - Rete: Retrofit + Moshi + OkHttp - Auth: DataStore - Streaming: RootEncoder (RTMP) con motore dedicato `LiveBroadcastEngine` ## Struttura ``` app/src/main/kotlin/com/matchlivetv/match_live_tv/ core/ — config, token store data/ — API, repository, DI container domain/ — modelli streaming/ — preview GL, motore RTMP, foreground service ui/ — schermate Compose ``` ## Build APK produzione ```bash ./scripts/build_native_android_apk_prod.sh adb install -r native/android/app/build/outputs/apk/release/app-release.apk ``` API default: `https://www.matchlivetv.it` (override con `-PAPI_BASE_URL=...`). ## Roadmap - [x] Login, lista partite, avvio diretta, preview + RTMP - [ ] Wizard completo (rete, piattaforma YouTube, tabellone) - [ ] WebSocket tabellone / regia - [ ] Archivio registrazioni - [ ] **iOS nativo** — da sviluppare su Mac in `native/ios/` (SwiftUI) ## iOS (prossimo passo su Mac) Il backend REST/WebSocket è condiviso. Su Mac creeremo `native/ios/` con SwiftUI e AVFoundation/RTMP equivalente, riusando gli stessi contratti API documentati in `mobile/lib/shared/api_client.dart` come riferimento funzionale (non codice).