Skip to content

The Pokédex Android app incorporates essential technologies like AndroidX, Hilt, Coroutines, Retrofit, and Glide, ensuring a robust and efficient user experience.

Notifications You must be signed in to change notification settings

omerrguzel/Pokedex

Repository files navigation


Logo

Pokédex

The Pokédex Android app, developed for a Pazarama and Coderspace bootcamp, incorporates essential technologies like AndroidX, Hilt, Coroutines, Retrofit, and Glide, ensuring a robust and efficient user experience.


Screenshots

Home Screen
Home
Detail Screen
Detail
Search Screen
Search
Sort Screen
Sort


Tech stack & Open-source libraries

  • Minimum SDK level 24
  • Kotlin based, using Coroutines for asynchronous programming.
  • Jetpack
    • ViewBinding: Enables more robust and concise view interaction.
    • Navigation: Manages app navigation within a single activity.
    • Hilt: For dependency injection.
  • Architecture
    • MVVM (Model-View-ViewModel) for clear separation of concerns.
  • Networking
    • Retrofit2 & Gson: For REST API communication and JSON serialization/deserialization.
  • Glide: For image loading.
  • Android KTX: Kotlin extensions that optimize Jetpack and Android platform APIs.
  • Material Components: For modern, material design UI.
  • Testing
    • JUnit: Standard framework for unit testing.
    • MockK: Kotlin mocking library.
    • Turbine: Testing library for Kotlin Coroutines.

Architecture

Architecture Diagram

  • Data Layer:

    • Communicates with the PokéApi REST API via Retrofit.
    • Handles API requests and responses.
  • Domain Layer:

    • Contains UseCases that execute business logic.
    • Facilitated by Repositories to operate on data.
    • Uses Mappers to translate data between the Repository and UI models.
  • UI Layer:

    • Consists of Activities and Fragments.
    • Interacts with the ViewModel to manage UI data and state.
    • Handles UI events and maintains a clean MVVM architecture, ensuring separation of concerns.

License

MIT License

Developed by omerrguzel

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

About

The Pokédex Android app incorporates essential technologies like AndroidX, Hilt, Coroutines, Retrofit, and Glide, ensuring a robust and efficient user experience.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages