- Информация про проект
- Ссылка на развернутый проект
- Установка Docker
- Клонирование проекта
- Инструкция по переменным окружения .env
- Команды управления проектом
- Используемые технологии
- Текущий статус проекта в Github actions workflow
- Информация об авторах
API_YaMDb – это то REST API сервис, созданный в рамках программы Yandex.Praktikum -> Python Backend Development, который позволяет:
- Cобирать отзывы (Review) пользователей на произведения (Title).
- Вести список категорий (Category) произведений может быть расширен.
- Присвоить жанр (Genre) произведению из списка предустановленных (новые жанры может создавать администратор).
- Пользователям оставить текстовые отзывы (Review) и
- Выставлять произведению рейтинг (оценку в диапазоне от одного до десяти).
- На основании пользовательских рейтингов определять среднюю оценка произведения.
- Пользователям добавлять комментарии (Comments) к отзывам.
- За счет кастомной user-модели назначать различные пользовательские роли (Role).
Проект развернут благодаря гранту Yandex на облачном сервере Yandex.Cloud и доступен по адресу:
vetrium.ru:
Для запуска контейнирезированного проекта необходим Docker Engine и Docker compose. Инструкции по установке:
Для запуска проекта на компьютере необходимы:
- Python & venv
- Git
- Docker Engine & Docker Compose
- Telegram bot credentials
- Склонируйте репозиторий на локальную машину:
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
.................