Beautiful Crypto currency app on Kotlin + MVP + RxJava2 + Retrofit + Room.
Coiny is a beautiful cryptocurrency app, completely open source and 100% in kotlin. It supports following features
- Track prices of over 4000+ currencies over 100+ exchanges
- Get top coins, top pairs, top exchanges by volume.
- Track latest news for all the coins and crypto community in general
- Completely secure, your data never leaves your device.
- Choose your home currency and track prices in it.
- Made with ❤️ and help from opensource community
- Open for contribution, please send a pull request.
App available on Google Play: https://play.google.com/store/apps/details?id=com.binarybricks.coiny
Work in progress
- Ability to add transactions
- Ability to change exchanges
- Autorefresh of prices
- Candle charts
Currently the app is using MVP with a repository. We have 2 data source, Room and in memory cache. Data flow is like this
Fragments/Activities -> Presenter -> Repo -> Network/Cache (room/in memory)
In coming days I would like to remove inmemory cache and make everything come from Room. Network will keep the Room cache updated. This will give app some offline abilities.
I am also using a ton of recycler view with Adapter Delegate Pattern. This enables me to plug and play the screens like Lego blocks. I am thinking to replace this with Epoxy in coming days.