Сервис, в котором пользователи могут публиковать рецепты, добавлять чужие рецепты в избранное и подписываться на публикации других авторов. Также у пользователей есть возможность создавать список продуктов, которые нужно купить для приготовления выбранных блюд, и загружать его в формате PDF.
В рамках учебного проекта был разработан backend сервиса и настроен CI/CD.
- Скопируйте из репозитория файлы, расположенные в директории infra:
- docker-compose.yml
- nginx.conf
- На сервере создайте директорию infra;
- Поместите в неё файлы:
- docker-compose.yml
- nginx.conf
- .env (пустой)
- Файл .env должен быть заполнен следующими данными:
SECRET_KEY=<КЛЮЧ>
DB_ENGINE=django.db.backends.postgresql
DB_NAME=<ИМЯ БАЗЫ ДАННЫХ>
POSTGRES_USER=<ИМЯ ЮЗЕРА БД>
POSTGRES_PASSWORD=<ПАРОЛЬ БД>
DB_HOST=db
DB_PORT=5432
- В директории 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
- Для создания суперпользователя, выполните команду:
docker-compose exec Django python manage.py createsuperuser
- Для добавления ингредиентов в базу данных, выполните команду:
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/
- Теги вручную добавляются в админ-зоне в модель Tags;
- Проект запущен и готов к регистрации пользователей и добавлению рецептов.
Sergey Osetorov