Skip to content

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

Notifications You must be signed in to change notification settings

Hastred45/foodgram-project-react

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Foodgram React

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

Описание

Сервис, в котором пользователи могут публиковать рецепты, добавлять чужие рецепты в избранное и подписываться на публикации других авторов. Также у пользователей есть возможность создавать список продуктов, которые нужно купить для приготовления выбранных блюд, и загружать его в формате PDF.

В рамках учебного проекта был разработан backend сервиса и настроен CI/CD.

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

  1. Скопируйте из репозитория файлы, расположенные в директории infra:
    • docker-compose.yml
    • nginx.conf
  2. На сервере создайте директорию infra;
  3. Поместите в неё файлы:
    • docker-compose.yml
    • nginx.conf
    • .env (пустой)
  4. Файл .env должен быть заполнен следующими данными:
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 Django python manage.py makemigrations
docker-compose exec Django python manage.py migrate
docker-compose exec Django python manage.py collectstatic --no-input
  1. Для создания суперпользователя, выполните команду:
docker-compose exec Django python manage.py createsuperuser
  1. Для добавления ингредиентов в базу данных, выполните команду:
docker-compose exec Django python manage.py add_data ingredients.csv tags_ingr_ingredient

После выполнения этих действий проект будет запущен в трех контейнерах (Django, PostgreSQL, nginx) и доступен по адресам:

  • Главная страница: http://<ip-адрес>/recipes/
  • API проекта: http://<ip-адрес>/api/
  • Admin-зона: http://<ip-адрес>/admin/
  1. Теги вручную добавляются в админ-зоне в модель Tags;
  2. Проект запущен и готов к регистрации пользователей и добавлению рецептов.

Автор

Sergey Osetorov

[email protected]

About

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

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages