La pagina live mostra solo l'overlay nel video (niente tabellone HTML); l'app nativa non espone più l'archivio replay, il toggle regole punteggio parte spento e i controlli in diretta seguono il punteggio dalla regia. Co-authored-by: Cursor <cursoragent@cursor.com>
43 lines
1.3 KiB
Markdown
43 lines
1.3 KiB
Markdown
# Match Live TV — app Android nativa
|
|
|
|
Implementazione **da zero** in Kotlin + Jetpack Compose.
|
|
|
|
## 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
|
|
- [x] Replay solo da sito web (non in app)
|
|
- [ ] **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 del backend.
|