
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 shared contracts library providing REST/WS API contracts, JSON DTOs, Zod schemas, WebSocket envelopes, error codes, permissions, and domain models for Backend (JVM), Web (TypeScript/NPM), Mobile, and Desktop applications.
iosArm64, iosSimulatorArm64)Use the BOM and add only the modules you need:
// build.gradle.kts
dependencies {
implementation(platform("io.github.mudrichenkoevgeny:shared-foundation-bom:0.1.8"))
implementation("io.github.mudrichenkoevgeny:shared-foundation-core-common")
implementation("io.github.mudrichenkoevgeny:shared-foundation-core-security")
implementation("io.github.mudrichenkoevgeny:shared-foundation-feature-user")
// For unit, integration, and UI preview tests:
testImplementation("io.github.mudrichenkoevgeny:shared-foundation-testing")
// For enforcing shared architectural Detekt lint rules (NoFQN, NoInlineComment, PreferValueOverName):
detektPlugins("io.github.mudrichenkoevgeny:shared-foundation-detekt-rules")
}With a version catalog: declare BOM and module aliases in gradle/libs.versions.toml, then use implementation(platform(libs.shared.foundation.bom)) and testImplementation(libs.shared.foundation.fixtures).
For TypeScript and React applications, install the generated Zod schemas, routes, branded types, and test fixtures from npm:
pnpm add @mudrichenkoevgeny/shared-foundationPublished artifacts (versions aligned via the BOM):
CommonNetworkRoutes, BaseSettingsNetworkRoutes), WebSocket envelopes, common DTOs, navigation contracts, root navigation (ClientMainNavigation, ManagementMainNavigation), parameter parsers, and core localization infrastructure (LocalizedStringResolver, LocalizationFormatter, CommonModuleStrings) (module README).ManagementSecurityNavigation), and security localization (SecurityModuleStrings) (module README).ManagementSettingsNavigation) (module README).OpenStorageNavigation, ManagementStorageNavigation, ManagementStorageSettingsNavigation) (module README).ManagementAuditNavigation) (module README).UserModuleStrings) (module README).createTest*), screen parameter fixtures, deterministic constants, value class factories, and in-memory mocks for unit, integration, and UI preview tests (module README).NoFullyQualifiedName, NoInlineComment, PreferValueOverName) for enforcing shared library architectural standards across consumer applications.@mudrichenkoevgeny/shared-foundation (module README).The library provides ready-to-use test data builders (createTest*), deterministic constants, value class factories, screen parameter fixtures, and in-memory mocks.
You can include :shared:foundation:testing in your testImplementation / commonTest.dependencies (or import from @mudrichenkoevgeny/shared-foundation in npm) to use these pre-built fixtures in unit and integration tests instead of writing custom mocks.
Note on Gradle Version Catalog (
libs.versions.toml): When defining an alias for the testing module, it is recommended to use the suffix-fixtures(e.g.shared-foundation-fixtures = { ... name = "shared-foundation-testing" }) instead of-testingto prevent naming conflicts with the built-in GradleProject.testingextension in JVM modules. See the testing README for details.
Open vs Management), WebSocket wire contract, error handling taxonomy, navigation, and localization architecture.LocalizedStringResolver, LocalizationFormatter) and platform integration examples (Ktor/JVM, Android, iOS, Web)../gradlew projectHealth), and Maven Central publishing guidelines.Check out these projects to see the library in action:
@mudrichenkoevgeny/shared-foundation for Zod schema validation, API routes, and security policies.This project is licensed under the Apache License 2.0 — see the LICENSE file for details.
A shared contracts library providing REST/WS API contracts, JSON DTOs, Zod schemas, WebSocket envelopes, error codes, permissions, and domain models for Backend (JVM), Web (TypeScript/NPM), Mobile, and Desktop applications.
iosArm64, iosSimulatorArm64)Use the BOM and add only the modules you need:
// build.gradle.kts
dependencies {
implementation(platform("io.github.mudrichenkoevgeny:shared-foundation-bom:0.1.8"))
implementation("io.github.mudrichenkoevgeny:shared-foundation-core-common")
implementation("io.github.mudrichenkoevgeny:shared-foundation-core-security")
implementation("io.github.mudrichenkoevgeny:shared-foundation-feature-user")
// For unit, integration, and UI preview tests:
testImplementation("io.github.mudrichenkoevgeny:shared-foundation-testing")
// For enforcing shared architectural Detekt lint rules (NoFQN, NoInlineComment, PreferValueOverName):
detektPlugins("io.github.mudrichenkoevgeny:shared-foundation-detekt-rules")
}With a version catalog: declare BOM and module aliases in gradle/libs.versions.toml, then use implementation(platform(libs.shared.foundation.bom)) and testImplementation(libs.shared.foundation.fixtures).
For TypeScript and React applications, install the generated Zod schemas, routes, branded types, and test fixtures from npm:
pnpm add @mudrichenkoevgeny/shared-foundationPublished artifacts (versions aligned via the BOM):
CommonNetworkRoutes, BaseSettingsNetworkRoutes), WebSocket envelopes, common DTOs, navigation contracts, root navigation (ClientMainNavigation, ManagementMainNavigation), parameter parsers, and core localization infrastructure (LocalizedStringResolver, LocalizationFormatter, CommonModuleStrings) (module README).ManagementSecurityNavigation), and security localization (SecurityModuleStrings) (module README).ManagementSettingsNavigation) (module README).OpenStorageNavigation, ManagementStorageNavigation, ManagementStorageSettingsNavigation) (module README).ManagementAuditNavigation) (module README).UserModuleStrings) (module README).createTest*), screen parameter fixtures, deterministic constants, value class factories, and in-memory mocks for unit, integration, and UI preview tests (module README).NoFullyQualifiedName, NoInlineComment, PreferValueOverName) for enforcing shared library architectural standards across consumer applications.@mudrichenkoevgeny/shared-foundation (module README).The library provides ready-to-use test data builders (createTest*), deterministic constants, value class factories, screen parameter fixtures, and in-memory mocks.
You can include :shared:foundation:testing in your testImplementation / commonTest.dependencies (or import from @mudrichenkoevgeny/shared-foundation in npm) to use these pre-built fixtures in unit and integration tests instead of writing custom mocks.
Note on Gradle Version Catalog (
libs.versions.toml): When defining an alias for the testing module, it is recommended to use the suffix-fixtures(e.g.shared-foundation-fixtures = { ... name = "shared-foundation-testing" }) instead of-testingto prevent naming conflicts with the built-in GradleProject.testingextension in JVM modules. See the testing README for details.
Open vs Management), WebSocket wire contract, error handling taxonomy, navigation, and localization architecture.LocalizedStringResolver, LocalizationFormatter) and platform integration examples (Ktor/JVM, Android, iOS, Web)../gradlew projectHealth), and Maven Central publishing guidelines.Check out these projects to see the library in action:
@mudrichenkoevgeny/shared-foundation for Zod schema validation, API routes, and security policies.This project is licensed under the Apache License 2.0 — see the LICENSE file for details.