Skip to content

simatheone/Foodgram-api-project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Foodgram Project foodgram_workflow

Оглавление


Проект можно посмотреть тут foodgram.

Для входа под админом:

login: admin@admin.ru
password: admin

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

🐍 Python 3.8, 🖥️ Django 4.0.4, 🔄 Django Rest Framework 3.13.1,

🚢 Docker 3.8, 🖌️ Nginx 1.21.3, 📚 Postgres 13.0, ☁️ YandexCloud (server)


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

Приложение «Продуктовый помощник»: сайт, на котором пользователи могут публиковать рецепты, добавлять чужие рецепты в избранное и подписываться на публикации понравившихся авторов.

Сервис «Список покупок» позволит пользователям создавать список продуктов, которые нужно купить для приготовления выбранных блюд.


Заполнение .env файла

В директории infra/ создайте .env файл и укажите значения для переменных окружения:

  • SECRET_KEY
  • SERVERNAMES
  • DB_ENGINE
  • DB_NAME
  • POSTGRES_USER
  • POSTGRES_PASSWORD
  • DB_HOST
  • DB_PORT
  • DEBUG
  • CSRF_TRUSTED_ORIGINS

Подсказки по заполнению .env файла можно найти в файлах infra/env.example и infra/env.template.


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

Для запуска проекта на локальной машине

Необходимо установить Docker на свою рабочую машину. Инструкцию можно найти на оффициальном сайте по Docker.

После установки Docker необходимо:

  1. Клонировать репозиторий:
git clone https://github.com/Simatheone/foodgram-project-react.git
  1. Перейти в директорию infra/:
cd infra/
  1. Создать .env файл и заполнить его в соответствии с env.example, env.template.
touch .env
  1. В терминали запустить docker-compose
docker-compose up -d
  1. Выполнить миграции, сборку статических файлов, заполнение базы исходными ингредиентами, создание супер пользователя:
docker-compose exec backend python manage.py migrate
docker-compose exec backend python manage.py collectstatic --no-input
docker-compose exec backend python manage.py csv_upload
docker-compose exec backend python manage.py createsuperuser

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

  1. Установить Docker на вашу вертуальную машину.

  2. Копировать локальные файлы docker-compose.yml и nginx.conf на виртуальную машину с помощью команд:

scp docker-compose.yml username@server_ip:/home/<username>/
scp nginx.conf <username>@<server_ip>:/home/<username>/
  1. Создать .env файл и заполнить его в соответствии с env.example, env.template.
touch .env
  1. Запустить проект командой:
sudo docker-compose up -d
  1. Выполнить миграции, сборку статических файлов, заполнение базы исходными ингредиентами, создание супер пользователя (пример для Ubuntu):
sudo docker-compose exec backend python manage.py migrate
sudo docker-compose exec backend python manage.py collectstatic --no-input
sudo docker-compose exec backend python manage.py csv_upload
sudo docker-compose exec backend python manage.py createsuperuser