Project to replicate Stockbit app, although its a mini size of that app. Some cool tech stack I'm using in this project is Scarlet, Modularization, Navigation Component, etc. Not to forget, I also adding Unit Test for each layer.
Modularization, based on Clean Architecture divided into three main modules
- Data (Mostly for calling API)
- Domain (More like mediator between Data and Presentation)
- Presentation (UI and business logic)
Inspired by Android Clean Architecture project by Happy Singh. Awesome modularization project.
- LiveData
- ViewModel
- Coroutines
- Retrofit: Networking
- View Binding
- Koin: Dependency Injection / Service Locator
- Jetpack Navigation
- Scarlet: WebSocket client
I'm using CryptoCompare API to get the data both API and WebSocket. Click link below
Main purpose is to startKoin
because app module implementing other three modules, so its the best place to startKoi
n that covered the whole app
BuildSrc is the module to maintain the dependencies of third party library for app to use. It contains list of dependencies and version of that dependencies.
Handle communications to remote data. In this app case is to call API both for REST and WebSocket
Contain use case and became the mediator to transfer data from Data layer to Presentation layer
This layer responsiblity is to handle UI and business logic. I put the MVVM design pattern implementation here. The module only know about Domain module.