Skip to content

slapeach/foodgram-project-react

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

foodgram

Проект «Foodgram» - «Продуктовый помощник» - сайт, на котором пользователи будут публиковать рецепты, добавлять чужие рецепты в избранное и подписываться на публикации других авторов. Сервис «Список покупок» позволит пользователям создавать список продуктов, которые нужно купить для приготовления выбранных блюд. Проект «Foodgram» реализован на Django, в свою очередь «API для Foodgram» реализован с использованием библиотеки Django REST Framework (DRF). DRF мощный и гибкий инструмент для построения Web API, который имеет следующие преимущества:

  • Крайне удобная для разработчиков браузерная версия API;
  • Наличие пакетов для OAuth1a и OAuth2 авторизации;
  • Сериализация, поддерживающая ORM и не-ORM источники данных;
  • Возможность полной и детальной настройки - можно использовать обычные представления-функции, если вы не нуждаетесь в мощном функционале;
  • Расширенная документация и отличная поддержка сообщества.

Как запустить приложения в контейнерах

Клонировать репозиторий и перейти в него в командной строке:

git clone git@github.com:slapeach/foodgram-project-react.git
cd foodgram-project-react

Перейти в директорию infra и создать файл .env (шаблон наполнения env-файла - ниже):

cd infra
touch .env

После заполнения env-файла по шаблону собирается проект и запускаются контейнеры:

docker-compose build
docker-compose up

Для того, чтобы пересобрать и запустить контейнеры, используется команда:

docker-compose up -d --build

Далее выполняются миграции, создается суперпользователь, собирается статика:

docker-compose exec backend python manage.py migrate
docker-compose exec backend python manage.py createsuperuser
docker-compose exec backend python manage.py collectstatic --no-input

Чтобы остановить контейнеры, введите команду:

docker-compose down -v

Шаблон наполнения env-файла

Указываем, что работаем с postgresql

DB_ENGINE=django.db.backends.postgresql

Указываем имя базы данных

DB_NAME=postgres

Логин для подключения к базе данных

POSTGRES_USER=username

Устанавливаем пароль для подключения в БД

POSTGRES_PASSWORD=user_password

Указываем название сервиса (контейнера)

DB_HOST=db

Указываем порт для подключения к БД

DB_PORT=5432

CI

About

Foodgram project template

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published