Skip to content

Demiat/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 поддерживает регистрацию пользователей, аутентификацию через JWT-токены, а также CRUD-операции для отзывов, комментариев, категорий, жанров и произведений.


Основные возможности

  • Регистрация и аутентификация пользователей:

    • Регистрация нового пользователя.
    • Получение JWT-токена по коду подтверждения.
    • Управление профилем пользователя (для администраторов и суперпользователей).
  • Управление произведениями:

    • Создание, редактирование и удаление произведений.
    • Фильтрация произведений по жанрам, категориям, названию и году выпуска.
  • Отзывы и комментарии:

    • Создание, редактирование и удаление отзывов на произведения.
    • Создание, редактирование и удаление комментариев к отзывам.
  • Категории и жанры:

    • Создание, редактирование и удаление категорий и жанров.

Установка и запуск

  1. Клонируйте репозиторий:

    git clone https://github.com/Demiat/api_yamdb.git
    cd api_yamdb/
  2. Создайте и активируйте виртуальное окружение:

    python -m venv venv
    source venv/bin/activate  # Для Linux/MacOS
    venv\Scripts\activate     # Для Windows
  3. Установите зависимости:

    pip install -r requirements.txt
  4. Примените миграции:

    python manage.py migrate
  5. Импортируйте csv-файлы:

 python manage.py import_csv static/data/
  1. Запустите сервер:

    python manage.py runserver
  2. API будет доступен по адресу:

    Адрес api


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

Документация API и примеры запросов доступны в формате Redoc по адресу:

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


Throttling (ограничение частоты запросов)

API использует throttling для предотвращения злоупотреблений. Настройки по умолчанию:

  • Анонимные пользователи: 1000 запросов в день.
  • Аутентифицированные пользователи: 10000 запросов в день.
  • По умолчанию: 10 запросов в секунду.

Аутентификация и авторизация

  • JWT-токены: Для аутентификации используются JWT-токены. Токен можно получить, отправив запрос на /api/v1/auth/token/ с кодом подтверждения.
  • Роли пользователей:
    • Администратор: Может управлять пользователями, произведениями, категориями и жанрами.
    • Модератор: Может редактировать и удалять отзывы и комментарии.
    • Пользователь: Может оставлять отзывы и комментарии.

Авторы

About

api_yamdb

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages