An android app that showing the details of the BTC/USD currency pair, at real-time:
- a summary (current price, price change, volume, low, high) - ticker
- a table with the order book
Clean architecture consists of three layers:
- Data, which includes databases, clients, repositories, network
- Domain, which includes entities, usecases, and interactors
- Presentation, which includes UI related components, such as ViewModels, Presenters, Layouts, Fragments, Activities
Each layer has its own entities/models which are specific to that package. Mapper is used for conversion of one layer to another.
- Fragment
- ViewModel
- LiveData
- Data Binding
- ActivityScenario, for instrumentation test (part of AndroidX Test)
-
Koin, an easy-to-use DI framework. Nice comparison with Dagger
-
Scarlet, a Retrofit inspired WebSocket client, manages the client-server connection for you. It makes use of a StateMachine to handle WebSocket connection correctly. Developed by Tinder, and has been in production for more than one year.
-
OkHttp, an HTTP client for Android and Java applications
-
moshi, JSON library for Kotlin and Java
-
Timber, a logger which provides utility on top of Android’s Log class