Skip to content

link75/api_yamdb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Проект YaMDb (API)

YaMDb

YaMDb - это онлайн-платформа для сбора отзывов пользователей на различные произведения искусства, такие как фильмы, музыка и книги. На сайте можно оставить отзыв на любое произведение, которое вы хотите, и другие пользователи могут прочитать и оценить ваш отзыв.

Однако, в отличие от других платформ для отзывов, на YaMDb нет возможности просмотра или прослушивания самих произведений. Вместо этого, пользователи могут только оставлять отзывы на основе своего личного опыта и впечатлений.

Возможности API YaMDb

  1. Регистрация нового пользователя и получение JWT-токена
  2. Получение списка всех категорий, добавление и удаление категорий
  3. Получение списка всех жанров, добавление и удаление жанров
  4. Получение списка всех произведений, добавление, частичное обновление информации и удаление произведения
  5. Получение списка всех отзывов, добавление, получение отзыва по id, частичное обновление и удаление отзыва
  6. Получение списка всех комментариев к отзыву, добавление, получение, частичное обновление и удаление комментария к отзыву
  7. Работа с пользователями (получение списка всех пользователей, добавление пользователя, получение, изменение и удаление пользователя по username, получение и изменение данных своей учетной записи)

Технологии, используемые при разработке

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

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

payload

{
  "email": "user@example.com",
  "username": "string"
}

URL-адрес для обращения (метод POST)

/api/v1/auth/signup/

Получение JWT-токена

payload

{
  "username": "string",
  "confirmation_code": "string"
}

URL-адрес для обращения (метод POST)

/api/v1/auth/token/

Получение списка всех произведений

URL-адрес для обращения (метод GET), доступен без токена.

/api/v1/titles/

Пример ответа сервера (HTTP_200_OK)

{
  "count": 0,
  "next": "string",
  "previous": "string",
  "results": [
    {
      "id": 0,
      "name": "string",
      "year": 0,
      "rating": 0,
      "description": "string",
      "genre": [
        {
          "name": "string",
          "slug": "string"
        }
      ],
      "category": {
        "name": "string",
        "slug": "string"
      }
    }
  ]
}

Подробная документация к API проекта YaMDb расположена по адресу:

/redoc/

Для "развертывания" проекта локально потребуется

  1. Клонировать репозиторий
git clone <адрес_репозитория>
  1. Создать виртуальное окружение и установить требуемые зависимости
python -m venv venv
pip install -r requirements.txt
  1. Выполнить миграции
python manage.py migrate
  1. Загрузить данные из CSV в базу (при необходимости)
python manage.py import_csv
  1. Запустить сервер-разработки (встроенный в Django веб-сервер) при помощи команды:
python manage.py runserver

Авторы проекта

Студенты сервиса онлайн-образования Яндекс Практикум базового курса "Python-разработчик":

About

api_yamdb

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •