Skip to content

Latest commit

 

History

History
113 lines (89 loc) · 3.67 KB

README.md

File metadata and controls

113 lines (89 loc) · 3.67 KB

"Апи проекта YaMDb" (api_yamdb)


1. Описание

Проект api_yamdb собирает отзывы пользователей на произведения, пользователи могут:

  • регистрироваться
  • оставлять отзывы о произведении и управлять ими (корректировать\удалять)
  • оставлять свои комментарии к отзывам других пользователей и управлять ими (корректировать\удалять)
  • просматривать отзывы других пользователей, рейтинг произведений.
  • подписываться на других пользователей

2. Установка

Перед запуском необходимо склонировать проект:

git clone git@github.com:juliana-str/api_yamdb.git
cd api_yamdb/

3. Создание виртуального окружения

Cоздать и активировать виртуальное окружение:

python -m venv venv
Linux: source venv/bin/activate
Windows: source venv/Scripts/activate

4. Команды для запуска

И установить зависимости из файла requirements.txt:

python3 -m pip install --upgrade pip
pip install -r requirements.txt
python3 manage.py makemigrations
python3 manage.py migrate
python3 manage.py runserver

Проект использует базу данных sqlite3.


5. Заполнение базы данных

С проектом поставляются данные о произведениях их категории и жанры.
Заполнить базу данных можно выполнив следующую команду из папки "./api_yamdb/":

python3 manage.py read_files

6. Примеры запросов к api

Аутентификация

  1. Отправить POST-запрос на добавление нового пользователя с параметрами email и username на эндпоинт /api/v1/auth/signup/.

Пример запроса:

{
  "email": "user@example.com",
  "username": "_kA+z@yAPiNz"
}
  1. YaMDB отправляет письмо с кодом подтверждения (confirmation_code) на адрес email.

  2. Отправить POST-запрос с параметрами username и confirmation_code на эндпоинт /api/v1/auth/token/, в ответе на запрос приходит token (JWT-токен).

Пример запроса:

{
  "username": "qpRy4yzhz",
  "confirmation_code": "string"
}
  1. При отправке запроcов передать токен в заголовке Authorization: Bearer <токен>.

7. Об авторе

Стрельникова Юлиана Сергеевна
Python-разработчик (Backend)
Россия, г. Санкт-Петербург
E-mail: julianka.str@yandex.ru
Telegram: @JulianaStr