Jetpack Compose e-commerce catalog reference app — MVVM, Hilt, modular data layer, and Paparazzi golden tests.
Product list and detail flows for a fitness apparel catalog. Focus areas: clean architecture, Compose UI, testability, and graceful handling of imperfect API data (missing images, HTML descriptions).
| Layer | Responsibility |
|---|---|
| UI | Compose screens, navigation, design tokens |
| ViewModel | UI state, user actions, repository orchestration |
| Data | Repositories, deserialization, mock/CDN data sources |
| DI | Hilt modules for repositories and services |
Stack: Kotlin · Jetpack Compose · Hilt · Navigation Compose · Coil · Gson · Timber · Paparazzi
- Product list with title, price, color, and image handling (placeholder on failure)
- Product detail with HTML description parsing
- Enum-driven product state labels
- Golden snapshot tests for key screens
- Android Studio Hedgehog or newer
- JDK 17+
- Android SDK 34
./gradlew assembleDebug
./gradlew installDebug./gradlew testDebugUnitTest # unit, Compose UI, and Paparazzi golden testsGitHub Actions runs unit tests and assembleDebug on every push and pull request to main.
- Product search and filters (type, price range)
- Wishlist and basket flows
- Room/local cache for offline browsing
- Expanded accessibility coverage
MIT — see LICENSE.