Gamex Compose -Work in Progress-

An android application that consumes RAWG API to display a list of popular video games built using Jetpack Compose and Koin for dependency injection based on modern android techstack and multi-modular clean architecture.


Tech Stack and Open Sources Libs

  • Koin – Dependency Injection library.

  • Jetpack Components

    • Jetpack Compose– Modern toolkit for building native UI.
    • Android KTX – Provide concise, idiomatic Kotlin to Jetpack and Android platform APIs.
    • AndroidX – Major improvement to the original Android Support Library, which is no longer maintained.
    • Lifecycle – Perform actions in response to a change in the lifecycle status of another component, such as activities and fragments.
    • ViewModel – Designed to store and manage UI-related data in a lifecycle conscious way. The ViewModel class allows data to survive configuration changes such as screen rotations.
    • Room – Provides an abstraction layer over SQLite used for offline data caching.
    • Navigation Component-Component that allows easier implementation of navigation from simple button clicks to more complex patterns.
  • Retrofit – Type-safe http client
    and supports coroutines out of the box.

  • GSON – JSON Parser,used to parse
    requests on the data layer for Entities and understands Kotlin non-nullable
    and default parameters.

  • OkHttp-Logging-Interceptor – Logs HTTP request and response data.

  • Coroutines – Library Support for coroutines.

  • Flow – Flows are built on top of coroutines and can provide multiple values. A flow is conceptually a stream of data that can be computed asynchronously.

  • Timber-Library for easier logging.

  • Coil– Image Library from loading images from the database and caching in memory.

  • Palette API – Helper class to extract prominent colors from an image.

  • kotlinx.coroutines – Library Support for coroutines,provides runBlocking coroutine builder used in tests.


View Github