Тестовый проект отображения курсов.

Реализованы валюты и курсы. Реализована команда для сбора данных. Реализована ручка получения курсов с фильтрацией по валюте и дате.

Запуск проекта:

После клонирования проекта устанавливаем poetry:
pip install poetry

Переходим а папку проекта, активируем окружение, устанавливаем зависимости:
poetry shell
poetry install

В папке rates/rates переименовываем файл .env.sample в .env, устанавливаем корректное значение SECRET_KEY.

В папке rates/ создаем миграции:
python manage.py makemigrations
python manage.py migrate

Создаем суперюзера:
python manage.py createsuperuser

Открываем файл настройки crontab для настройки запуска команды сбора данных:
crontab -e

Из файла crontab.sample в папке проекта копируем строку настройки, устанавливаем корректные пути до папки проекта и интерпретатора в созданном ранее poetry окружении. Сбор курсов будет запускаться ежедневно и записываться в базу данных проекта.

Выполняем первый запрос в ЦБР вручную из папки rates/:
python manage.py get_currencies_from_cbr

Запускаем dev-сервер:
python manage.py runserver

Админка проекта по адресу:
http://localhost:8000/admin/

После сбора данных получаем данные по конкретной валюте на дату (дату установить одну из уже собранных в БД):
http://localhost:8000/rate/?charcode=AUD&date=2024-02-16