/infra_sp2

infra_sp2

Primary LanguagePython

API_YAMDB

REST API проект для сервиса YaMDb — сбор отзывов о фильмах, книгах или музыке.

Описание

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

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

Все описанное ниже относится к ОС Linux. Клонируем репозиторий и переходим в него:

git clone https://github.com/themasterid/infra_sp2
cd infra_sp2
cd api_yamdb

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

python3 -m venv venv
source /venv/bin/activate (source /venv/Scripts/activate - для Windows)
python -m pip install --upgrade pip

Ставим зависимости из requirements.txt:

pip install -r requirements.txt

Переходим в папку с файлом docker-compose.yaml:

cd infra

Поднимаем контейнеры (infra_db_1, infra_web_1, infra_nginx_1):

docker-compose up -d --build

Выполняем миграции:

docker-compose exec web python manage.py makemigrations reviews
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

Создаем дамп базы данных (нет в текущем репозитории):

docker-compose exec web python manage.py dumpdata > dumpPostrgeSQL.json

Останавливаем контейнеры:

docker-compose down -v

Шаблон наполнения .env (не включен в текущий репозиторий) расположенный по пути infra/.env

DB_ENGINE=django.db.backends.postgresql
DB_NAME=postgres
POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres
DB_HOST=db
DB_PORT=5432

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

Документация доступна по эндпойнту: http://localhost/redoc/