Skip to content

ArtemKAF/currency

Repository files navigation

currency

Реализация получения и отображения информации о курсе валютной пары доллар-рубль при помощи запросов к API ресурса https://currate.ru/. Отображение результатов запросов происходит собщениями через websocket.

Стек технологий:

Python 3.12.1 Django Channels Celery requests Redis Nginx

Как запустить проект локально (необходим установленный Python3.12.1, poetry и redis):

Клонировать репозиторий:

git clone [email protected]:ArtemKAF/currency.git

Перейти в директорию, в которую были скачаны исходные файлы проекта при клонировании:

cd currency/

Cоздать виртуальное окружение и установить необходимые зависимости командой:

poetry install --no-root

Активировать созданное виртуальное окружение командой:

poetry shell

В корневой директории проекта создать файл .env и заполнить его переменными окружения по шаблону из .env.example

Примечание для значений DEBUG:

  • True - сервер разработки будет обрабатывать подключение main.js.
  • False - необходимо дополнительно настраивать сервер для обработки статики.

Перейти в директорию src и выполнить следующие команды:

python manage.py migrate
python manage.py runserver

После успешного запуска сервера разработки эндпоинт для получения информации о курсе валюты будет доступен про адресу http://localhost:8000/get-current-usd/

Примечание:

Для запуска процесса обновления информации по расписанию необходимо параллельно запустить celery worker и celery beat scheduller.

Для этого в дополнительных окнах терминала из директории src проекта с активированным виртуальным окружением необходимо выполнить команды:

  • во втором окне терминала для celery worker-a
celery -A config.celery worker --loglevel info
  • в третьем окне терминала для celery beat sheduller-а
celery -A config beat --loglevel info

В случае успеха, через каждые 30 секунд информация о курсе валюты будет обновлена.

Запуск проекта в docker контенерах:

В корневой директории проекта подготовлены файлы:

  • docker-compose.yaml (для запуска проекта вцелом вместе с redis)
  • docker-compose-redis.yaml (для запуска только redis)

Команда для запуска:

docker compose -f <соответствующий файл> up -d

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published