Skip to content

База данных о фильмах, книгах и музыке (Django Rest Framework)

Notifications You must be signed in to change notification settings

DmitriiBogomolov/yamdb

Repository files navigation

YamDB

Проект YaMDb собирает отзывы пользователей на произведения. Произведения делятся на категории: «Книги», «Фильмы», «Музыка».

  • ролевое разграничение доступа;
  • аутентификация на JWT токенах;
  • регистрация и авторизация с подтверждением по Email;
  • система комментариев и оценок;
  • документация на Redoc.

Алгоритм регистрации пользователей:

  1. Пользователь отправляет запрос с параметром email на /auth/email/.
  2. YaMDB отправляет письмо с кодом подтверждения (confirmation_code) на адрес email .
  3. Пользователь отправляет запрос с параметрами email и confirmation_code на /auth/token/, в ответе на запрос ему приходит token (JWT-токен).
  4. При желании пользователь отправляет PATCH-запрос на /users/me/ и заполняет поля в своём профайле (описание полей — в документации).

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

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

Как использовать

  1. Запускам docker-compose

     docker-compose up --build
    
  2. Остановка:

     docker-compose down -v
    
  3. Документация: localhost/redoc

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

  1. Django Rest Framework
  2. PostgreSQL
  3. Docker
  4. Gunicorn
  5. NGINX
  6. GitHub Actions

Лицензия

MIT

About

База данных о фильмах, книгах и музыке (Django Rest Framework)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published