Сделал Ananev Nikita
Решение второй тестовой задачи от BWG, согласно техническому заданию
Конфигурация состоит из proxy, RabbitMQ, API service, exchange monitor service. API определён как 4 реплики. Поставлены ограничения на использования ресурсов исходя из нагрузочного тестирования
Воспользуйтесь dotenv (для Docker
.env.docker
), либо средства Докер для указания переменных
- RABBITMQ_URI — RabbitMQ's connection string
- APP_URI — Application uri for testing
- BINANCE_API_KEY & BINANCE_API_SECRET — Auth for Binance
Скопируйте .env.example
в .env.docker
и заполните его.
docker compose up -d # Equal "make up"
Архитектура придерживается методологии чистой архитектуры. Внешние взаимодействия описаны в адаптерах. Бизнес логика описана в модулях, а именно в первом и втором.
- mypy — проверка типов
- black — форматер кода
- pylint — линтинг кода
- isort — сортировщик импортов
- locust — нагрузочное тестирование
Команда: make pretty
>> pylint src
--------------------------------------------------------------------
Your code has been rated at 9.63/10 (previous run: 10.00/10, +0.0)
>> black src
All done! ✨ 🍰 ✨
43 files left unchanged.
>> mypy src
Success: no issues found in 43 source files