MVVM Project Tech Stack
- Minimum SDK level 23
- Kotlin based, Coroutines + Flow for asynchronous.
- Jetpack
- Lifecycle: Observe Android lifecycles and handle UI states upon the lifecycle changes.
- ViewModel: Manages UI-related data holder and lifecycle aware. Allows data to survive configuration changes such as screen rotations.
- DataBinding: Binds UI components in your layouts to data sources in your app using a declarative format rather than programmatically.
- Room: Constructs Database by providing an abstraction layer over SQLite to allow fluent database access.
- Paging : Used to display large amounts of data, both obtained through the internet and databases.
- Architecture
- MVVM Architecture (View - DataBinding - ViewModel - Model)
- Repository Pattern
- Retrofit2 & OkHttp3: Construct the REST APIs and paging network data.
- GSON: A Java library that can be used to convert Java Objects into their JSON representation.
- Material-Components: Material design components for building ripple animation, and CardView.
- Glide, GlidePalette: Loading images from network.