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