Skip to content

Продуктовый помощник, на котором можно размещать свои рецепты и собирать список покупок

Notifications You must be signed in to change notification settings

antonata-c/foodgram-project-react

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Foodgram

Описание:

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

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

  • Python 3.10
  • Django
  • Django REST Framework
  • Gunicorn
  • Nginx
  • PostgreSQL
  • Docker
  • Docker Compose
  • Github Actions

Посетить сайт можно здесь

А найти документацию к API здесь

Подготовка

  • Установите докер и клонируйте репозиторий
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh ./get-docker.sh
git clone [email protected]:antonata-c/foodgram-project-react.git
cd foodgram-project-react
  • Создайте файл .env, в котором перечислите все переменные окружения, пример находится в файле .env.example

Развертывание на удаленном сервере

  • Подключитесь к удаленному серверу и создайте директорию foodgram-project-react
ssh -i path_to_ssh_key/ssh_key_filename username@ip_address
mkdir foodgram-project-react
  • Установите Docker Compose
sudo apt update
sudo apt install curl
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo apt install docker-compose 
  • В директории infra выполните команду для запуска Docker Compose в режиме демона и выполнения необходимых операций с базой данных
sudo docker compose -f docker-compose.production.yml up -d
sudo docker compose -f docker-compose.production.yml exec backend python manage.py migrate
sudo docker compose -f docker-compose.production.yml exec backend python manage.py load_json
sudo docker compose -f docker-compose.production.yml exec backend python manage.py collectstatic --noinput

Nginx

  • Установите и настройте веб- и прокси-сервер Nginx
sudo apt install nginx -y
sudo systemctl start nginx
sudo nano /etc/nginx/sites-enabled/default 
  • Запишите новые настройки для блока server проекта foodgram:
server {
        server_name ваш_домен;

        server_tokens off;

        location / {
            proxy_set_header        Host $host;
            proxy_set_header        X-Real-IP $remote_addr;
            proxy_set_header        X-Forwarded-Proto $scheme;
            proxy_pass http://127.0.0.1:8080;
        }
}

  • Сохраните изменения, протестируйте и перезагрузите конфигурацию nginx
sudo nginx -t
sudo systemctl reload nginx

Проект готов к использованию!


Автор работы:

Антон Земцов

About

Продуктовый помощник, на котором можно размещать свои рецепты и собирать список покупок

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published