-
Notifications
You must be signed in to change notification settings - Fork 0
Project Requirements
Ali Sadeghi edited this page Jan 6, 2026
·
7 revisions
YourProject/
├── composeApp/
│ └── src/commonMain/kotlin/{pkg}/
│ ├── initKoin.kt # Must contain startKoin
│ └── BaseAppNavHost.kt # Must contain NavHost
├── core/
│ ├── common/ # Either, UiState, BaseFeature, setState
│ ├── data/ # ApiClient, network layer
│ └── designsystem/ # X-components (XTheme, XButton, etc.)
└── feature/
└── {featurename}/ # Feature modules (lowercase)
- Either for error handling
- UiState with 4 states (Uninitialized/Loading/Success/Failed)
- BaseFeature for DI auto-registration
- setState { } for state updates
- X-components for UI (no Material3)
- Koin for dependency injection
- Type-safe navigation with callbacks