Проект позволяет собирать и отзывы о различных произведениях (фильмы, книги, музыки)
Проект аккумулирует отзывы пользователей о произведениях.
Произведения в свою очередь делятся на категории, жанры.
У пользователей есть разные уровни доступа:
администратор, модератор, аутентифицированный пользователь, посетитель.
- Пользователь отправляет запрос с параметрами email и username на /auth/email/.
- YaMDB отправляет письмо с кодом подтверждения (confirmation_code) на адрес email .
- Пользователь отправляет запрос с параметрами email и confirmation_code на /auth/token/, в ответе на запрос ему приходит token (JWT-токен).
Через эндпоинт /api/v1/titles/{title_id}/reviews/ Зарегистрированные пользователи могут оставить к произведениям отзывы с оценкой в диапазоне от одного до десяти. На одно произведение пользователь может оставить только один отзыв. С помощью пользовательских оценок формируется усреднённая оценка произведения. Читать отзывы могут все посетители.
Через эндпоинт /api/v1/titles/{title_id}/reviews/{review_id}/comments/ Зарегистрированные пользователи на отзывы могут оставлять комментарии. Читать комментарии могут все посетители.
Более подробная документация доступна по эндопинту /redoc/
- проект написан Python с помощью фреймворка Django REST Framework
- аутентификация реализована с помощью Simple JWT.
◾ Клонируйте репозиторий и перейти в него
◾ Установите и активируйте виртуальное окружение
◾ Установите зависимости из файла requirements.txt :
pip install -r requirements.txt
◾ В папке с файлом manage.py выполните миграции:
python manage.py migrate
◾ Запустите проект:
python manage.py runserver
Проект выполнен в рамках командной работы на Яндекс Практикум.
Задачи были распределены следующим образом:
-
Антон Денисов — реализация управления пользователями: система регистрации и аутентификации, права доступа, работу с токеном, систему подтверждения через e-mail.
-
Александр Телепин — реализация работы с отзывами, системой рейтингов и комментариями: описание моделей, представления, настройка эндпойнтов и определение прав доступа для запросов.
-
Александр Дзюба — реализация работы с произведениями, категориями и жанрами: описание моделей, представления и настройка эндпойнтов и определение прав доступа для запросов.