How ivanbilatchuk/auction-house works
AuctionHouse is a Kotlin Multiplatform Compose app prototype for a collectible-auction experience. Users enter the shared app from Android, iOS, or desktop, see a one-time four-slide onboarding, continue through locally validated sign-in, registration, or password-reset flows, and reach a gallery-style home/account interface with a saved language choice. Onboarding completion and language preferences use multiplatform settings; no authentication backend or auction/catalog transaction flow is connected. The README documents catalog and lot designs, but corresponding screen files are not present in the supplied tree. Arrows are limited to relationships visible in excerpts, the source index, or README.
Main entry points: App.kt Shared app shell · OnboardingScreen.kt Onboarding screens · AuthScreen.kt Auth screens · MainScreen.kt Home and account
Components 21
App entry and navigation
- Android entry
androidApp/src/main/kotlin/com/bilatchuk/auctionhouse/MainActivity.kt - iOS entry
shared/src/iosMain/kotlin/com/bilatchuk/auctionhouse/MainViewController.kt - Desktop entry
desktopApp/src/main/kotlin/com/bilatchuk/auctionhouse/main.kt - Shared app shell
shared/src/commonMain/kotlin/com/bilatchuk/auctionhouse/App.kt - Route definitions
shared/src/commonMain/kotlin/com/bilatchuk/auctionhouse/navigation/Route.kt
User experience
- Onboarding screens
shared/src/commonMain/kotlin/com/bilatchuk/auctionhouse/ui/onboarding/OnboardingScreen.kt - Onboarding state
shared/src/commonMain/kotlin/com/bilatchuk/auctionhouse/ui/onboarding/OnboardingViewModel.kt - Auth screens
shared/src/commonMain/kotlin/com/bilatchuk/auctionhouse/ui/auth/AuthScreen.kt - Auth state
shared/src/commonMain/kotlin/com/bilatchuk/auctionhouse/ui/auth/AuthViewModel.kt - Home and account
shared/src/commonMain/kotlin/com/bilatchuk/auctionhouse/ui/main/MainScreen.kt - Home content
shared/src/commonMain/kotlin/com/bilatchuk/auctionhouse/ui/main/HomeContent.kt - Account content
shared/src/commonMain/kotlin/com/bilatchuk/auctionhouse/ui/main/AccountContent.kt - Startup selection
shared/src/commonMain/kotlin/com/bilatchuk/auctionhouse/ui/main/MainViewModel.kt
Onboarding and auth logic
- Onboarding use cases
shared/src/commonMain/kotlin/com/bilatchuk/auctionhouse/domain/onboarding - Onboarding repository
shared/src/commonMain/kotlin/com/bilatchuk/auctionhouse/domain/onboarding/OnboardingRepository.kt - Credential validation
shared/src/commonMain/kotlin/com/bilatchuk/auctionhouse/domain/auth/AuthValidator.kt
Persistence and presentation
- Settings adapter
shared/src/commonMain/kotlin/com/bilatchuk/auctionhouse/data/AppOnboardingRepository.kt - User settings
shared/src/commonMain/kotlin/com/bilatchuk/auctionhouse/data/AppSettings.kt - Noir theme
shared/src/commonMain/kotlin/com/bilatchuk/auctionhouse/ui/theme/Color.kt - Localization
shared/src/commonMain/kotlin/com/bilatchuk/auctionhouse/Localization.kt
Other components
- App user
Connections 25
- App user → Android entry: opens
androidApp/src/main/kotlin/com/bilatchuk/auctionhouse/MainActivity.kt - App user → iOS entry: opens
- App user → Desktop entry: opens
desktopApp/src/main/kotlin/com/bilatchuk/auctionhouse/main.kt - Android entry → Shared app shell: launches
androidApp/src/main/kotlin/com/bilatchuk/auctionhouse/MainActivity.kt - iOS entry → Shared app shell: launches
shared/src/iosMain/kotlin/com/bilatchuk/auctionhouse/MainViewController.kt - Desktop entry → Shared app shell: launches
desktopApp/src/main/kotlin/com/bilatchuk/auctionhouse/main.kt - Shared app shell → Route definitions: configures
shared/src/commonMain/kotlin/com/bilatchuk/auctionhouse/App.kt - Shared app shell → Onboarding screens: displays
shared/src/commonMain/kotlin/com/bilatchuk/auctionhouse/App.kt - Shared app shell → Auth screens: displays
shared/src/commonMain/kotlin/com/bilatchuk/auctionhouse/App.kt - Shared app shell → Home and account: displays
shared/src/commonMain/kotlin/com/bilatchuk/auctionhouse/App.kt - Shared app shell → Startup selection: reads startup state
shared/src/commonMain/kotlin/com/bilatchuk/auctionhouse/App.kt - Shared app shell → User settings: reads and writes language
shared/src/commonMain/kotlin/com/bilatchuk/auctionhouse/App.kt - Onboarding screens → Onboarding state: dispatches actions
shared/src/commonMain/kotlin/com/bilatchuk/auctionhouse/ui/onboarding/OnboardingScreen.kt - Onboarding state → Onboarding use cases: completes onboarding
shared/src/commonMain/kotlin/com/bilatchuk/auctionhouse/ui/onboarding/OnboardingViewModel.kt - Onboarding use cases → Onboarding repository: uses repository
shared/src/commonMain/kotlin/com/bilatchuk/auctionhouse/domain/onboarding/IsOnboardingCompletedUseCase.kt - Onboarding repository → Settings adapter: implemented by
shared/src/commonMain/kotlin/com/bilatchuk/auctionhouse/data/AppOnboardingRepository.kt - Settings adapter → User settings: reads and writes flags
shared/src/commonMain/kotlin/com/bilatchuk/auctionhouse/data/AppOnboardingRepository.kt - Startup selection → Onboarding use cases: checks completion
shared/src/commonMain/kotlin/com/bilatchuk/auctionhouse/ui/main/MainViewModel.kt - Auth screens → Auth state: dispatches actions
shared/src/commonMain/kotlin/com/bilatchuk/auctionhouse/ui/auth/AuthScreen.kt - Auth state → Credential validation: validates credentials
shared/src/commonMain/kotlin/com/bilatchuk/auctionhouse/ui/auth/AuthViewModel.kt - Home and account → Home content: renders
shared/src/commonMain/kotlin/com/bilatchuk/auctionhouse/ui/main/MainScreen.kt - Home and account → Account content: renders
shared/src/commonMain/kotlin/com/bilatchuk/auctionhouse/ui/main/MainScreen.kt - Onboarding screens → Noir theme: uses palette
shared/src/commonMain/kotlin/com/bilatchuk/auctionhouse/ui/onboarding/OnboardingScreen.kt - Auth screens → Noir theme: uses palette
shared/src/commonMain/kotlin/com/bilatchuk/auctionhouse/ui/auth/AuthScreen.kt - Shared app shell → Localization: applies language