An Android application implemented using the MVVM pattern, Coroutines Flow, StateFlow, Retrofit, Dagger-Hilt, ViewModel, Compose Navigation, Coil and some other libraries. The app fetches data from the Poke API to provide pokemon informations.
- Kotlin First class and official programming language for Android development.
- Coroutines help in managing background threads and reduces the need for callbacks.
- Flow A cold asynchronous data stream that sequentially emits values and completes normally or with an exception.
- StateFlow A Flow that represents a read-only state with a single updatable data value that emits updates to the value to its collectors
- Hilt for Dependency Injection
- Retrofit A type-safe HTTP client for Android and Java.
- OkHttp for HTTP and HTTP/2 client
- ViewModel to store and manage UI-related data in a lifecycle conscious way.
- Compose Navigation to handle all navigations and also passing of data between destinations.
- Material Design Modular and customizable Material Design UI components for Android.
- Gradle Kotlin DSL provides an alternative syntax to the traditional Groovy DSL with an enhanced editing experience in supported IDEs, with superior content assist, refactoring, documentation, and more.
- GSON A modern JSON library for Kotlin and Java.
- Coil An image loading library for Android backed by Kotlin Coroutines.