Arkitekt
A modern Android & Kotlin Multiplatform architecture library built on Jetpack Compose and Kotlin Coroutines.
Arkitekt gives you a solid, testable foundation for building Android and KMP applications. It provides two architecture paths with the same core principles:
- Android / Compose — ViewModel + Hilt + Jetpack Compose
- Decompose / KMP — BaseComponent + Koin + Kotlin Multiplatform
Key Features
- Compose-ready ViewModels with built-in state management and one-shot events
- Coroutine Use Cases for clean, testable business logic (
UseCaseandFlowUseCase) - Kotlin Multiplatform support via Decompose with Koin dependency injection
- KSP Factory Generator for Decompose components (
@GenerateFactory) - Result type for safe, composable error handling in coroutine chains
- Testing utilities for mocking use cases and testing ViewModels
Quick Installation
dependencies {
// Android / Compose
implementation("app.futured.arkitekt:core:6.0.0-SNAPSHOT")
implementation("app.futured.arkitekt:cr-usecases:6.0.0-SNAPSHOT")
implementation("app.futured.arkitekt:compose:6.0.0-SNAPSHOT")
// Decompose / KMP (optional)
implementation("app.futured.arkitekt:decompose:6.0.0-SNAPSHOT")
implementation("app.futured.arkitekt:decompose-annotation:6.0.0-SNAPSHOT")
ksp("app.futured.arkitekt:decompose-processor:6.0.0-SNAPSHOT")
}
See Installation for full details and snapshot builds.
Get Started
Android / Compose
Set up a Jetpack Compose project with ViewModel, ViewState, and Hilt.
Decompose / KMP
Set up a Kotlin Multiplatform project with BaseComponent, Koin, and Decompose.