😎 Тимлид - Первый разработчик: Влад
😎 Второй разработчик: Ринат
😎 Третий разработчик: Ден
- Бэкенд проекта и API для него.
-
Проект YaMDb собирает отзывы пользователей на различные произведения.
-
Произведения делятся на категории, им может быть присвоен жанр из списка предустановленных.
-
Пользователи могут оставлять к произведениям текстовые отзывы и комментарии к ним, ставить оценку.
-
Из пользовательских оценок формируется рейтинг (на одно произведение пользователь может оставить только один отзыв).
-
Добавлять отзывы, комментарии и ставить оценки могут только аутентифицированные пользователи.
Клонировать репозиторий и перейти в него в командной строке:
git clone git@github.com:Den4u/api_yamdb.git
cd api_yamdb
Cоздать и активировать виртуальное окружение:
python -m venv venv
source venv/Scripts/activate
Установить зависимости из файла requirements.txt:
python -m pip install --upgrade pip
pip install -r requirements.txt
Выполнить миграции:
python manage.py migrate
Запустить проект:
python manage.py runserver
-
Пользователь отправляет POST-запрос с параметрами email и username на эндпоинт /api/v1/auth/signup/.
-
Сервис YaMDB отправляет письмо с кодом подтверждения (confirmation_code) на указанный адрес email.
-
Пользователь отправляет POST-запрос с параметрами username и confirmation_code на эндпоинт /api/v1/auth/token/, в ответе на запрос ему приходит token (JWT-токен).
В результате пользователь получает токен и может работать с API проекта, отправляя этот токен с каждым запросом. После регистрации и получения токена пользователь может отправить PATCH-запрос на эндпоинт /api/v1/users/me/ и заполнить поля в своём профайле (описание полей — в документации).
-
Пользователей создаёт администратор — через админ-зону сайта или через POST-запрос на специальный эндпоинт api/v1/users/ (описание полей запроса для этого случая есть в документации). При создании пользователя не предполагается автоматическая отправка письма пользователю с кодом подтверждения.
-
После этого пользователь должен самостоятельно отправить свой email и username на эндпоинт /api/v1/auth/signup/ , в ответ ему должно прийти письмо с кодом подтверждения.
-
Далее пользователь отправляет POST-запрос с параметрами username и confirmation_code на эндпоинт /api/v1/auth/token/, в ответе на запрос ему приходит token (JWT-токен), как и при самостоятельной регистрации.