Skip to content

opozing/foodgram-project-react

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

70 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Foodgram

http://62.84.114.162/ - Foodgram(Продуктовый помощник)

  • Протестировать готовый проект можно по ссылке http://62.84.114.162/admin/
  • login: admin
  • password: 75523616

Описание

Foodgram - сервис для публикации и обмена рецептами блюд и напитков. Для незарегестрированных пользователей доступны просмотр рецептов на главной странице, фильтрация рецептов по тегам и просмотр рецепта на отдельной странице. Авторизованные пользователи могут создавать / редактировать собственные рецепты, добавлять понравившиеся рецепты в список избранного. Также они могут просматривать страницы пользователей и подписываться на понравившихся авторов. Рецепты можно добавить в список покупок и выгрузить список необходимых ингредиентов в pdf формате.

Технологии

Python 3.7 Django 3.0.5

Установка

Проект собран в Docker и содержит четыре образа:

  • backend - образ бэка проекта
  • frontend - образ фронта проекта
  • postgres - образ базы данных PostgreSQL
  • nginx - образ web сервера nginx

В целях безопасности некоторые переменные должны быть вынесены в файл окружения .env. Создайте его самостоятельно, а при разворачивании проекта на сервере перенесите их в Github actions secrets. Полный перечень переменных с комментариями:

SECRET_KEY - секретный ключ для конкретной установки Django DB_ENGINE - используемая база данных (по умолчанию django.db.backends.postgresql) DB_HOST - название контейнера базы данных (по умолчанию db) DB_NAME - имя базы данных DB_PORT - порт для подключения к базе данных (по умолчанию 5432) DOCKER_PASSWORD - пароль Docker Hub DOCKER_USERNAME - логин Docker Hub HOST - IP-адрес вашего сервера PASSPHRASE - Если при создании ssh-ключа вы использовали фразу-пароль, то укажите ее POSTGRES_PASSWORD - пароль для подключения к базе данных POSTGRES_USER - логин для подключения к базе данных SSH_KEY - приватный ключ с компьютера, имеющего доступ к боевому серверу USER - имя пользователя для подключения к серверу

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

Проект разворачивается на сервере с ОС ubuntu 20.04. Не забудьте создать переменные окружения в Github actions secrets.

  • Установите Docker на ваш сервер:
sudo apt install docker.io
  • Установите Docker-compose:
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose 
  • Скопируйте на сервер файлы Docker-compose.yml и nginx.conf из папки infra-deploy/. Не забудьте указать свой ip в конфиге. Там-же создайте файл зависимостей .env

  • Запуск контейнеров выполняется командой:

sudo docker-compose up
  • После запуска контейнеров выполните команды в терминале:
docker-compose exec web python manage.py migrate --noinput
docker-compose exec web python manage.py collectstatic --no-input

Тесты

  • Создать суперпользователя вы можете командой:
docker-compose exec backend python manage.py createsuperuser

(Не забудьте команду "sudo", если проект развернут на сервере)

Авторы

Сергей

example workflow

About

Foodgram project template

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published