/api_yamdb

api_yamdb

Primary LanguagePython

Проект YaMDb

Описание

Проект YaMDb собирает отзывы (Review) пользователей на произведения (Titles). Произведения делятся на категории: «Книги», «Фильмы», «Музыка». Список категорий (Category) может быть расширен администратором (например, можно добавить категорию «Изобразительное искусство» или «Ювелирка»).

Сами произведения в YaMDb не хранятся, здесь нельзя посмотреть фильм или послушать музыку.

В каждой категории есть произведения: книги, фильмы или музыка. Например, в категории «Книги» могут быть произведения «Винни-Пух и все-все-все» и «Марсианские хроники», а в категории «Музыка» — песня «Давеча» группы «Насекомые» и вторая сюита Баха.

Произведению может быть присвоен жанр (Genre) из списка предустановленных (например, «Сказка», «Рок» или «Артхаус»). Новые жанры может создавать только администратор.

Благодарные или возмущённые пользователи оставляют к произведениям текстовые отзывы (Review) и ставят произведению оценку в диапазоне от одного до десяти (целое число); из пользовательских оценок формируется усреднённая оценка произведения — рейтинг (целое число). На одно произведение пользователь может оставить только один отзыв.

Стек:

Python 3.7, Django, DRF, Simple-JWT.

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

Клонируем репозиторий и переходим в него:

git clone https://github.com/PivnoyFei/api_yamdb
cd api_yamdb

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

python3 -m venv venv
source venv/bin/activate

для Windows

python -m venv venv
source venv/Scripts/activate
python -m pip install --upgrade pip

Ставим зависимости из requirements.txt:

pip install -r requirements.txt

Переходим в папку api_yamdb:

cd api_yamdb

Выполняем миграции:

python manage.py makemigrations
python manage.py migrate

Создаем суперпользователя:

python manage.py createsuperuser

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

python manage.py runserver

Документация API YaMDb

Документация доступна по эндпойнту: http://localhost/redoc/

Разработчики проекта