Skip to content

API сервис оценки пользователями произведений с возможностью оставления отзывов

Notifications You must be signed in to change notification settings

MaxRadzey/api_yamdb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Проект «Проект YaMDb»

Содержание

Авторы

Описание

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

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

Пользователи оставляют к произведениям текстовые отзывы и ставят произведению оценку в диапазоне от одного до десяти; из пользовательских оценок формируется усреднённая оценка произведения — рейтинг. На одно произведение пользователь может оставить только один отзыв. Пользователи могут оставлять комментарии к отзывам. Добавлять отзывы, комментарии и ставить оценки могут только аутентифицированные пользователи.

Технологии

Как запустить проект:

Клонировать репозиторий и перейти в него в командной строке:

git clone [email protected]:MaxRadzey/api_yamdb.git
cd api_yamdb

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

python3 -m venv env
source env/bin/activate

Установить зависимости из файла requirements.txt:

python3 -m pip install --upgrade pip
pip install -r requirements.txt

Выполнить миграции:

python3 manage.py migrate

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

python3 manage.py runserver

Импорт БД Для импорта БД в проекте необходимо указать команду: Перед импортом необходимо убедиться, что БД пустая

python3 manage.py add_database

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

После локального запуска проекта документация будет доступна по адресу: http://127.0.0.1:8000/redoc/

Регистрация пользователей

Самостоятельная регистрация новых пользователей

  • Пользователь отправляет POST-запрос с параметрами email и username на эндпоинт /api/v1/auth/signup/.
  • Сервис YaMDB отправляет письмо с кодом подтверждения (confirmation_code) на указанный адрес email.
  • Пользователь отправляет POST-запрос с параметрами username и confirmation_code на эндпоинт /api/v1/auth/token/, в ответе на запрос ему приходит token (JWT-токен).

В результате пользователь получает токен и может работать с API проекта, отправляя этот токен с каждым запросом.

Создание пользователя администратором

Администратор создаёт пользователей через админ-зону сайта или через POST-запрос на специальный эндпоинт api/v1/users/ (описание полей запроса для этого случая есть в документации). При создании пользователя не предполагается автоматическая отправка письма пользователю с кодом подтверждения.

После этого пользователь должен самостоятельно отправить свой email и username на эндпоинт /api/v1/auth/signup/ , в ответ ему должно прийти письмо с кодом подтверждения.

Далее пользователь отправляет POST-запрос с параметрами username и confirmation_code на эндпоинт /api/v1/auth/token/, в ответе на запрос ему приходит token (JWT-токен), как и при самостоятельной регистрации.

Примеры запросов к API

http://127.0.0.1:8000/api/v1/categories/ - Получить список всех категорий
http://127.0.0.1:8000/api/v1/genres/ - Получить список всех жанров
http://127.0.0.1:8000/api/v1/titles/ - Получить список всех объектов
http://127.0.0.1:8000/api/v1/titles/{title_id}/reviews/ - Получить список всех отзывов
http://127.0.0.1:8000/api/v1/titles/{title_id}/reviews/{review_id}/comments/ - Получить список всех комментариев к отзыву по id
http://127.0.0.1:8000/api/v1/users/ - Получить список всех пользователей

About

API сервис оценки пользователями произведений с возможностью оставления отзывов

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages