/infra_sp2

infra_sp2

Primary LanguagePython

Infra_sp2

Описание

Проект infra собирает отзывы (Review) пользователей на произведения (Titles). Произведения делятся на категории: «Книги», «Фильмы», «Музыка». Список категорий (Category) может быть расширен администратором. Сами произведения в YaMDb не хранятся, здесь нельзя посмотреть фильм или послушать музыку. В каждой категории есть произведения: книги, фильмы или музыка. Например, в категории «Книги» могут быть произведения «Винни-Пух и все-все-все» и «Марсианские хроники», а в категории «Музыка» — песня «Давеча» группы «Насекомые» и вторая сюита Баха. Произведению может быть присвоен жанр (Genre) из списка предустановленных (например, «Сказка», «Рок» или «Артхаус»). Новые жанры может создавать только администратор. Благодарные или возмущённые пользователи оставляют к произведениям текстовые отзывы (Review) и ставят произведению оценку в диапазоне от одного до десяти (целое число); из пользовательских оценок формируется усреднённая оценка произведения — рейтинг (целое число). На одно произведение пользователь может оставить только один отзыв.

Стек

python version django version pillow version pytest version sorl-thumbnail version sorl-thumbnail version python version python version python version python version

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

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

git clone https://github.com/evencatt/infra_sp2.git
cd infra

Развернуть докер контэйнеры:

sudo docker-compose up

Выполнить миграции и собрать статику

docker-compose exec web python manage.py migrate
docker-compose exec web python manage.py createsuperuser
docker-compose exec web python manage.py collectstatic --no-input

Примеры использования api:

Получение произведений:

GET /api/v1/titles/

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

POST /api/v1/titles/

В параметрах передавать json

{
    "name": "Название произведения",
    "year": 1990,
    "description": "Описание произведения",
    "genre": [
    "fantasy"
    ],
    "category": "films"
}