Skip to content

🎦🖊️YAMDB - это API-сервис для сбора и добавления отзывов о различных произведениях: музыка, фильмы, книги(сами произведения там не хранятся)

Notifications You must be signed in to change notification settings

dasha2000vas/api_yamdb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

API YAMDB

🔍Описание:

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

API YAMDB* - интерфейс для взаимодействия c пользователем, позволяющий получать, создавать, удалять и изменять объекты в базе данных проекта.

LOGOTYPE


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

  1. Клонировать репозиторий и перейти в папку с ним:
git clone https://github.com/dasha2000vas/api_yamdb.git
cd api_yamdb
  1. Создать и активировать виртуальное окружение:
python -m venv venv
source venv/Scripts/activate
  1. Установить зависимости из файла requirements.txt:
pip install -r requirements.txt
  1. Перейти в папку с приложениями, выполнить миграции:
cd api_yamdb
python manage.py migrate
  1. Запустить проект на локальном сервере:
python manage.py runserver

▶️Примеры запросов:

Перед запуском учтите условия, описанные в примечании⬇️...

  1. Эндпоинт: http://127.0.0.1:8000/api/v1/auth/signup/. Метод запроса: POST
    Права доступа: Доступно без токена

    При передаче следующих данных:

    • "email": "string" (required),
    • "username": "string" (required)

    Вы получите ответ о создании нового пользователя:

    • "email": "string",
    • "username": "string"

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


  1. Эндпоинт: http://127.0.0.1:8000/api/v1/auth/token/. Метод запроса: POST
    Права доступа: Доступно без токена

    При передаче имени зарегистрированного пользователя и кода из письма:

    • "email": "string" (required),
    • "confirmation_code": "string" (required)

    Вам в ответе будет отправлен JWT Token, позволяющий авторизоваться:

    • "token": "string"

  1. Эндпоинт: http://127.0.0.1:8000/api/v1/titles/. Метод запроса: GET
    Права доступа: Доступно без токена

    В ответ вы получите список всех произведений, что имеются в базе данных. Опционально, можно параметризировать запрос фильтрацией и поиском по следующим полям: category (slug категории), genre (slug жанра), name (название), year(год выпуска).


  1. Эндпоинт: http://127.0.0.1:8000/api/v1/titles/ Метод запроса: POST.
    Права доступа: Администратор

    При передаче следующих данных в теле запроса:

    • "name": "string" (required),
    • "year": "integer" (required),
    • "description": "string",
    • "genre": "array of strings" (required),
    • "category": "string" (required)

    В базу будет добавлено новое произведение и придет ответ в виде:

    • "id": "integer",
    • "name": "string",
    • "year": "integer",
    • "rating": "integer",
    • "description": "string",
    • "genre": "Array of objects",
    • "category": "object"

  1. Эндпоинт: http://127.0.0.1:8000/api/v1/titles/{title_id}/reviews/{review_id}/. Метод запроса: GET
    Права доступа: Доступно без токена

    При передаче следующих данных в параметрах запроса:

    • "title_id": "integer" (required),
    • "review_id": "integer" (required)

    Вернется ответ с информацией о конкретном отзыве, оставленном на указанное произведение:

    • "id": "integer",
    • "text": "string" (required),
    • "author": "string",
    • "score": "integer" (required),
    • "pub_date": "datetime"

  1. Эндпоинт: http://127.0.0.1:8000/api/v1/titles/{title_id}/reviews/{review_id}/. Метод запроса: PATCH.
    Права доступа: Администратор, Модератор, Автор отзыва

    При передаче следующей информации в теле запроса:

    • "text": "string" (required),
    • "score": "integer" (required)

    Соответствующий отзыв будет изменен и вернется ответ в таком виде:

    • "id": "integer",
    • "text": "string" (required),
    • "author": "string",
    • "score": "integer" (required),
    • "pub_date": "datetime"

✏️Авторы

Имя GitHub
Александр Быньков ✔️
Дарья Василевская ✔️
Павел Нестеров ✔️

Примечание:

В данном руководстве приведены лишь некоторые запросы, доступные в проекте API YAMDB.

Чтобы увидеть полный список возможных запросов (эндпоинтов), Вы можете открыть полноценную документацию: для этого необходимо запустить проект на вашем компьютере и перейти по этому адресу.

About

🎦🖊️YAMDB - это API-сервис для сбора и добавления отзывов о различных произведениях: музыка, фильмы, книги(сами произведения там не хранятся)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages