GithubSquareRepos
The GithubSquareRepos application is sample based on MVVM architecture.
Fetching data from the network via repository pattern and saving them to local data source.
What Does GithubSquareRepos 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.
- Screet Gradle Plugin a Gradle plugin for providing your secrets securely to your Android project.
- Truth makes your test assertions and failure messages more readable.
Note: The data layer of the project was developed on the basis of FlowRedux by Freeletics in previous versions. You can see the infrastructure/flowRedux
branch to examine it.
How to build this project?
To build this project you should add your own token to the local.properties
under the project root with this format.
...
TOKEN=XXX
...
You can use either an existing one or a new one. In order to get Personal Access Token from Github follow the instructions.
To-Do in Future
- Pagination
- More test case.