Сервис FoodGram позволяет пользователям публиковать рецепты различных блюд, с которыми может ознакомиться любой желающий. Реализована возможность подписываться на авторов рецептов и добавлять понравившиеся блюда в «Избранное». Кроме того, пользователи имеют возможность составить «Корзину покупок». В ней будет сформирован список ингредиентов, необходимых для приготовления выбранных блюд, который можно скачать перед походом в продуктовый магазин
- Python
- Django
- Django Rest Framework
- PostgresQL
- Docker
Убедитесь, что у вас установлены Docker и docker-compose.
Клонировать репозиторий:
git clone https://github.com/AntonLukin1986/foodgram-react
Перейти в директорию с файлом docker-compose.yaml:
cd infra/
Создать .env файл по следующему шаблону:
SECRET_KEY=1a2b3c # секретный ключ джанго-проекта (установите свой)
DB_ENGINE=django.db.backends.postgresql
DB_NAME=postgres
POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres # пароль для подключения к БД (установите свой)
DB_HOST=database
DB_PORT=5432
ALLOWED_HOSTS=localhost (добавьте необходимые хосты через пробел)
Выполнить команду:
sudo docker-compose up -d
Далее необходимо выполнить миграции, создать суперпользователя и собрать статику, выполнив по очереди следующие команды:
sudo docker-compose exec backend python manage.py migrate
sudo docker-compose exec backend python manage.py createsuperuser
sudo docker-compose exec backend python manage.py collectstatic --no-input
Ингредиенты для заполнения базы данных расположены в директории data контейнера backend. Там же находится скрипт csv_to_sqlite.py для заполнения базы данных SQLite3.
sudo docker-compose exec backend python data/csv_to_sqlite.py
Локально доступна по адресу: http://localhost/api/docs/
На работающем сайте: документация
Ознакомиться с запущенным проектом можно по ссылке
Антон Лукин
GitHub
[email protected]