This app is an Android app built using Android Native Library Jetpack Compose and Material 3 design guidelines. The app follows Google recommended best practices and architecture.
Main Screen | Detail Screen | Add to Favorites | Banner |
---|---|---|---|
Favorites Screen | Filter Screen | Search Screen | AL Screen |
---|---|---|---|
- Minimum SDK level 21
- 100% Kotlin based + Flow and Coroutines
- Architecture Components
- Repository pattern is a design pattern that isolates the data layer from the rest of the app
- ViewModel class is a business logic or screen level state holder. It exposes the state to the UI and encapsulates related business logic
- Lifecycle is a class that holds the information about the lifecycle state of a component (like an activity or a fragment) and allows other objects to observe this state
- Navigation Component refers to the interactions that allow users to navigate across, into, and back out from the different pieces of content within the app
- Retrofit A type-safe HTTP client for Android and Java
- Gson is a Java library for converting Java Objects into their JSON representation
- Dagger Hilt Hilt provides a standard way to incorporate Dagger dependency injection into an Android application
- Coil An image loading library for Android backed by Kotlin Coroutines
- Room persistence library provides an abstraction layer over SQLite, allowing for more robust database access while harnessing the full power of SQLite
- Jetpack Datastore is a data storage solution that stores key-value pairs or typed objects with protocol buffers
- Jetpack Compose is Android’s recommended modern toolkit for building native UI
- Paging 3 helps you load and display pages of data from a larger dataset from local storage or over a network
MVVM Model View ViewModel