Sprint_16 Django-app workflow

Содержание

  1. Информация про проект
  2. Ссылка на развернутый проект
  3. Установка Docker
  4. Клонирование проекта
  5. Инструкция по переменным окружения .env
  6. Команды управления проектом
  7. Используемые технологии
  8. Текущий статус проекта в Github actions workflow
  9. Информация об авторах

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

API_YaMDb – это то REST API сервис, созданный в рамках программы Yandex.Praktikum -> Python Backend Development, который позволяет:

  • Cобирать отзывы (Review) пользователей на произведения (Title).
  • Вести список категорий (Category) произведений может быть расширен.
  • Присвоить жанр (Genre) произведению из списка предустановленных (новые жанры может создавать администратор).
  • Пользователям оставить текстовые отзывы (Review) и
  • Выставлять произведению рейтинг (оценку в диапазоне от одного до десяти).
  • На основании пользовательских рейтингов определять среднюю оценка произведения.
  • Пользователям добавлять комментарии (Comments) к отзывам.
  • За счет кастомной user-модели назначать различные пользовательские роли (Role).

Ссылка на проект

Проект развернут благодаря гранту Yandex на облачном сервере Yandex.Cloud и доступен по адресу:

vetrium.ru:

Установка Docker

Для запуска контейнирезированного проекта необходим Docker Engine и Docker compose. Инструкции по установке:

-Docker Engine

-Docker Compose

Клонирование проекта

Для запуска проекта на компьютере необходимы:

  • Python & venv
  • Git
  • Docker Engine & Docker Compose
  • Telegram bot credentials
  1. Склонируйте репозиторий на локальную машину:
git clone git@github.com:EvgeniyPaskin/yamdb_final.git

Установите и активируйте виртуальное окружение.

Остановите службу ngnix (если запущена).

sudo systemctl stop nginx 

Скопируйте файлы docker-compose.yaml и nginx/default.conf из проекта на сервер в home/<ваш_username>/docker-compose.yaml и home/<ваш_username>/nginx/default.conf соответственно.

Добавьте в Secrets GitHub Actions переменные окружения для работы базы данных и Django в соответствии с инструкцией

Инструкция по заполнению переменных окружения

Переменные окружения ожидаются в .env файле в соответствии с шаблоном template.env

Команды управления проектом

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

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 collectstatic --no-input

Создание суперпользователя:

docker-compose exec web python manage.py createsuperuser

Наполнение БД начальными данными (фикстуры):

docker-compose exec web python manage.py loaddata dump.json

Остановка приложения:

docker-compose stop

Используемые технологии

Python Django DjangoREST Nginx Postgres Docker

Статус проекта

Sprint_16 Django-app workflow

Над проектом работали

.................