JustResponsiveUi is a minimal Android app that demonstrates building adaptive Jetpack Compose UIs for phones and tablets (portrait and landscape). It includes separate Login and Register flows with shared domain validation, MVVM ViewModel + StateFlow, and Dagger Hilt dependency injection.
- Small, focused codebase that illustrates adaptive Compose layouts, MVVM separation, and single-source validation logic for authentication.
- Pattern: MVVM —
ViewModelholds UI state and exposesStateFlow; composables render state and emit events. - Layers: domain (use-cases), presentation (Compose screens + ViewModels), DI modules.
- Kotlin
- Jetpack Compose (Material3)
- Dagger Hilt (DI)
- Navigation3 (compose-compatible)
- Kotlin Coroutines, StateFlow
- Gradle (wrapper)
- Auth root:
app/src/main/java/com/feevlic/justresponsiveui/auth - Screens:
auth/loginandauth/register - Shared domain use-cases:
auth/shared/domain/usecase - Navigation entry:
auth/shared/navigation/AuthNavigation.kt - Shared state:
auth/shared/presentation/SharedAuthViewModel.kt
- Prerequisites: Android Studio, Android SDK, emulator or physical device
- Build:
./gradlew clean assembleDebug
- Install on device/emulator:
./gradlew installDebug















