Cайт Foodgram - «Продуктовый помощник». Позволяет делиться своими рецептами с другиии пользователями и автоматически составлять список покупок для вашего банкета.
- Рецепты
- Просмотр
- Добавление/удаление/редактирвоание
- Теги
- Фильтрация рецептов по тэгам
- Ингредиенты
- Добавление ингредиентов в рецепты
- Список избранного
- Спиcок избранных рецептов
- Список покупок
- Список рецертов для покупки ингредиентов
- Загрузка списка рецептов и всех ингредиентов для покупки в формате .pdf
- Подписки
- Подписки на других пользователей и просмотр их рецептов
Для работы приложения используется docker compose с разделением на четыре контейнера:
- db - с базой данных PostgreSQL;
- backend - с внутренними процессами сайта, Django;
- frontend - с внещшшними процессами сайта; React;
- nginx - c Nginx.
Клонировать репозиторий и перейти в него в командной строке:
git clone [email protected]:nvkey/foodgram-project-react.git
cd foodgram-project-react
Для запуска проекта требуется создать файл .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
Вы можете сгенерировать DJANGO_SECRET_KEY
следующим образом. Из директории проекта /backend/ выполнить:
python manage.py shell
from django.core.management.utils import get_random_secret_key
get_random_secret_key()
Полученный ключ скопировать в .env
Запуск docker-compose:
cd infra
docker compose up -d --build
Выполнить миграции, дата-миграции и сформировать статику:
docker compose exec backend python manage.py migrate
docker compose exec backend python manage.py collectstatic --no-input
Проект доступен по адресу: http://localhost/
Тестовые пользователи:
Тестовый гость сайта
email: [email protected]
pwd: asdasd123!
log: test
Суперпользователь
log: admin
pwd: admin
email: [email protected]
При необходимости создайте свою учетную запись администратора:
docker compose exec web python manage.py createsuperuser
Спецификация взаимодействия frontend и backend контейнеров в формате Redoc, доступна по адресу: http://localhost/api/docs/
Панель администратора доступна по адресу http://localhost/admin
Рабочая версия проекта в ближайшее время будет доступна по адресу: http://nvkey.ddns.net/ http://nvkey.ddns.net/admin/
Остановка docker-compose:
docker-compose down -v
- nvkey рад знакомству