Протестировать развернутый проект можно по этой ссылке
Django Админ находится по этому адресу.
В Django Admin включена поддержка создания задач по расписанию и просмотра истории валют.
логин: root
пароль: 1
Flower Dashboard доступен по этому адресу
git clone https://github.com/ead3471/currency_monitor.git
cd currency_monitor/infra
nano .env
docker-compose up -d
docker-compose exec api sh
python manage.py migrate
python manage.py createsuperuser
http://127.0.0.1:8082/swagger
Для получения курсов используй https://coinlayer.com/, получать данные можно по апи или же в результате парсинга.
-
Пользователь должен иметь возможность обратиться к api-нашего приложения и запустить фоновую задачу, по сбору данных о валютах (если данная задача активирована). Результат которого запишется в таблицу.
Доступно на эндпоинте /api/v1/retrieve/force
Реализовано форсированное внеочередное выполнение задачи по сбору данных о валютах помеченных к опросу -
Пользователь должен иметь возможность обратиться к api-нашего приложения и запустить фоновую задачу, по сбору данных о конкретной валюте, к примеру $. Доступно на эндпоинте /api/v1/retrieve/once/
Реализован пост запрос, принимающий в теле запроса список валют. Запрос создает фоновую задачу на получение данных по этим валютам. Интерфейс реализован на работу только с криптовалютами. -
Пользователь должен иметь возможность обратиться к api-нашего приложения и ВКЛЮЧИТЬ/ВЫКЛЮЧИТЬ фоновую задачу, по сбору данных о валюте/ах. Доступно на эндпоинте /api/v1/retrieve/enable
Реализована приостановка или запуск задачи по сбору данных о валютах помеченных к опросу. -
Пользователь должен иметь возможность обратиться к api-нашего приложения и получить ВСЮ историю, указанной в запросе валюты.
Доступно на эндпоинте /api/v1/coins/<COIN_CODE>/history -
Пользователь должен иметь возможность обратиться к api-нашего приложения и получить разницу двух курсов для конкретной валюты (последней полученной и последней исторической).
Доступно на эндпоинте /api/v1/coins/<COIN_CODE>/difference
- Django (любой версии)
- DRF
- Celery
- django-simple-history
django-simple-history – использовать для отслеживания изменения валют, где ключом будет валюта.
2. Frontend для данного задания не нужен, но опционально можно будет реализовать описание апи за счет swagger.
- Иметь возможность создавать задачи по рассписанию и управлять этим расписанием.
Доступно через Django admin - base session authentication