Skip to content

Redrikh/api_yamdb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

70 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

YaMDb API

Проект YaMDb собирает отзывы пользователей на произведения. Через API администратор может создавать произведения для отзывов, категории и жанры произведений. Пользователям предоставляется возможность писать отзывы на произведения и комментировать их.

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

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

git clone https://github.com/Redrikh/api_yamdb

cd api_yamdb

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

python -m venv venv

source venv/scripts/activate

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

python -m pip install --upgrade pip

pip install -r requirements.txt

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

python manage.py migrate

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

python manage.py runserver

Пользовательские роли

Anonymous
Может просматривать описания произведений, читать отзывы и комментарии.

User
Может читать всё, как и Аноним, может публиковать отзывы и ставить оценки произведениям (фильмам/книгам/песенкам), может комментировать отзывы; может редактировать и удалять свои отзывы и комментарии, редактировать свои оценки произведений. Эта роль присваивается по умолчанию каждому новому пользователю.

Moderator
Те же права, что и у Аутентифицированного пользователя, плюс право удалять и редактировать любые отзывы и комментарии.

Admin
Полные права на управление всем контентом проекта. Может создавать и удалять произведения, категории и жанры. Может назначать роли пользователям

Суперюзер Django
Обладет правами администратора

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

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

Создание категории

POST /api/v1/categories/

{
    "name": "string",
    "slug": "string"
}

Добавление произведения

GET /api/v1/titles/

{
  "name": "string",
  "year": 0,
  "description": "string",
  "genre": [
    "string"
  ],
  "category": "string"
}

Добавление нового отзыва

GET /api/v1/titles/

{
  "text": "string",
  "score": 1
}

Используемые технологии

  • Python
  • Django Rest Framework
  • Joser
  • Simple JWT

Автор

Скворцов Евгений, Родителев Андрей, Кожевников Алексей

About

api_yamdb

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •