Champion Codex
Case study
League of Legends Companion Guide
Overview
Fetches live champion data from the Riot Games API and caches it in Room, so the full roster stays readable with no connection. Deep-dive stat screens with 20+ base stats and per-level scalings, custom Compose rating bars, and layouts that reflow for landscape instead of stretching.
Core capabilities
- Connectivity-aware repository: fresh fetch when online, Room cache when offline
- 20+ base stats and per-level scalings per champion
- Custom Compose combat-rating visualisers
- Adaptive portrait/landscape UI
Architecture
MVVM over a connectivity-aware repository. Retrofit fetches the Riot roster, Room persists it, and a single Flow exposes whichever source is available. Compose screens observe that Flow, so going offline changes nothing above the repository.
Project facts
- Role
- Solo
- Context
- ITI · 2026
- Platform
- Kotlin
Technologies employed
KotlinJetpack ComposeRoomRetrofitRiot Games APICoroutines