/Xchanger

Application that displays multiple currency exchange rates and updates them in real time

Primary LanguageKotlinMIT LicenseMIT

Xchanger

Application that displays currency exchange rates that update in real time every second. APK download links.

Technologies used

  • Multi-module architecture, with packaging by feature. Each module is responsible for only certain set of operations, but recurring or common to all modules tasks could be extracted into a separate module.
  • MVVM via airbnb/MvRx. The library allows for easy state managment and persistance.
  • Dagger2 for DI
  • AdapterDelegates for reducing RecyclerView boilerplate
  • RxJava
  • Moshi for JSON parsing
  • Retrofit

What could be improved

  • Navigation. Whenever the need for more complex navigation arises, it could be done by either introducing some library (i.e. AAC Navigation), or by wrapping the FragmentManater and using its APIs. Inter-module navigation could be achieved by introducing an interface with navigation routes/actions in the feature module, that the app or flow-common module implements.
  • Maybe persist selected currency with the value
  • Persist polling rate, so it's not static and could be configured via some remote service
  • UI + integration testing