=============================
This app displays real time stock prices .
The app consists of two fragment (StockFragment and HistoryFragment) . StockFragment displays the list of stocks along with current price and change. It also provide app bar menu button to display history of most expensive stock and a play button to start display real time stock price changes.
HistoryFragment display the price of the stock selected on stocks screen and chart graph history for that stock If play button is never used, the chart remains empty
MVVM with LiveData
Not added because of an issue in shared view model from koin. UI test can added using espresso and mocking view model.
The project creates an in memory database for each database test and runs them on the device.
Each ViewModel is tested using local unit tests with mock Repository implementations.
Each Repository is tested using local unit tests with mock retrofit and mock database.
The project uses MockWebServer project to test REST api interactions.
StocksHistoryDaoImpl is tested for integration test with mock dao implementations.
- Android Support Library
- Android Architecture Components
- Facebook Shimmer Library for shimmer loading effect
- Koin for dependency injection
- Retrofit and OkHttp for REST api communication
- Kotline coroutines
- Mockwebserver for api test
- Mockk for mocking in tests
- Room for offline storage