Giter Club home page Giter Club logo

pokedex's Introduction

Pokedex Application

This project uses the API from https://pokeapi.co/ to perform calls.

The way the problem was approached

The App consists of two different screens and each one of them is into a separate feature: List and Detail.

List

Consists of a Screen of all the Pokemons retrieved by the API, the flow works in the following manner: It will perform a call to the API with the first 20 Pokemon, which right after will be saved on disk for easy access in the future.

Every time the Search Button is clicked two possible things can happen

Local Search:

If the Pokemon being searched was already retrieved by the API, it will be on disk and the search will give priority to the data coming from DB, this way is possible to search for partial strings.

Remote Search:

If the button is pressed with an empty text it will perform a search of the initial 20 Pokemons from the API

If the Pokemon being searched is not on the DB it will search for it at the API, however, due to the API behavior is necessary to write the complete name of the Pokemon in this scenario.

Upon clicking on the Pokemon the user is redirected to the Detail page.

Detail

On the detail page, the user will be shown some information about the pokemon and be able to set it as a favorite or not. If the Pokemon is set as favorite but a search for the server is triggered the data will be overwritten in the DB, this is on purpose

Tech Stack

Android: Kotlin, Jetpack Compose, Room, Kotlin Courotines, Kotlin Flow, Retrofit, Gson

Screenshots

App Screenshot App Screenshot App Screenshot App Screenshot App Screenshot

Authors

pokedex's People

Contributors

alkss avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.