Android Showcase App built with Jetpack Compose with MVI architecture with Clean code, TDD & Best Practices.
GitHubCompose (com.reactive.githubcompose) is a high-performance, modern Android showcase
application designed and maintained by react1ve. It demonstrates
production-ready Android development standards, robust architecture, modern tooling, and seamless
UI/UX using Jetpack Compose.
- UI & Design System:
- Jetpack Compose (Declarative UI)
- Material Design (Light & Dark theme support)
- Adaptive Edge-to-Edge support across all Android versions with correct System Bar & IME insets.
- Architecture & Concurrency:
- MVI (Model-View-Intent) Architectural Pattern
- Kotlin Coroutines & Flow for asynchronous data streams and state management.
- Single-Activity Architecture powered by Jetpack Navigation.
- Dependency Injection & Networking:
- Build & Performance:
- Gradle Version Catalogs (
gradle/libs.versions.toml) - Parallel builds, build caching, and configuration caching enabled for maximum build performance.
- Java 17 toolchain & JVM targets.
- Gradle Version Catalogs (
The project enforces a strict separation of concerns utilizing the Model-View-Intent (MVI) pattern:
- View: Composable screens observing reactive UI states (
State), rendering UI components, and dispatching user interactions (Event). - ViewModel: Manages business logic and state reduction, converting UI events into state updates
and triggering one-time side effects (
Effect). - Model: Repository and data sources responsible for fetching and caching remote/local data cleanly.
- State: Immutable data class representing the UI state at any given moment.
- Event: User actions sent from the UI to the ViewModel.
- Effect: One-time side effects (e.g., navigation, Snackbars) delivered via Coroutine Channels.
- Clone the repository:
git clone https://github.com/react1ve/GitHubCompose.git
- Open the project in Android Studio (Koala / Ladybug or newer).
- Sync Gradle and run the app on an emulator or physical device.