simple todo app that uses MVVM architecture
- Minimum SDK level 21
- 100% Kotlin based, Coroutines together with Flow for asynchronous.
- Dagger Hilt for dependency injection.
- JetPack
- Lifecycle - Dispose of observing data when lifecycle state changes.
- ViewModel - UI related data holder, lifecycle aware.
- ViewBinding - Interact with XML views in safeway and avoid findViewById()
- DataStore - Persisting small data instead of older shared preferences
- Room - Persistence library that provides an abstraction layer over SQLite database
- Navigation Component - Make it easy to navigate betwwen different screens and pass data in type-safe way
- Architecture
- MVVM Architecture (View - ViewModel - Model)
- Repository pattern
- Material-Components - Material design components like cardView