Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/capcom6/django-bread
Web app for managing and storing bread machine recipes.
https://github.com/capcom6/django-bread
bread cookbook django django-rest-framework python recipes
Last synced: about 1 month ago
JSON representation
Web app for managing and storing bread machine recipes.
- Host: GitHub
- URL: https://github.com/capcom6/django-bread
- Owner: capcom6
- License: apache-2.0
- Created: 2022-02-13T14:28:41.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2024-08-07T23:05:56.000Z (5 months ago)
- Last Synced: 2024-08-08T01:54:51.041Z (5 months ago)
- Topics: bread, cookbook, django, django-rest-framework, python, recipes
- Language: Python
- Homepage: https://bread.capcom.me
- Size: 159 KB
- Stars: 0
- Watchers: 2
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README-ru.md
- License: LICENSE
Awesome Lists containing this project
README
# Книга рецептов для хлебопечек
[![codecov](https://codecov.io/gh/capcom6/django-bread/branch/master/graph/badge.svg?token=AIZLFLWB95)](https://codecov.io/gh/capcom6/django-bread)
Простая книга рецептов хлеба для использования с хлебопечкой.
## Требования
* Python 3.8+
## Зависимости
### Python
* Django 4.0
* Pillow
* django-storages (Azure)### Внешние
* MySQL - основная база данных приложения;
* Azure Blob Storage - хранение фотографий, должен быть разрешен анонимный доступ к файлам контейнера.## Переменные окружения
Приложение использует переменные окружения для получения настроек. Также возможно использование файла `.env` с настройками. Пример находится в файле [.env.example](.env.example).
Доступные переменные окружения:
* `SECRET_KEY` - секретный ключ для механизмов безопасности;
* `DEBUG` - признак работы в режиме разработки и отладки;
* `DB_NAME` - название БД MySQL;
* `DB_USER` - пользователь БД MySQL;
* `DB_PASSWORD` - пароль БД MySQL;
* `DB_HOST` - адрес БД MySQL, по-умолчанию `localhost`;
* `DB_PORT` - порт БД MySQL, по-умолчанию `3306`;
* `AZURE_ACCOUNT_NAME` - имя учетной записи хранения;
* `AZURE_ACCOUNT_KEY` - ключ учетной записи хранения;
* `AZURE_CONTAINER` - имя контейнера с анонимным доступом.## Запуск
### Локально
Рекомендуется использовать виртуальное окружение `python3 -m venv env`.
```sh
pip install -r requirements.txt
python3 manage.py migrate
python3 manage.py createsuperuser
python3 manage.py runserver
```### В Docker
Для запуска приложения в Docker используется `docker-compose`:
```sh
make docker-up-silent
```Чтобы создать суперпользователя необходимо зайти в контейнер:
```sh
make docker-exec
python3 manage.py createsuperuser
```## План
- [x] Использовать переменные окружения для параметров подключения к БД и секретов.
- [x] Загрузка фотографии для рецепта.
- [x] Главная страница сайта - список рецептов.
- [x] Информация о конкретном рецепте.
- [ ] Социальные элементы: авторизация (через сторонние сервисы), лайк/дизлайк, комментарии.
- [x] Контейнеризация.
- [x] Автоматическая сборка и публикация контейнера.
- [x] Автоматическое развертывание.
- [x] Отдельное поле для шагов приготовления (если поле заполнено, то отмечать это отдельной иконкой, чтобы была сразу видна необходимость дополнительных шагов).
- [x] Примечание для ингредиента рецепта, например, "порезанное на кубики".
- [ ] Себестоимость хлеба. Для каждого ингредиента указываем цену и на основании этого считаем стоимось буханки. В идеале должна быть история цен ингредиентов.
- [ ] Отображение долей: вместо `1,75` отображать `1 3/4`.
- [ ] Тэги для рецептов. Возможность использования тэгов как групп (отдельный флаг).
- [x] Поддержка выпечки в духовке (не указывается цвет корочки, нужно отдельное поле для шагов приготовления).## Участие
Для участия сделайте форк репозитория, внесите необходимые изменения и проверьте их, после чего создайте pull-request.
## Лицензия
Apache 2.0