Проект выполнен в рамках тестового задания:
Соберите с помощью Django Rest Framework каталог исполнителей и их альбомов с песнями такой структуры:
- Исполнитель
- Название
- Альбом
- Исполнитель
- Год выпуска
- Песня
- Название
- Порядковый номер в альбоме
Одна и та же песня может быть включена в несколько альбомов, но под разными порядковыми номерами.
В качестве площадки для демонстрации АПИ подключите к нему Swagger, чтобы можно было проверить работу АПИ через Postman.
Бонусом будет, если проект будет запускаться через docker compose.
- Python 3.9.16
- Django 4.2.2
- DRF 3.14.0
- Docker
- nginx
- SQLite3
- Клонируйте репозиторий
git clone https://github.com/ArtemKAF/music.git
- В директории проекта установите и активируйте виртуальное окружение
python3 -m venv venv
source ./venv/bin/activate
- Установите зависимости из файла requirements.txt
pip install -r ./backend/requirements.txt
- В директории backend проведите миграции:
python manage.py migrate
- Cоздайте суперпользователя (опционально):
python manage.py createsuperuser
- Запустите Django-сервер командой:
python manage.py runserver --insecure
- После клонирования репозитория, как в предыдущем примере, подготовьте
.env в директориях backend и infra по соответствующим шаблонам .env.example,
располагающимся в указанных директориях; - Из директории infra выполните следующую команду в терминале:
docker compose up -d
После того как Docker запустит контейнеры документация по API станет доступна
по адресу http://127.0.0.1/swagger-ui
MIT
Козин Артем