Skip to content

usdocs/foodgram-project-react

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Проект «Продуктовый помощник» - Foodgram

Foodgram - Продуктовый помощник. Сервис позволяет публиковать рецепты, подписываться на публикации других пользователей, добавлять понравившиеся рецепты в список "Избранное", а перед походом в магазин - скачивать сводный список продуктов, необходимых для приготовления одного или нескольких выбранных блюд.

Технологический стек

Django-app workflow Python Django Django REST Framework PostgreSQL Nginx gunicorn Docker Docker-compose Docker Hub GitHub%20Actions Yandex.Cloud

Шаблон наполнения .env

# указываем, с какой БД работаем
DB_ENGINE=django.db.backends.postgresql
# имя базы данных
DB_NAME=
# логин для подключения к базе данных
POSTGRES_USER=
# пароль для подключения к БД
POSTGRES_PASSWORD=
# название сервиса (контейнера)
DB_HOST=
# порт для подключения к БД
DB_PORT=
# секретный ключ Django
SECRET_KEY=

Автоматизация развертывания серверного ПО

Для автоматизации развертывания ПО на боевых серверах используется среда виртуализации Docker, а также Docker-compose - инструмент для запуска многоконтейнерных приложений. Docker позволяет «упаковать» приложение со всем его окружением и зависимостями в контейнер, который может быть перенесён на любую Linux -систему, а также предоставляет среду по управлению контейнерами. Таким образом, для разворачивания серверного ПО достаточно чтобы на сервере с ОС семейства Linux были установлены среда Docker и инструмент Docker-compose.

Описание команд для запуска приложения в контейнерах

Для запуска проекта в контейнерах используем docker-compose : docker-compose up -d --build, находясь в директории (infra) с docker-compose.yaml

После сборки контейнеров выполяем:

# Выполняем миграции
docker-compose exec backend python manage.py migrate
# Создаем суперппользователя
docker-compose exec backend python manage.py createsuperuser
# Собираем статику со всего проекта
docker-compose exec backend python manage.py collectstatic --no-input
# Заполните базу тестовыми данными:
docker-compose exec backend python manage.py import_ingredients_from_csv
docker-compose exec backend python manage.py import_tags_from_csv 

Тестовые пользователи

Логин: superuser (суперюзер)
Email: superuser@user.com
Пароль: superuser

Логин: admin (администратор) Email: admin@user.com
Пароль: admin1234

Логин: user
Email: user@user.com
Пароль: user1234

Основные адреса:

Главная страница

Входа в панель администратора

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

Авторы

  • Андрей Балакин

Releases

No releases published

Packages

No packages published