Онлайн-сервис 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
- Установите на сервере
docker
иdocker-compose
. - Выполните команду
docker-compose up -d --buld
. - Выполните миграции
docker-compose exec backend python manage.py migrate
. - Создайте суперюзера
docker-compose exec backend python manage.py createsuperuser
. - Соберите статику
docker-compose exec backend python manage.py collectstatic --no-input
. - Заполните базу ингредиентами
docker-compose exec backend python manage.py load_ingredients
. - Для корректного создания рецепта через фронт, надо создать пару тегов в базе через админку.
Воробьев Илья