Проект YaMDb собирает отзывы (Review) пользователей на произведения (Titles). Произведения делятся на категории: «Книги», «Фильмы», «Музыка». Список категорий (Category) может быть расширен администратором (например, можно добавить категорию «Изобразительное искусство» или «Ювелирка»).
Сами произведения в YaMDb не хранятся, здесь нельзя посмотреть фильм или послушать музыку.
В каждой категории есть произведения: книги, фильмы или музыка. Например, в категории «Книги» могут быть произведения «Винни-Пух и все-все-все» и «Марсианские хроники», а в категории «Музыка» — песня «Давеча» группы «Насекомые» и вторая сюита Баха.
Произведению может быть присвоен жанр (Genre) из списка предустановленных (например, «Сказка», «Рок» или «Артхаус»). Новые жанры может создавать только администратор.
Благодарные или возмущённые пользователи оставляют к произведениям текстовые отзывы (Review) и ставят произведению оценку в диапазоне от одного до десяти (целое число); из пользовательских оценок формируется усреднённая оценка произведения — рейтинг (целое число). На одно произведение пользователь может оставить только один отзыв.
Для реализации проекта используются Django 2.2.16, Django REST Framework 3.12.4
Все нижеперечисленные команды указаны для терминала bash
- Перейти в директорию, в которой будет располагаться папка проекта, и клонировать репозиторий:
git clone https://github.com/RaileyHartheim/api_yamdb
cd api_yamdb/
- Создать и активировать виртуальное окружение:
python3 -m venv venv
source venv/bin/activate
- Установить зависимости из requirements.txt
pip install -r requirements.txt
- Провести миграции
cd api_yamdb/
python manage.py migrate
- При необходимости заполнить базу тестовыми данными
python from_csv.py
- Запустить сервер
python manage.py runserver
Доступна по следующему адресу после запуска сервера
http://127.0.0.1:8000/redoc/
- Александр Мамонов: отзывы, комментарии
- Кирилл Щипило: категории, жанры, произведения
- Юлия Кажаева: пользователи, регистрация и аутентификация