Pokedex

Pokedex is a small demo application based on modern Android application tech-stacks and MVVM architecture.


Tech stack & Open-source libraries

  • Minimum SDK level 21
  • Kotlin based, Coroutines for asynchronous.
  • Dagger for dependency injection.
  • JetPack
    • LiveData - notify domain layer data to views.
    • Lifecycle - dispose of observing data when lifecycle state changes.
    • ViewModel - UI related data holder, lifecycle aware.
    • Room Persistence - construct a database using the abstract layer.
  • Architecture
    • MVVM Architecture
    • Repository pattern
  • Retrofit2 & OkHttp3 - construct the REST APIs.
  • Picasso - loading images.
  • Material-Components - Material design components like ripple animation, cardView.
  • Custom View
    • ProgressView - A polished and flexible ProgressView, fully customizable with animations.

Architecture

Pokedex is based on MVVM architecture and a repository pattern.

architecture

Open API

Pokedex using the PokeAPI for constructing RESTful API.
PokeAPI provides a RESTful API interface to highly detailed objects built from thousands of lines of data related to Pokémon.