Предварительное описание. Проект дорабатывается, во время второго этапа проверки примет финальный вид. Команды могут измениться.
"Продуктовый помощник" (Foodgram)
Описание:
На этом сервисе пользователи смогут публиковать рецепты, подписываться на публикации других пользователей, добавлять понравившиеся рецепты в список «Избранное», а перед походом в магазин скачивать сводный список продуктов, необходимых для приготовления одного или нескольких выбранных блюд. В мою задачу входила разработка backend-части проекта(написание API).
Технологии:
Для запуска на собственном сервере
- Скопируйте из репозитория файлы, расположенные в директории infra:
- docker-compose.yml
- nginx.conf
- На сервере создайте директорию foodgram;
- В директории foodgram создайте директорию infra и поместите в неё файлы:
- docker-compose.yml
- nginx.conf
- .env (пустой)
- Файл .env должен быть заполнен следующими данными(исходя из того, что используется PostegreSQL):
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 backend python manage.py makemigrations
docker-compose exec backend python manage.py migrate
docker-compose exec backend python manage.py collectstatic --no-input
- Для создания суперпользователя, выполните команду:
docker-compose exec backend python manage.py createsuperuser
- Для добавления ингредиентов в базу данных, выполните команду:
С проектом поставляются данные об ингредиентах.
Заполнить базу данных ингредиентами можно выполнив следующую команду из папки "./infra/":
docker-compose exec backend python manage.py get_of_ingredients --path data/
- Теги вручную добавляются в админ-зоне в модель Tags;
адрес сервера: http://158.160.23.100 Админ по классике admin admin