https://github.com/ronnieotieno/pokeapi-pokedex
Consumption of PokeApi using Kotlin flows, Paging 3, Dagger hilt, and other assorted Jetpack libraries. The app uses MVVM architecture.
https://github.com/ronnieotieno/pokeapi-pokedex
architecture daggerhilt kotlin mvvm-android paging3
Last synced: 11 months ago
JSON representation
Consumption of PokeApi using Kotlin flows, Paging 3, Dagger hilt, and other assorted Jetpack libraries. The app uses MVVM architecture.
- Host: GitHub
- URL: https://github.com/ronnieotieno/pokeapi-pokedex
- Owner: ronnieotieno
- Created: 2020-12-20T16:55:28.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2022-04-29T06:58:51.000Z (about 4 years ago)
- Last Synced: 2025-05-02T20:34:53.079Z (about 1 year ago)
- Topics: architecture, daggerhilt, kotlin, mvvm-android, paging3
- Language: Kotlin
- Homepage:
- Size: 8.27 MB
- Stars: 43
- Watchers: 2
- Forks: 12
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Pokedex
The App uses a set of Android Jetpack libraries plus Retrofit to dispay data from REST API. The App
uses Kotlin.
### Prerequisites
The project has all required dependencies in the gradle files. Add the Project to Android Studio or
Intelij and build.All the required dependencies will be downloaded and installed.
## Architecture
The project uses MVVM architecture pattern.
## Libraries
* [ViewModel](https://developer.android.com/topic/libraries/architecture/viewmodel/) - Manage UI
related data in a lifecycle conscious way and act as a channel between use cases and ui
* [ViewBinding](https://developer.android.com/topic/libraries/data-binding) - support library that
allows binding of UI components in layouts to data sources,binds character details and search
results to UI
* [Navigation Component](https://developer.android.com/guide/navigation/navigation-getting-started)
- Android Jetpack's Navigation component helps in implementing navigation between fragments
* [Dagger Hilt](https://developer.android.com/jetpack/androidx/releases/hilt) - For Dependency
Injection.
* [Paging 3](https://developer.android.com/topic/libraries/architecture/paging/v3-overview?hl=in) -
Allow pagination of the Data.
* [Retrofit](https://square.github.io/retrofit/) - To access the Rest Api
* [Kotlin Flow](https://developer.android.com/kotlin/flow) - To access data sequentially
* [Datastore](https://developer.android.com/topic/libraries/architecture/datastore) - To store data
in key value pairs, in this case to store boolean if the disclaimer dialog is shown or not
## Screenshots
|
|
|
|:----:|:----:|
## Demo