The JeTrivia application is sample based on MVVM architecture.
Fetching data from the network via repository pattern and saving them to local data source.
What Does JeTrivia consist of?
- 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.
- Model-View-ViewModel Android Architecture components
To-Do in Future
- MVVM with MVI
- Component based UI refactor.
- Theme Management with DataStore
- More test case.
Thanks for the OpenTriviaDatabase.