Skip to content

Repository files navigation

Store it!

Kotlin Multiplatform project targeting Android and iOS.

Structure

  • :shared is the Kotlin Multiplatform module for shared domain, data, SQLDelight, DI, and shared presentation logic.
  • shared/src/commonMain contains business logic, repositories, use cases, and shared presentation state.
  • shared/src/androidMain contains Android-specific Kotlin actuals and integrations used by the shared module.
  • :androidApp contains the Android application entry point, navigation shell, and Android Compose UI.
  • shared/src/iosMain contains iOS-specific Kotlin actuals and integrations used by the shared module.
  • iosApp/ contains the SwiftUI iOS application.

Prerequisites

  • JDK 17
  • Android SDK
  • Xcode and an iOS Simulator runtime for iOS builds

Build

./gradlew :androidApp:assembleDebug

Test

./gradlew :shared:allTests :androidApp:testDebugUnitTest

Verify

Use the same verification command that CI and local delivery use:

./gradlew detekt :shared:allTests :androidApp:testDebugUnitTest :androidApp:assembleDebug --no-daemon

Run

Android:

./gradlew :androidApp:installDebug

iOS:

Open iosApp/iosApp.xcodeproj in Xcode and run the iosApp scheme on an available simulator.

Feature docs

Remote sync

The project includes optional account-backed synchronization (Firebase-backed) with a local-first working model:

  • Local-only mode remains available.
  • Signed-in mode keeps a local working copy and syncs with the remote account dataset.
  • Reconciliation and sign-out behavior are explicit to avoid silent data loss.

Remote sync docs:

About

A KMP solution which allows users to keep track of their personal belongings and where to find them in a rack.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages