Skip to content

sergey-xx/api_yamdb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Проект посвещенный различным художественным произведениям (Кино, Музыка, Книги)

Возможности:

  • Находить интересующие вас произведения
  • Писать отзывы и ставить оценки
  • Писать комментарии под отзывами

Разворачивание проекта.

  • Клонируйте репозиторий.
git clone [email protected]:sergey-xx/api_yamdb.git

Backend

(Windows)

В папке /backend создать виртуальное окружение:

> python -m venv venv

Активировать виртуальное окружение:

> source venv/Scripts/Activate

(Linux)

В папке /backend создать виртуальное окружение:

$ python3 -m venv venv

Активировать виртуальное окружение:

$ source venv/bin/activate

Далее

Установить зависимости:

$ pip install -r requirements.py

Выполнить миграции БД:

$ python manage.py migrate

Для доступа в админ-панель создайте супер-пользователя:

$ python manage.py createsuperuser

Запустить проект:

$ python manage.py runserver

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

После разворачивания проекта полная документация будет доступна по адресу

http://127.0.0.1:8000/redoc/

Заполнение базы

Для заполнения базы файлы CSV должны быть размещены в папке "data" и называться соответственно "category.csv", "comments.csv", "genre_title.csv", "genre.csv", "review.csv", "titles.csv", "users.csv". После этого необходимо перейти по адресу:

http://127.0.0.1:8000/import/

По окончанию импорта на странице появится надпись "Данные импортированы!"

Авторизация

Для получения полного доступа к сервису нужно авторизоваться.

Создание пользователей

Для создания пользователя необходимо на адрес:

http://127.0.0.1:8000/api/v1/auth/signup/

отправить подобный запрос:

{
"email": "[email protected]",
"username": "user"
}

Пользователь будет создан и вам на почту* придет код подтверждения для получения токена.

*Сейчас в проекте отправка писем настроена в тестовом режиме и письма сохраняются в папку "sent_emails"

Получение токена

Для получения токена необходимо на адрес:

http://127.0.0.1:8000/api/v1/auth/token/

отправить имя пользователя и токен:

{
"username": "string",
"confirmation_code": "string"
}

В ответ вам придет уникальный токен пользователя.

Авторы

Владислав Кузнецов

Сергей Мазилин

Алексей Деламарттер