F

foodgram-project-react

Foodgram project template

Предварительное описание. Проект дорабатывается, во время второго этапа проверки примет финальный вид. Команды могут измениться.

"Продуктовый помощник" (Foodgram)

foodgram_workflow

Описание:

На этом сервисе пользователи смогут публиковать рецепты, подписываться на публикации других пользователей, добавлять понравившиеся рецепты в список «Избранное», а перед походом в магазин скачивать сводный список продуктов, необходимых для приготовления одного или нескольких выбранных блюд. В мою задачу входила разработка backend-части проекта(написание API).

Технологии:

Python Django

Для запуска на собственном сервере

  1. Скопируйте из репозитория файлы, расположенные в директории infra:
    • docker-compose.yml
    • nginx.conf
  2. На сервере создайте директорию foodgram;
  3. В директории foodgram создайте директорию infra и поместите в неё файлы:
    • docker-compose.yml
    • nginx.conf
    • .env (пустой)
  4. Файл .env должен быть заполнен следующими данными(исходя из того, что используется PostegreSQL):
SECRET_KEY=<КЛЮЧ>
DB_ENGINE=django.db.backends.postgresql
DB_NAME=<ИМЯ БАЗЫ ДАННЫХ>
POSTGRES_USER=<ИМЯ ПОЛЬЗВОАТЕЛЯ БД>
POSTGRES_PASSWORD=<ПАРОЛЬ БД>
DB_HOST=db
DB_PORT=5432
  1. В директории infra следует выполнить команды:
docker-compose up -d
docker-compose exec backend python manage.py makemigrations
docker-compose exec backend python manage.py migrate
docker-compose exec backend python manage.py collectstatic --no-input
  1. Для создания суперпользователя, выполните команду:
docker-compose exec backend python manage.py createsuperuser
  1. Для добавления ингредиентов в базу данных, выполните команду: С проектом поставляются данные об ингредиентах.
    Заполнить базу данных ингредиентами можно выполнив следующую команду из папки "./infra/":
docker-compose exec backend python manage.py get_of_ingredients --path data/
  1. Теги вручную добавляются в админ-зоне в модель Tags;

адрес сервера: http://158.160.23.100 Админ по классике admin admin