Pokedex

Google License API Build Status Medium Profile

🗡️ Pokedex demonstrates modern Android development with Hilt, Coroutines, Flow, Jetpack (Room, ViewModel), and Material Design based on MVVM architecture.

Download

Go to the Releases to download the latest APK.

Tech stack & Open-source libraries

  • Minimum SDK level 21
  • Kotlin based, Coroutines + Flow for asynchronous.
  • Hilt for dependency injection.
  • 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 Persistence – Constructs Database by providing an abstraction layer over SQLite to allow fluent database access.
  • Architecture
    • MVVM Architecture (View – DataBinding – ViewModel – Model)
    • Bindables – Android DataBinding kit for notifying data changes to UI layers.
    • Repository Pattern
  • Retrofit2 & OkHttp3 – Construct the REST APIs.
  • Sandwich – Construct a lightweight and modern response interface to handle network payload for Android.
  • Moshi – A modern JSON library for Kotlin and Java.
  • Glide, GlidePalette – Loading images from network.
  • TransformationLayout – implementing transformation motion animations.
  • WhatIf – Check nullable objects and empty collections more fluently.
  • Bundler – Android Intent & Bundle extensions, which insert and retrieve values elegantly.
  • Timber – A logger with a small, extensible API.
  • Material-Components – Material design components for building ripple animation, and CardView.
  • Turbine – A small testing library for kotlinx.coroutines Flow.
  • Custom Views
    • Rainbow – An easy way to apply gradations and tinting for Android.
    • AndroidRibbon – A simple way to implement a beautiful ribbon with the shimmering on Android.
    • ProgressView – A polished and flexible ProgressView, fully customizable with animations.

MAD Score

summary kotlin

Architecture

Pokedex is based on the MVVM architecture and the 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.

Find this repository useful? ❤️

Support it by joining stargazers for this repository. ⭐ Also, follow me on GitHub for my next creations! 🤩

License

Designed and developed by 2020 skydoves (Jaewoong Eum)

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

GitHub

View Github