Skip to content

Latest commit

 

History

History
101 lines (90 loc) · 4 KB

README.md

File metadata and controls

101 lines (90 loc) · 4 KB

Проект Reviews Service

Проект Reviews Service собирает отзывы пользователей на произведения. Сами произведения в проекте не хранятся, здесь нельзя посмотреть фильм или послушать музыку. Произведения делятся на категории

  • «Книги»
  • «Фильмы»
  • «Музыка» Список категорий может быть расширен (например, можно добавить категорию «Изобразительное искусство» или «Ювелирка»). Произведению может быть присвоен жанр из списка предустановленных (например, «Сказка», «Рок» или «Артхаус»). Добавлять произведения, категории и жанры может только администратор. Пользователи оставляют к произведениям текстовые отзывы и ставят произведению оценку в диапазоне от одного до десяти (целое число); из пользовательских оценок формируется усреднённая оценка произведения — рейтинг (целое число). На одно произведение пользователь может оставить только один отзыв. Пользователи могут оставлять комментарии к отзывам. Добавлять отзывы, комментарии и ставить оценки могут только аутентифицированные пользователи.

Авторы:

Стек:

Django 3.2, Simple JWT, Python 3.11, DRF, SQLite

Как запустить проект

Клонировать репозиторий и перейти в него в командной строке: git clone url.git

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

python3 -m venv env source env/bin/activate

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

python3 -m pip install --upgrade pip pip install -r requirements.txt

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

python3 manage.py migrate

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

python3 manage.py load_data

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

python3 manage.py runserver

Примеры

  • Регистрация пользователя
POST /auth/signup/
{
  "email": "[email protected]",
  "username": "string"
}
Response
{
  "email": "string",
  "username": "string"
}
  • Получение токена
POST /auth/token/
{
  "username": "string",
  "confirmation_code": "string"
}
Response
{
  "token": "string"
}
  • Получение списка произведений
GET /titles/
{
  "count": 0,
  "next": "string",
  "previous": "string",
  "results": [
    {
      "id": 0,
      "name": "string",
      "year": 0,
      "rating": 0,
      "description": "string",
      "genre": [
        {
          "name": "string",
          "slug": "string"
        }
      ],
      "category": {
        "name": "string",
        "slug": "string"
      }
    }
  ]
}

Подробная документация по API проекта: http://127.0.0.1:8000/redoc/