Нужно написать веб-сервис на asyncio, который предоставляет API для конвертации валют. Данные хранить в Redis. Все явно неописанные форматы и протоколы можно допридумать.
Должны работать следующие локейшены:
GET /convert?from=RUR&to=USD&amount=42
: перевестиamount
из валютыfrom
в валютуto
. Ответ в JSON.POST /database?merge=1
: залить данные по валютам в хранилище. Еслиmerge == 0
, то старые данные инвалидируются. Еслиmerge == 1
, то новые данные перетирают старые, но старые все еще акутальны, если не перетерты.
- Cerberus - для валидации REST API
- AioHTTP - web-фреймворк
- Возможно если в БД ничего нет, нужно залить туда данные по умолчанию.
- Стоит разнести на отдельные запросы merge=1 и merge=0.
- docker-compose up --build