Skip to content

filin2hat/Pokemon-Lib

Repository files navigation

PokemonLib

PokemonLib is a project designed for Pokemon fans that provides information about various Pokemon. This app uses Jetpack Compose, a declarative framework for building user interfaces in Android. With PokemonLib, you can explore the world of Pokemon, learn about their characteristics, abilities, types, and more.

Main functions:

  • View a list of Pokémon with the ability to search.
  • Detailed information about each pokemon, including image, properties and main parameters.
  • Support for dark and light themes for comfortable use at any time of the day.
  • Using animations and effects to improve the user experience.
  • Application of modern technologies such as Kotlin, Jetpack Compose and Android Architecture Components.

Screenshots

Tech stack & Open-source libraries

  • Minimum SDK level 26
  • Kotlin based, Coroutines
    • Flow for asynchronous.
  • Jetpack
    • Compose for building modern user interfaces.
    • ViewModel: Manages UI-related data holder and lifecycle aware.
    • Hilt: for dependency injection.
  • Architecture
    • MVVM Architecture (View - DataBinding - ViewModel - Model)
    • Repository Pattern
  • Retrofit2 & OkHttp3: Construct the REST APIs and paging network data.
  • Material-Components: Material design components for building some UI components.
  • Coil: Image loading.
  • Lottie: Animated vector images
  • Palette: Extract representative color palettes from images.
  • Timber: A logger with a small, extensible API.

Architecture

PokemonLib is based on the MVVM architecture and the Repository pattern, which follows the Google's official architecture guidance.

The overall architecture of PokemonLib is composed of two layers; the UI layer and the data layer. Each layer has dedicated components and they have each different responsibilities, as defined below:

PokemonLib was built with Guide to app architecture, so it would be a great sample to show how the architecture works in real-world projects.

Open API

PokemonLib 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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages