Foodgram - сайт для публикации рецептов. Пользователи могут создавать свои рецепты, читать рецепты других пользователей, подписываться на интересных авторов, добавлять лучшие рецепты в избранное, а также создавать список покупок и загружать его
Склонировать репозиторий на локальный компъютер:
git clone [email protected]:huli-net/foodgram-project-react.git
cd foodgram-project-react
Cоздать и активировать виртуальное окружение:
python -m venv env
source env/bin/activate
Cоздайте файл .env в директории /infra/ с содержанием:
SECRET_KEY=секретный ключ django
DB_ENGINE=django.db.backends.postgresql
DB_NAME=postgres
POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres
DB_HOST=db
DB_PORT=5432
Перейти в директирию с файлом requirements.txt и установить зависимости
cd backend/foodgram
pip install -r requirements.txt
Выполнить миграции:
python manage.py migrate
Запустить сервер:
python manage.py runserver
Установите Docker.
- Параметры запуска описаны в файлах docker-compose.yml и nginx.conf которые находятся в директории infra/. При необходимости добавьте/измените адреса проекта в файле nginx.conf
Запустите docker compose:
docker-compose up -d --build
После сборки появляются 3 контейнера:
контейнер базы данных db
контейнер приложения backend
контейнер web-сервера nginx
Примените миграции:
docker-compose exec backend python manage.py migrate
Загрузите ингредиенты:
docker-compose exec backend python manage.py load_ingrs
Загрузите теги:
docker-compose exec backend python manage.py load_tags
Создайте администратора:
docker-compose exec backend python manage.py createsuperuser
Соберите статику:
docker-compose exec backend python manage.py collectstatic --noinput
- Готовый сайт доступен по ссылке: http://51.250.16.28
- API документация доступна по ссылке (создана с помощью redoc): http://51.250.16.28/api/docs/
Лосев Р.Р. https://github.com/huli-net - Python разработчик. Разработал бэкенд и деплой для проекта Foodgram. Команда Яндекс.Практикум - Фронтенд для сервиса Foodgram.