Skip to content

TLS228/api_yamdb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

94 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Проект API YaMDb

API YaMDb собирает отзывы пользователей на различные произведения такие как фильмы, книги и музыка.

Описание проекта:

API YaMDb позволяет работать со следующими сущностями:

  • JWT-токен (Auth): отправить confirmation_code на переданный email, получить JWT-токен в обмен на email и confirmation_code;
  • Пользователи (Users): получить список всех пользователей, создать пользователя, получить пользователя по username, изменить данные пользователя по username, удалить пользователя по username, получить данные своей учётной записи, изменить данные своей учётной записи;
  • Произведения (Titles), к которым пишут отзывы: получить список всех объектов, создать произведение для отзывов, информация об объекте, обновить информацию об объекте, удалить произведение. пользователя по username, получить данные своей учётной записи, изменить данные своей учётной записи;
  • Категории (Categories) произведений: получить список всех категорий, создать категорию, удалить категорию;
  • Жанры (Genres): получить список всех жанров, создать жанр, удалить жанр;
  • Отзывы (Review): получить список всех отзывов, создать новый отзыв, получить отзыв по id, частично обновить отзыв по id, удалить отзыв по id;
  • Комментарии (Comments) к отзывам: получить список всех комментариев к отзыву по id, создать новый комментарий для отзыва, получить комментарий для отзыва по id, частично обновить комментарий к отзыву по id, удалить комментарий к отзыву по id.

Участники проекта:

Командиров Богдан - управление пользователями (Auth и Users): система регистрации и аутентификации, права доступа, работа с токеном, система подтверждения e-mail, поля;

Забавин Павел - категории (Categories), жанры (Genres) и произведения (Titles): модели, view и эндпойнты для них;

Малумашвили Никита - тимлид, отзывы (Review) и комментарии (Comments): модели и view, эндпойнты, права доступа для запросов. Рейтинги произведений.

Стек технологий:

phyton django django rest framework sqlite

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

  • Клонировать репозиторий, перейти в директорию с проектом:
git clone git@github.com:TLS228/api_yamdb.git
  • Установить виртуальное окружение, активировать его:
cd api_yamdb
python3 -m venv venv
source venv/bin/activate
python3 -m pip install --upgrade pip
  • Перейти в директорию с приложением api_yamdb, установить зависимости:
pip install -r requirements.txt
  • Выполнить миграции:
cd api_yamdb
python3 manage.py migrate
  • Запустить проект:
python3 manage.py runserver
  • Импорт БД из csv файла:
python3 manage.py import_data

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

Content type:

application/json

request samples №1:

http://127.0.0.1:8000/api/v1/categories/

response samples №1:

{
"count": 0,
"next": "string",
"previous": "string",
"results": [
    {}
  ]
}

request samples №2:

http://127.0.0.1:8000/api/v1/titles/

payload №2:

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

response samples №2:


{
    "id": 0,
    "name": "string",
    "year": 0,
    "rating": 0,
    "description": "string",
    "genre": [
    + {...}
    ],
    "category": {
    "name": "string",
    "slug": "^-$"
    }
}

About

api_yamdb

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages