Skip to content

YauheniSA/foodgram-project-react

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

workflow badge

FOODGRAM

Описание

Проект представляет собой сайт на основе API для публикаций рецептов

Проект доступен по ссылке: http://158.160.36.188/

Стек технологий

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

Авторы

Евгений Семашкевич. [email protected]

Как запустить backend проекта локально:

Ссылка на скачивание проекта:

[email protected]:YauheniSA/foodgram-project-react.git
python -m venv venv

Cоздать и активировать виртуальное окружение:

python -m venv venv
source venv/scripts/activate

Установить зависимости из файла requirements.txt:

python -m pip install --upgrade pip
pip install -r requirements.txt

Выполнить миграции:

python3 manage.py migrate

Если надо выполнить импорт из существующих csv-файлов:

python manage.py load_ingredients

Запустить проект:

python3 manage.py runserver

После этого api для тестирования будет доступно по ссылке

http://localhost/api/

Проверка работоспособности и функционала по ссылке:

http://localhost/admin/ 

Работа с API:

Документация для работы с api доступна локально по ссылке: POST http://localhost/api/docs/

Запуск сервиса на сервере

Ссылка на скачивание проекта:

[email protected]:YauheniSA/foodgram-project-react.git

Скопируйте на сервер файлы docker-compose.yml и nginx.conf из папки infra/:

scp docker-compose.yml nginx.conf username@IP:/home/username/

Установите docker и docker-compose на сервер:

sudo apt install curl                                   
sudo apt install docker.io                                            
sudo apt install docker-compose   

В корневой папке проекта необходимо создать .env файл со следующми переменными:

SECRET_KEY -  Ключ Django проекта settings.py
DOCKER_USERNAME -  Имя пользователя DockerHub
DOCKER_PASSWORD - Пароль DockerHub
HTELEGRAM_TO - ID получателя телеграм сообщения
TELEGRAM_TOKEN - токен бота для рассылки
DB_ENGINE - django.db.backends.postgresql
DB_NAME - postgres
POSTGRES_USER - postgres
POSTGRES_PASSWORD - postgres
DB_HOST  - db
DB_PORT - 5432

Сборка образа и запуск контейнеров:

sudo docker-compose up -d --build

Выполнение миграций:

sudo docker compose exec backend python manage.py migrate

Создание суперпользователя:

sudo docker compose exec backend python manage.py createsuperuser

Наполнение базы игредиентами:

sudo docker compose exec backend python manage.py load_ingredients

Остановка контейнеров:

sudo docker-compose stop

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

sudo docker-compose down -v

About

Foodgram project template

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published