https://github.com/jarroyoesp/revocurrency
https://github.com/jarroyoesp/revocurrency
Last synced: 29 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/jarroyoesp/revocurrency
- Owner: jarroyoesp
- Created: 2019-07-25T08:47:20.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2019-07-30T09:42:10.000Z (almost 6 years ago)
- Last Synced: 2025-02-07T21:24:42.222Z (3 months ago)
- Language: Kotlin
- Size: 797 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Revolut currency
App that shows currency equivalence to a given favourite currency. The currency rates are updated every 1 second.
# Architecture
It has been decided to use MVVM pattern to separate UI from bussiness logic.
To async tasks it has been decided to use Kotlin coroutines.# UseCases
1) GetFavouriteCurrency: get user's favourite currency from local (cache or disk - room). You can change it clicking on the different currencies when rates are shown.
2) GetCurrencyList: get currency rates for a base currency (your favourite)
3) InsertFavouriteCurrency: save on device your favourite currency for future requests.
## Languages, libraries and tools used
* [Kotlin](https://kotlinlang.org/)
* [ViewModel](https://developer.android.com/topic/libraries/architecture/viewmodel)
* [Stable Kotlin Coroutines (1.3)](https://github.com/Kotlin/kotlinx.coroutines)
* [Room](https://developer.android.com/topic/libraries/architecture/room.html)
* [Android Architecture Components](https://developer.android.com/topic/libraries/architecture/index.html)
* Android Support Libraries
* [Dagger 2 (2.18)](https://github.com/google/dagger)
* [Retrofit](http://square.github.io/retrofit/)
* [OkHttp](http://square.github.io/okhttp/)
* [Gson](https://github.com/google/gson)
* [Mockito](http://site.mockito.org/)
* [Espresso](https://developer.android.com/training/testing/espresso/index.html)
* [Leak Canary](https://github.com/square/leakcanary)# Screenshots