На этом сервисе пользователи могут публиковать рецепты, подписываться на публикации других пользователей, добавлять понравившиеся рецепты в список «Избранное», а перед походом в магазин скачивать сводный список продуктов, необходимых для приготовления одного или нескольких выбранных блюд.
Клонировать репозиторий:
git clone [email protected]:iffilippov/foodgram-project-react.git
Создать infra/.env Пример заполнения infra/.env:
SECRET_KEY=Секретный_ключ
DEBUG=True
DB_ENGINE=django.db.backends.postgresql
DB_NAME=postgres
POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres
DB_HOST=db
DB_PORT=5432
Запустить docker-compose:
docker-compose up -d
Будут созданы и запущены в фоновом режиме необходимые для работы приложения контейнеры (foodgram-db, foodgram-backend, foodgram-frontend, foodgram-nginx).
Внутри контейнера foodgram-backend выполнить миграции, создать суперпользователя и собрать статику:
docker-compose exec foodgram-backend python manage.py migrate
docker-compose exec foodgram-backend python manage.py createsuperuser
docker-compose exec foodgram-backend python manage.py collectstatic --no-input
Клонируем проект
git clone [email protected]:iffilippov/foodgram-project-react.git
Добавляем файл infra/.env с настройками БД. Например:
SECRET_KEY=Секретный_ключ
DEBUG=True
DB_ENGINE=django.db.backends.postgresql
DB_NAME=postgres
POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres
DB_HOST=db
DB_PORT=5432
Переходим в папку с бэкендом. Создаем и активируем виртуальное окружение
cd .../foodgram-project-react/backend
python -m venv venv
source venv/Scripts/activate
Устанавливаем зависимости из файла requirements.txt
pip install -r requirements.txt
При необходимости создаем и выполняем миграции, заполняем базу ингредиентов, создаем суперпользователя
cd foodgram/
python manage.py makemigrations
python manage.py migrate
python manage.py import_csv
python manage.py createsuperuser
Запускаем проект
из папки infra выполняем
docker-compose up -d db
из папки frontend выполняем
npm i
npm run start
из папки foodgram выполняем
python manage.py runserver