JeTrivia

🚧
  In Progress  
🚧

The JeTrivia application is sample based on MVVM architecture.
Fetching data from the network via repository pattern and saving them to local data source.

animated

What Does JeTrivia consist of?

  • Kotlin
  • Coroutines is used to asynchronous and non-blocking programming.
  • Flow is asynchronous version of a Sequence.
  • Compose is a modern toolkit for building UI. (Single Activity and No Fragment)
  • Navigation is a navigation component that provides support for Jetpack Compose applications.
  • Room for database and caching.
  • Hilt is dependency injection based on Dagger 2.
  • Accompanist is a collection of extension libraries for Jetpack Compose applications.
  • Retrofit2 REST APIs.
  • OkHttp3 is used to implementing interceptor, logging web server.
  • kotlinx.serialization is used to process of converting data used by an application to a format that can be transferred over a network or stored in a database or a file.
  • Chucker is inspection of HTTP(S) requests/responses
  • MockK is a test framework.
  • Truth makes your test assertions and failure messages more readable.

Architecture

tolga-bolatcan

To-Do in Future

  • MVVM with MVI
  • Component based UI refactor.
  • Theme Management with DataStore
  • More test case.

Thanks for the OpenTriviaDatabase.

GitHub

https://github.com/tlgbltcn/JeTrivia