- JDK 1.8
- MVVM + Data binding
- Multi-modules
- Navigation Component
- ViewModel
- LiveData
- Room
- Coroutines
- Koin
- Mockk
You can basically leave this one out. App Module is now as small as possible and only used as entry point.
This is your module for your data source. Connect to your API, manage cache, creating entities happened here.
Each feature must be contained in a separate gradle module.
This is used for routing purposes, especially between modules.
Contains reusable classes and resources that you can use in another modules. We have already added some useful common features that you will need to start your project.
This app uses Kotlin as the main language. The main libraries used in this repository are :
- Jetpack - Jetpack is a suite of libraries, tools, and guidance to help developers write high-quality apps easier.
- Retrofit - A type-safe HTTP client for Android and Java
- Koin - A pragmatic lightweight dependency injection framework for Kotlin developers. Written in pure Kotlin
- OkHttp - HTTP is the way modern applications network. It’s how we exchange data & media. Doing HTTP efficiently makes your stuff load faster and saves bandwidth.
- Room - Persistence library provides an abstraction layer over SQLite to allow for more robust database access while harnessing the full power of SQLite.