
Shared business logic and API contracts for backend and client applications, enabling code reuse, consistent data models, and centralized domain rules across service boundaries.
A Kotlin Multiplatform (KMP) library providing shared business logic and API contracts between Backend and Client applications (Mobile, Web, Desktop).
Add the library to your projects using one of the following methods:
1. In your gradle/libs.versions.toml file:
[versions]
shared-foundation = "0.0.20"
[libraries]
shared-foundation-bom = { group = "io.github.mudrichenkoevgeny", name = "shared-foundation-bom", version.ref = "shared-foundation" }
shared-foundation-core-common = { group = "io.github.mudrichenkoevgeny", name = "shared-foundation-core-common" }
shared-foundation-core-security = { group = "io.github.mudrichenkoevgeny", name = "shared-foundation-core-security" }
shared-foundation-core-settings = { group = "io.github.mudrichenkoevgeny", name = "shared-foundation-core-settings" }
shared-foundation-feature-user = { group = "io.github.mudrichenkoevgeny", name = "shared-foundation-feature-user" }
# Or if you don`t wan`t to use bom:
shared-foundation-core-common = { group = "io.github.mudrichenkoevgeny", name = "shared-foundation-core-common", version.ref = "shared-foundation" }
shared-foundation-core-security = { group = "io.github.mudrichenkoevgeny", name = "shared-foundation-core-security", version.ref = "shared-foundation" }
shared-foundation-core-settings = { group = "io.github.mudrichenkoevgeny", name = "shared-foundation-core-settings", version.ref = "shared-foundation" }
shared-foundation-feature-user = { group = "io.github.mudrichenkoevgeny", name = "shared-foundation-feature-user", version.ref = "shared-foundation" }
In your build.gradle.kts:
dependencies {
implementation(platform(libs.shared.foundation.bom))
implementation(libs.shared.foundation.core.common)
implementation(libs.shared.foundation.core.security)
implementation(libs.shared.foundation.core.settings)
implementation(libs.shared.foundation.feature.user)
// Or if you don`t wan`t to use bom:
implementation(libs.shared.foundation.core.common)
implementation(libs.shared.foundation.core.security)
implementation(libs.shared.foundation.core.settings)
implementation(libs.shared.foundation.feature.user)
}
implementation(platform(io.github.mudrichenkoevgeny:shared-foundation-bom:0.0.20))
implementation("io.github.mudrichenkoevgeny:shared-foundation-core-common")
implementation("io.github.mudrichenkoevgeny:shared-foundation-core-security")
implementation("io.github.mudrichenkoevgeny:shared-foundation-core-settings")
implementation("io.github.mudrichenkoevgeny:shared-foundation-feature-user")
// Or if you don`t wan`t to use bom:
implementation("io.github.mudrichenkoevgeny:shared-foundation-core-common:0.0.20")
implementation("io.github.mudrichenkoevgeny:shared-foundation-core-security:0.0.20")
implementation("io.github.mudrichenkoevgeny:shared-foundation-core-settings:0.0.20")
implementation("io.github.mudrichenkoevgeny:shared-foundation-feature-user:0.0.20")
Check out these projects to see the library in action:
A Kotlin Multiplatform (KMP) library providing shared business logic and API contracts between Backend and Client applications (Mobile, Web, Desktop).
Add the library to your projects using one of the following methods:
1. In your gradle/libs.versions.toml file:
[versions]
shared-foundation = "0.0.20"
[libraries]
shared-foundation-bom = { group = "io.github.mudrichenkoevgeny", name = "shared-foundation-bom", version.ref = "shared-foundation" }
shared-foundation-core-common = { group = "io.github.mudrichenkoevgeny", name = "shared-foundation-core-common" }
shared-foundation-core-security = { group = "io.github.mudrichenkoevgeny", name = "shared-foundation-core-security" }
shared-foundation-core-settings = { group = "io.github.mudrichenkoevgeny", name = "shared-foundation-core-settings" }
shared-foundation-feature-user = { group = "io.github.mudrichenkoevgeny", name = "shared-foundation-feature-user" }
# Or if you don`t wan`t to use bom:
shared-foundation-core-common = { group = "io.github.mudrichenkoevgeny", name = "shared-foundation-core-common", version.ref = "shared-foundation" }
shared-foundation-core-security = { group = "io.github.mudrichenkoevgeny", name = "shared-foundation-core-security", version.ref = "shared-foundation" }
shared-foundation-core-settings = { group = "io.github.mudrichenkoevgeny", name = "shared-foundation-core-settings", version.ref = "shared-foundation" }
shared-foundation-feature-user = { group = "io.github.mudrichenkoevgeny", name = "shared-foundation-feature-user", version.ref = "shared-foundation" }
In your build.gradle.kts:
dependencies {
implementation(platform(libs.shared.foundation.bom))
implementation(libs.shared.foundation.core.common)
implementation(libs.shared.foundation.core.security)
implementation(libs.shared.foundation.core.settings)
implementation(libs.shared.foundation.feature.user)
// Or if you don`t wan`t to use bom:
implementation(libs.shared.foundation.core.common)
implementation(libs.shared.foundation.core.security)
implementation(libs.shared.foundation.core.settings)
implementation(libs.shared.foundation.feature.user)
}
implementation(platform(io.github.mudrichenkoevgeny:shared-foundation-bom:0.0.20))
implementation("io.github.mudrichenkoevgeny:shared-foundation-core-common")
implementation("io.github.mudrichenkoevgeny:shared-foundation-core-security")
implementation("io.github.mudrichenkoevgeny:shared-foundation-core-settings")
implementation("io.github.mudrichenkoevgeny:shared-foundation-feature-user")
// Or if you don`t wan`t to use bom:
implementation("io.github.mudrichenkoevgeny:shared-foundation-core-common:0.0.20")
implementation("io.github.mudrichenkoevgeny:shared-foundation-core-security:0.0.20")
implementation("io.github.mudrichenkoevgeny:shared-foundation-core-settings:0.0.20")
implementation("io.github.mudrichenkoevgeny:shared-foundation-feature-user:0.0.20")
Check out these projects to see the library in action: