
State-of-the-art starter pack organizing code with Clean Architecture and DDD: layered Domain/Data/Presentation, use-case invoke patterns, self-validating models, Koin DI, optimized CI/CD.
This project is a state-of-the-art Kotlin Multiplatform (KMP) Starter Pack targeting Android, iOS, and Desktop (JVM). It leverages the latest ecosystem technologies (Kotlin 2.3.21, Gradle 9.5.0, AGP 9.0, Java 25) and rigorously applies Clean Architecture and Domain-Driven Design (DDD) principles.
Les contributions sont les bienvenues ! Consultez :
Contributions are welcome! See:
The :shared module is organized into distinct layers to maximize testability, maintainability, and decoupling:
graph TD
UI[Presentation Layer: Compose Multiplatform / ViewModel] --> Domain[Domain Layer: Use Cases / Models / Repository Interfaces]
Data[Data Layer: Repository Impls / Ktor / Local SQL] --> Domain
Data --> Platform[Platform-Specific Code: expect/actual]invoke operator, self-validating models, repository interfaces).UiState modeling and ViewModels using asynchronous StateFlow.The GitHub Actions pipeline (ci.yml) implements a dual-speed system optimized for bandwidth and compute time:
./gradlew :shared:jvmTest). Runs in under 10 seconds.master): Runs the full test suite (./gradlew allTests) on all simulators and target platforms to validate code quality before production../gradlew :shared:jvmTest./gradlew allTestsgradle wrapperThis project is a state-of-the-art Kotlin Multiplatform (KMP) Starter Pack targeting Android, iOS, and Desktop (JVM). It leverages the latest ecosystem technologies (Kotlin 2.3.21, Gradle 9.5.0, AGP 9.0, Java 25) and rigorously applies Clean Architecture and Domain-Driven Design (DDD) principles.
Les contributions sont les bienvenues ! Consultez :
Contributions are welcome! See:
The :shared module is organized into distinct layers to maximize testability, maintainability, and decoupling:
graph TD
UI[Presentation Layer: Compose Multiplatform / ViewModel] --> Domain[Domain Layer: Use Cases / Models / Repository Interfaces]
Data[Data Layer: Repository Impls / Ktor / Local SQL] --> Domain
Data --> Platform[Platform-Specific Code: expect/actual]invoke operator, self-validating models, repository interfaces).UiState modeling and ViewModels using asynchronous StateFlow.The GitHub Actions pipeline (ci.yml) implements a dual-speed system optimized for bandwidth and compute time:
./gradlew :shared:jvmTest). Runs in under 10 seconds.master): Runs the full test suite (./gradlew allTests) on all simulators and target platforms to validate code quality before production../gradlew :shared:jvmTest./gradlew allTestsgradle wrapper