Nuovo progetto Compose in native/android con API, auth, streaming RTMP e schermate base; nessun codice copiato dalla app Flutter. Co-authored-by: Cursor <cursoragent@cursor.com>
43 lines
1.4 KiB
Markdown
43 lines
1.4 KiB
Markdown
# 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).
|