Skip to content

suvdim/currency_rates

Repository files navigation

Cервис получения котировок валют

Структура проекта

Проект состоит из двух частей:

  • backend: django + DRF (celery, celery-beat, redis, postgresql)
  • frontend: vue (axios, bootstrap, jspdf, xlsx)

Описание проекта

  • курсы валют берутся с cbr-xml-daily.ru
  • для того что бы не нагружать сторонний сервис запросами, курсы валют хранятся в бд
  • списком валют можно управлять через админку
  • для тех валют которых нет в списке, курсы добавляться не будут
  • при добавлении новой валюты или сохранении изменений в сущуствующей валюте, запускается обновление курсов валют
  • посмотреть список полученных валют можно в админке
  • значения курсов хранятся 7 дней (возможное использование - например показ динамики изменения курса в виде графика). При этом во фронте, пользователь видит только последние курсы валют
  • новые курсы берутся раз в 5 минут (но сторониий сервис обновляет данные раз в сутки). Интервал обновления можно менять в settings.py
  • для получения курсов валют и удаления устаревших используется celery
  • экспорт в csv, excel и pdf реализован на фронте (возможное изменение - генерация файлов на backend для более гибкой работы с отображением содержимого файлов)

Фронт

На фронте выводится список доступных валют. По нажатию на кнопку “Получить котировку” формируется таблица с котировками. Сформированную таблицу можно скачать в формате CSV, XLSX или PDF.

Docker

Необходимо что бы были установлены Docker и Docker Compose.

Создать образ и запустить контейнеры

COMPOSE_HTTP_TIMEOUT=200 docker-compose up -d --build

Добавить суперпользователя

docker-compose exec backend python manage.py createsuperuser

Добавить несколько валют (дополнительные валюты можно добавить в админке)

docker-compose exec backend python manage.py loaddata currencies/fixtures/init_data.json

Посмотреть логи

docker-compose logs -f 'frontend'

Удалить тома вместе с контейнерами

docker-compose down -v

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published