Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/andrey-666/infra_sp2

infra_sp2
https://github.com/andrey-666/infra_sp2

django djangorestframework docker dockercompose python3

Last synced: 8 days ago
JSON representation

infra_sp2

Awesome Lists containing this project

README

        

# Проект YaMDb

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

## Стек технологий:

- Python 3
- Django 2.2
- Django REST framework
- Docker
- Gunicorn
- nginx
- PostgreSQL
- Git

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

```git clone https://github.com/Andrey-666/infra_sp2.git```

```cd infra_sp2```

- Запуск контейнера:

```docker-compose up```

- Пересборка контейнера и запуск:

```docker-compose up -d --build```

- Заполнение базы данными:

```docker-compose exec web python manage.py makemigrations --noinput```

```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 dumpdata > fixtures.json```

- Документация API YaMDb по адресу:

http://127.0.0.1:8000/redoc/

### Об авторе
Кузнецов Андрей