Dota 2 Heroes

? Description

Fetching Dota 2 heroes from DOTA 2 OPEN API

? Insights into the app

Application fetching heroes hero data from DOTA 2 open api and caching them in database

Showcasing Clean Code and MVVM Architecture, with SOLID principles

? Screenshots

Built With ?

  • Kotlin – First class and official programming language for Android development.
  • Coroutines – For asynchronous and more..
  • Flow – A cold asynchronous data stream that sequentially emits values and completes normally or with an exception.
  • StateFlow – StateFlow is a state-holder observable flow that emits the current and new state updates to its collectors.
  • SharedFlow – A SharedFlow is a highly-configurable generalization of StateFlow.
  • Android Architecture Components – Collection of libraries that help you design robust, testable, and maintainable apps.
    • ViewModel – Stores UI-related data that isn’t destroyed on UI changes.
    • ViewBinding – Generates a binding class for each XML layout file present in that module and allows you to more easily write code that interacts with views.
    • Room – Room is an android library which is an ORM which wraps android’s native SQLite database
  • Dependency Injection
    • Hilt-Dagger – Standard library to incorporate Dagger dependency injection into an Android application.
    • Hilt-ViewModel – DI for injecting ViewModel.
  • GSON – A modern JSON library for Kotlin and Java.
  • GSON Converter – A Converter which uses Moshi for serialization to and from JSON.
  • Coil – An image loading library for Android backed by Kotlin Coroutines.
  • Material Components for Android – Modular and customizable Material Design UI components for Android.


If you need any help, you can connect with me.

Visit:- Vivek Sharma


View Github