What problem does it solve?
It solves tangled dependencies and hard-to-test business logic in Android and Kotlin Multiplatform projects by enforcing a clean separation between domain, data, and presentation.
Core Features & Use Cases
- Layered module architecture: Establishes boundaries and dependency rules so presentation and data can depend on domain, but domain never depends on frameworks or data details.
- UseCase and Repository patterns: Defines business operations as UseCases and isolates persistence/network concerns behind repository interfaces.
- Data layer implementations: Shows how to structure Room (Android), SQLDelight (KMP), and Ktor-based network data sources with consistent mapping to domain models.
- Error handling and DI integration: Uses Result/Try-style propagation and demonstrates wiring with Koin or Hilt.
Quick Start
Ask the AI to generate an Android or KMP clean architecture module layout (app/core/domain/data/presentation) that follows strict dependency inversion and includes example UseCase, repository interface, mappers, and Room/SQLDelight/Ktor data sources.