Tracker de médias Android - livres, films, séries, anime, manga et jeux dans une seule interface. Stack Kotlin moderne, 8 APIs externes, graphiques maison en Canvas Compose, CI/CD GitHub Actions. Conçu pour une publication sur le Play Store.
Fonctionnalités
REWATCHING, ON_HOLD, LIBRARY…). Quick +1 pour progression rapide.
activity-alias
Solutions techniques notables
MediaDetails est une sealed class sérialisée en JSON dans un unique champ
details: String de Room. Évite toute migration de schéma à chaque nouveau
type de média. Polymorphisme géré via RuntimeTypeAdapterFactory Gson —
désérialisation vers le bon sous-type sans switch manuel.
SharingStarted.Eagerly dans ThemeViewModel - le DataStore
est lu avant le premier recomposition Compose, sans bloquer le thread principal.
AppWidget Android ne sont pas dans le graphe de dépendances Hilt —
impossible d'injecter directement. Résolu via singleton
AppDatabase.getInstance(context) dans le widget, isolé du reste
de l'architecture DI de l'app.
APIs intégrées
TMDB
Films · Séries
IGDB
Jeux vidéo
Twitch OAuth
AniList
Anime · Manga
GraphQL · migration Jikan
MangaDex
Manga
OpenLibrary
Livres
Steam
Jeux · Import