/alfa-test

тестовое задание для отбора на стажировку в AlfaBank

Primary LanguageJava

Task

Тестовое задание от Альфа-банка.

Создать сервис, который обращается к сервису курсов валют, и отдает gif в ответ:
если курс по отношению к рублю за сегодня стал выше вчерашнего, то отдаем рандомную отсюда https://giphy.com/search/rich если ниже - отсюда https://giphy.com/search/broke

Ссылки
REST API курсов валют - https://docs.openexchangerates.org/
REST API гифок - https://developers.giphy.com/docs/api#quick-start-guide

Must Have
Сервис на Spring Boot 2 + Java / Kotlin. Запросы приходят на HTTP endpoint, туда передается код валюты. Для взаимодействия с внешними сервисами используется Feign. Все параметры (валюта по отношению к которой смотрится курс, адреса внешних сервисов и т.д.) вынесены в настройки. На сервис написаны тесты (для мока внешних сервисов можно использовать @mockbean или WireMock). Для сборки должен использоваться Gradle. Результатом выполнения должен быть репо на GitHub с инструкцией по запуску.

Nice to Have
Сборка и запуск Docker контейнера с этим сервисом.

Инструкция по запуску

С использованием Gradle:

gradlew bootRun

После старта приложения открываем в браузере страницу по адресу http://localhost:7717/[currency] , вместо [currency] необходимо указать код валюты, например RUB, и смотрим на желаемую GIF-ку. Без указания (просто переход по localhost:7717 результаты будут представлены для RUB.)

P.S.: Для стандартного тарифа в качестве базовой валюты сервис openexchangerates.org предоставляет только USD. Настройки базовой валюты и другие параметры (в том числе порт) можно поменять в application.yml файле.