Skip to content

MSMikl/foodsite

Repository files navigation

Сервис для подбора рецептов

Сервис предназначен для подбора рецептов и выдачи их пользователю в соответствии с его требованиями - указанными приемами пищи, калорийностью, аллергиями. Рабочая версия сайта доступна по ссылке https://foodsite.michalbl4.ru/

Backend

Техническая часть сервиса реализована на базе Django, эквайринг работает на "Юкасса".

В демонстрируемой версии Django обслуживает сервер Gunicorn, "статику" раздает Nginx, база данных - PostgreSQL.

Установка

Необходим Python версии не ниже 3.9.

Скачать содержимое репозитория, установить зависимости командой:

pip install -r requirements.txt

В файле .env указать следующие переменные окружения:

DJANGO_SECRET_KEY = {секретный ключ Django}

DB_URL = {URL для доступа к базе данных в соответствии с инструкцией https://github.com/jazzband/dj-database-url#url-schema}
YOOKASSA_SHOP_ID={ID эквайринга}
YOOKASSA_SECRET_KEY={секретный ключ эквайринга}

#Настройки почтового сервера для отправки сообщений пользователям
EMAIL_HOST=
EMAIL_PORT=
EMAIL_HOST_USER=
EMAIL_HOST_PASSWORD=
EMAIL_USE_TLS=
EMAIL_USE_SSL=
EMAIL_FROM=

Запустить сервер для разработки можно командой

python3 manage.py runserver

Дополнительные функции

Парсинг рецептов

Парсит рецепты с сайта https://www.povarenok.ru/

Для запуска выполните команду

python3 manage.py load_recipes [-n <число рецептов> [-fn <имя файла для сохранения>] [-fj <имя файла для загрузки>] 

Ключ -n запускает скачивание рецептов с сайта www.povarenok.ru;
Ключ -fj импортирует рецепты из файла .json в базу данных;
Операции могут запускаться как по отдельности, так и вместе.

Проверка истекающих подписок и отправка почтовых уведомлений

Команда

python3 manage.py check_subscribes

проверяет наличие подписок, которые заканчиваются через 4 дня и тех, которые закончились день назад, и отправляет соответстсвующим пользователям email-уведомления.

Команду можно поставить в регулярный запуск, чтобы такие проверки проходили, например, ежедневно, в 9 утра.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •