Sen descrición

MrOzOn 5a14cf4c49 add test for DAO %!s(int64=4) %!d(string=hai) anos
app 5a14cf4c49 add test for DAO %!s(int64=4) %!d(string=hai) anos
gradle 4db64476c5 initial commit %!s(int64=4) %!d(string=hai) anos
.gitignore 4db64476c5 initial commit %!s(int64=4) %!d(string=hai) anos
README.md 261fe75597 add network dependencies %!s(int64=4) %!d(string=hai) anos
build.gradle d2692191ca add dependencies for room %!s(int64=4) %!d(string=hai) anos
detekt-config.yml 97b138e11f add Detekt (static code analysis tool) %!s(int64=4) %!d(string=hai) anos
detekt.gradle 97b138e11f add Detekt (static code analysis tool) %!s(int64=4) %!d(string=hai) anos
gradle.properties 4db64476c5 initial commit %!s(int64=4) %!d(string=hai) anos
gradlew 4db64476c5 initial commit %!s(int64=4) %!d(string=hai) anos
gradlew.bat 4db64476c5 initial commit %!s(int64=4) %!d(string=hai) anos
settings.gradle 4db64476c5 initial commit %!s(int64=4) %!d(string=hai) anos

README.md

CurrencyConverter

Тестовое приложение - конвертор валют

Исходные данные

На экране пользователю доступы список всех валют с возможностью ввода. После изменения любого из полей все остальные поля пересчитываются согласно курса валют.

Курсы валют брать отсюда: https://www.cbr-xml-daily.ru/daily_json.js

При каждом входе в приложении следует пытаться загрузить по сети курсы валют и (в случае их доступности) сохранять их локально (кэшировать следует безусловно, не нужно проверять, отличаются ли загруженные курсы от закэшированных). В случае, если загрузить не удалось / не успели, следует использовать закэшированные курсы.

Обязательные требования:

  • Код пишется на Kotlin/Java.
  • Использовать мета­паттерн MVVM.

Будет плюсом:

  • В проекте имеется выверенная архитектура с четким разделением обязанностей по слоям.
  • Модель защищена юнит­тестами на уровне method coverage (branch coverage – это плюс, но необязательный).
  • Приложение оформлено в Material Design.

Используемый стек

  • MVVM
  • Kotlin Coroutines
  • Dagger2 and Hilt
  • Room
  • Retrofit

Дополнительные инструменты

  • статический анализатор кода Detekt (запуск проверки - команда ./gradlew detekt)