Skip to content

Продуктовый помощник. Сайт для публикации рецептов.

Notifications You must be signed in to change notification settings

skarabey147/Recipe_hub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Recipe hub - Продуктовый помощник

example workflow

Стек технологий

Python Django Django REST Framework PostgreSQL Nginx gunicorn docker GitHub%20Actions Yandex.Cloud

Описание проекта

Foodgram это ресурс для публикации рецептов.
Пользователи могут создавать свои рецепты, читать рецепты других пользователей, подписываться на интересных авторов, добавлять лучшие рецепты в избранное, а также создавать список покупок и загружать его в pdf формате

Установка проекта локально

  • Склонировать репозиторий на локальную машину:
git clone https://github.com/skarabey147/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/
pip install -r requirements.txt
  • Выполните миграции:
python manage.py migrate
  • Запустите сервер:
python manage.py runserver

Запуск проекта в Docker контейнере

  • Установите Docker.

Параметры запуска описаны в файлах docker-compose.yml и nginx.conf которые находятся в директории infra/.
При необходимости добавьте/измените адреса проекта в файле nginx.conf

  • Запустите docker compose:
docker-compose up -d --build

После сборки появляются 3 контейнера:

  1. контейнер базы данных db
  2. контейнер приложения backend
  3. контейнер 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://project-foodgram.ddns.net/

Документация к API

API документация доступна по ссылке (создана с помощью redoc): http://project-foodgram.ddns.net/api/docs/

Авторы

Каракозов Е.В. - Python разработчик. Разработал бэкенд и деплой для сервиса Recipe hub.
Яндекс.Практикум Фронтенд для сервиса Foodgram.

About

Продуктовый помощник. Сайт для публикации рецептов.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published