Проект YaMDb собирает отзывы (Review) пользователей на произведения (Titles). Произведения делятся на категории: «Книги», «Фильмы», «Музыка». Список категорий (Category) может быть расширен (например можно добавлять категорию "Изобразительное исскуство" или "Ювелирка").
Сами произведения в YaMDb не хранятся, здесь нельзя посмотреть фильм или послушать музыку.
В каждой категории есть произведения: книги, фильмы или музыка. Например, в категории «Книги» могут быть произведения «Винни Пух и все-все-все» и «Марсианские хроники», а в категории «Музыка» -песня "Давеча" группы "Насекомые" и сторая сюита Баха. Произведению может быть присвоен жанр (Genre) из списка предустановленных (например, «Сказка», «Рок» или «Артхаус»). Новые жанры может создавать только администратор.
Благодарные или возмущённые читатели оставляют к произведениям текстовые отзывы (Review) и выставляют произведению рейтинг (оценку в диапазоне от одного до десяти). Из множества оценок высчитывается средняя оценка произведения.
- Получить список всех отзывов
- Создать новый отзыв
- Получить отзыв по id
- Частично обновить отзыв по id
- Удалить отзыв по id
- Получить список всех комментариев к отзыву по id
- Создать новый комментарий для отзыва
- Получить комментарий для отзыва по id
- Частично обновить комментарий к отзыву по id
- Удалить комментарий к отзыву по id
- Отправление confirmation_code на переданный email
- Получение JWT-токена в обмен на email и confirmation_code
- Получить список всех пользователей
- Создание пользователя
- Получить пользователя по username
- Изменить данные пользователя по username
- Удалить пользователя по username
- Получить данные своей учетной записи
- Изменить данные своей учетной записи
- Получить список всех категорий
- Создать категорию
- Удалить категорию
- Получить список всех жанров
- Создать жанр
- Удалить жанр
- Получить список всех объектов
- Создать произведение для отзывов
- Информация об объекте
- Обновить информацию об объекте
- Удалить произведение
####Документация к API доступна по адресу http://127.0.0.1:8000/redoc/
###Установка Клонируем репозиторий на локальную машину:
git clone https://github.com/foggy54/api_yamdb.git
Создаем виртуальное окружение:
python -m venv venv
Устанавливаем зависимости:
pip install -r requirements.txt
После создайте в корневой директории файл с названием ".env
" и поместите в него:
SECRET_KEY=любой_секретный_ключ_на_ваш_выбор
Применяем миграции:
python manage.py migrate
Опционально импортируем данные:
python manage.py runscript load_data
Запуск:
python manage.py runserver
Первый разработчик(Иван Плакунов) писал всю часть, касающуюся управления пользователями (Auth и Users): систему регистрации и аутентификации, права доступа, работу с токеном, систему подтверждения через e-mail. Второй разработчик (Игорь Сараев) писал категории (Categories), жанры (Genres) и произведения (Titles): модели, представления и эндпойнты для них. Третий разработчик (Александр Иванченко) занимался отзывами (Review) и комментариями (Comments): описывал модели, представления, настраивал эндпойнты, определял права доступа для запросов и рейтинги произведений.