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.
Screenshots
Tech Stack and Open Sources Libs
-
Koin – Dependency Injection library.
-
- 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.