Skip to content

iliya12321/foodgram

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

84 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Foodrgam - продуктовый помощник

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

Python Django Django REST Framework PostgreSQL Nginx gunicorn docker GitHub%20Actions

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

Онлайн-сервис Foodgram («Продуктовый помощник») создан для начинающих кулинаров и опытных гурманов. В сервисе пользователи смогут публиковать рецепты, подписываться на публикации других пользователей, добавлять понравившиеся рецепты в список «Избранное», а перед походом в магазин скачивать в формате .txt сводный список продуктов, необходимых для приготовления одного или нескольких выбранных блюд.

Проект разворачивается в Docker контейнерах: backend-приложение API, PostgreSQL-база данных, nginx-сервер и frontend-контейнер.

Реализовано CI и CD проекта. При пуше изменений в главную ветку проект автоматические тестируется на соотвествие требованиям PEP8. После успешного прохождения тестов, на git-платформе собирается образ backend-контейнера Docker и автоматически размещается в облачном хранилище DockerHub. Размещенный образ автоматически разворачивается на боевом сервере вмете с контейнером веб-сервера nginx и базой данных PostgreSQL.

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

  • Python 3.7
  • Django 2.2
  • Djangorestframework 3.12
  • PostgreSQL
  • Docker

Развертывание на сервере:

  1. Установите на сервере docker и docker-compose.
  2. Выполните команду docker-compose up -d --buld.
  3. Выполните миграции docker-compose exec backend python manage.py migrate.
  4. Создайте суперюзера docker-compose exec backend python manage.py createsuperuser.
  5. Соберите статику docker-compose exec backend python manage.py collectstatic --no-input.
  6. Заполните базу ингредиентами docker-compose exec backend python manage.py load_ingredients.
  7. Для корректного создания рецепта через фронт, надо создать пару тегов в базе через админку.

Автор

Воробьев Илья