A basic to-do android application to store tasks with a due date and completion status using Room DB and Jetpack Compose UI.
The Android app lets you:
- Create & Update tasks with a title, due date and completion status.
- Order tasks by their due date or completion status.
- Delete all completed tasks on single click.
- Minimum SDK level 24
- Kotlin based + Coroutines for asynchronous.
- Dagger-Hilt for dependency injection.
- JetPack
- State - Notify domain layer data to views.
- Flows - To emit and collect UI state changes.
- Lifecycle - Dispose of observing data when the lifecycle state changes.
- ViewModel - UI-related data holder, lifecycle aware.
- Compose - Render UI.
- Architecture
- MVVM Architecture (Model - View - ViewModel)
- Repository pattern
- data ~ domain ~ presentation
- Room Database - For offline caching of data