Nenhuma descrição

MrOzOn ea4dc67f9a fix test - add application for test 4 anos atrás
app ea4dc67f9a fix test - add application for test 4 anos atrás
gradle 4db64476c5 initial commit 4 anos atrás
.gitignore 4db64476c5 initial commit 4 anos atrás
README.md 261fe75597 add network dependencies 4 anos atrás
build.gradle 5a325fb572 add dependencies for navigation 4 anos atrás
detekt-config.yml 0ea71ba332 add Timber 4 anos atrás
detekt.gradle 97b138e11f add Detekt (static code analysis tool) 4 anos atrás
gradle.properties 4db64476c5 initial commit 4 anos atrás
gradlew 4db64476c5 initial commit 4 anos atrás
gradlew.bat 4db64476c5 initial commit 4 anos atrás
settings.gradle 4db64476c5 initial commit 4 anos atrás

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)