Android samples built with Jetpack Compose following the MVVM pattern, with StateFlow for reactive state management. Includes unit tests and UI tests.
Login screen with real-time input validation using Patterns.EMAIL_ADDRESS and password rules. The ViewModel exposes state via StateFlow and handles the login action with viewModelScope. Validation logic is covered with unit tests using Robolectric.
To-do list with add, remove, and checkbox functionality. Structured with a dedicated presentation layer separating ViewModel, Model, and UI. Uses LazyColumn, Scaffold, and AlertDialog. Covered with UI tests.
Kotlin · Jetpack Compose · ViewModel · StateFlow · Coroutines · Material 3 · Robolectric · JUnit