Нужно написать веб-сервис на 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