What problem does it solve?
Provides concrete guidance to structure Android and Kotlin Multiplatform projects so business logic remains testable and framework-free, preventing tangled module dependencies, leaking implementation details into the domain, and inconsistent data mapping between layers.
Core Features & Use Cases
- Module layout & dependency rules: recommended modules (app, core, domain, data, presentation, design-system, feature) and allowed dependency directions to keep domain pure.
- UseCase and Repository patterns: guidance for defining UseCases in domain, repository interfaces, and implementations that coordinate local and remote data sources.
- Data layer patterns & tooling: mapping and persistence strategies for Room and SQLDelight, Ktor network client patterns, and DI integration patterns for Koin and Hilt.
- Error handling & anti-patterns: patterns for Result/Try types, mapping errors to UI state, and a list of common pitfalls to avoid.
Quick Start
Structure a new Android or KMP project with app, core, domain, data, and presentation modules, define repository interfaces in domain, implement repositories and mappers in data, and wire UseCases and ViewModels with dependency injection using Koin or Hilt.