Arch
Mobile Architecture
This is an overview of how we build apps with a scalable architecture using the latest libraries, including testing (CI/CD) connected to feature release and bug tracking (Jira).
Android:
Gradle modularised project by features
The Clean Architecture with MVI (sealed UiState/Events) pattern in presentation layer
Jetpack Compose with Material 3 design with 100% Previews - for UI layer
Kotlin Coroutines & Kotlin Flow - for concurrency & reactive approach
Kotlin Serialization converter - for JSON parsing
Ktor - for networking
Hilt - for Dependency Injection pattern implementation
Room - for local database
Coil - for image loading
Version Catalog / Bill of Materials (BOM) - for dependency management
JUnit5, Turbine and MockK - for unit tests
Jetpack Compose test dependencies and Hilt - for UI tests
GitHub Actions - for CI/CD
Renovate - to update dependencies automatically
KtLint and Detekt - for code linting
API keys stored in the app's BuildConfig
Here is the open source example (with video) of this architecture in action:Â
https://zoewave.medium.com/modern-android-app-e104693946e4