App for checking crypto currency exchange rates!
This is an Android mobile app project that:
- shows a list of cryptocurrencies and their details
- uses MVVM architecture and Rx programming
- Model layer is in charge of storing and accessing data
- ViewModel is the core of the app which interacts both with the UI and the Data layer
- Repository and DataSource are an abstraction in charge of empowering the separation of concerns
- CryptoCurrencyActivity is as lightweight as possible
- Fragments are in charge of binding data and xml and passing events to the ViewModels
- Dagger-Hilt is the library used for compile-time safe dependency injection
- RxKotlin and RxAndroid are used for multithreading and error handling
- Navigation with SafeArgs is used for navigation between Fragments
- View binding and Data binding implemented for instant reactive UI changes
- CryptoExchange adapts well to edge cases like and supports screen rotation
- add charts in the DetailFragment screen
- implement local Room caching
- implement testing
- add more comprehensive error handling
- tests on multiple devices (tested on Samsung A10 and Pixel 2)
- Kotlin and MVVM knowledge base: Codelabs
- Dagger-Hilt documentation: Dagger-Hilt
- RxKotlin and Rx: Reactivex.io

