Skip to content

AsmodaiP/yamdb_final

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Документация к API YaMDb (v1)

Описание проекта:

Проект YaMDb собирает отзывы пользователей на различные произведения сохранённые в базе данных (БД) проекта. Произведения делятся на категории: «Книги», «Фильмы», «Музыка» и т.д. Список категорий может быть расширен администратором (например, можно добавить категорию «Изобразительное искусство» или «Ювелирка»).

Система не хранит в своей БД YaMDb исходный контент, нельзя посмотреть фильм или послушать музыку.

Новые произведения могут вносить только администраторы, для рядовых пользователей данный функционал недоступен. Произведению может быть присвоен жанр из списка предустановленных (например, «Сказка», «Рок» или «Артхаус»). Новые жанры также может создавать только администратор.

Проект доступен по ссылке.

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

  1. Скопируйте проект
git clone https://github.com/Ahttps://github.com/AsmodaiP/infra_sp2  
  1. Создайте env-файл с переменными окружения и наполнить его по шаблону:
 SECRET_KEY=p&l%385148kslhtyn^##a1)ilz@4zqj=rq&agdol^##zgl9(vs
 DB_ENGINE=django.db.backends.postgresql
 DB_NAME=postgres
 POSTGRES_USER=postgres
 POSTGRES_PASSWORD=postgres
 DB_HOST=db
 DB_PORT=5432
 DEBUG=True
 ALLOWED_HOSTS=*
  1. Установить Docker (инструкция)
  2. Установить Docker Compose (инструкция)
  3. Перейдите в директорию infra и запустите Docker-compose
cd infra/
 docker-compose up 
  1. Выполните миграции, соберите статику создайте суперпользователя и загрузите тетовые данные:

    docker-compose exec web python manage.py migrate --noinput
    docker-compose exec web python manage.py createsuperuser
    docker-compose exec web python manage.py collectstatic --no-input
    docker-compose exec web python manage.py loaddata fixtures.json
    

Работа с эндпоинтами:

Краткое описание основных возможностей, за более подробной информацией обратитесь к /redoc/

Авторизация с применением JWT токена

Регистрация нового пользователя

Для получения JWT-токена необходимо отправить JSON запрос, содержащий имя пользователя и имя почтового ящика.

JSON запрос:

{
  "email": "string",
  "username": "string"
}

POST: /api/v1/auth/signup/

В письме придёт код подтверждения. Дальше необходимо необходимо отправить JSON запрос, содержащий код подтверждения:

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

POST: /api/v1/auth/token/

В ответ вы получите токен для доступа к сервису.

{
  "token": "string"
}

Вам будут доступны:

Авторами проекта являются: Дмитрий Перегуда, Сергей Жаров, Иван Осянин.

Были использованы следующие технологии: Django 3.05, Django Rest Framework 3.12.4, gunicorn 20.0.4, python 3.8.

yamdb_workflow

About

yamdb_final

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages