This commit is contained in:
Dmitriy Pleshevskiy 2022-05-04 01:46:17 +03:00
commit 5b94d7a332
7 changed files with 144 additions and 0 deletions

1
book/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
book

6
book/book.toml Normal file
View File

@ -0,0 +1,6 @@
[book]
authors = ["Dmitriy Pleshevskiy"]
language = "ru"
multilingual = false
src = "src"
title = "Вкусные мысли"

9
book/src/SUMMARY.md Normal file
View File

@ -0,0 +1,9 @@
# Summary
- [Введение](./intro.md)
- [Идея](./idea.md)
# Бизнес Логика
- [Сущности](./bl/entities.md)
- [Действия](./bl/actions.md)

10
book/src/bl/actions.md Normal file
View File

@ -0,0 +1,10 @@
# Действия
Основное действие, которое должно предоставлять приложение - это возможности
найти рецепт по различным параметрам:
- Название / Описание
- Категория
- Ингредиент
- Пищевая ценность
- Витамины

75
book/src/bl/entities.md Normal file
View File

@ -0,0 +1,75 @@
# Сущности
Для того, чтобы начать описывать действия нашего "мозга", нам нужно понять
сколько и какие сущности будет иметь наша система.
## Рецепт
Различные сайты с рецептами используют свой подход к рецептам, но формула у
всех примерно одна.
```
категории
(видео процесса|фото результата)
название
описание
ингредиенты
- название
- количество
шаги
- название
- описание
- фото
```
Видео я считаю совсем избыточным и неуместным. Особенно, когда так называемые
"видео-рецепты" без текстового содержания "заставляют" просматривать и
перематывать содержание, чтобы можно было понять что нужно сделать.
В ингредиентах как правило рекламируют определенные марки. В нашей версии
будут только основные названия продуков питания не привязанные ни к одному из
брендов. Каждый человек в праве выбрать любой, который на его вкус более
приемлемый.
Фотографии к рецептам несомненно сложно делать. Не все люди фотографируют
процесс приготовления. И по моему опыту фотографии не особо помогают в понимании
того, что необходимо сделать. Если описание соответствует действительности, то
и дополнительное фото не нужно. Фото результата на самом деле тоже сомнительно,
но по нему обычно определяют стоит ли готовить блюдо.
Как правило не всегда ищут рецепты. Многие люди готовят просто из того, что
есть в холодильнике. Мы лично создавали несколько безумно вкусных салатов, но
когда мы хотели добавить его на свой сайт, то мы долго придумывали название.
Ну просто потому, что в "формуле рецепта" это необходимо. А любой поисковик еще
хочет от нас описание. Думаю было бы круто, если бы нейросеть предлагала бы
название для рецепта. Описание же я думаю вообще убрать. Шаги всё и так
расскажут.
Вдохновленный одним каналом the-bread-code, я хочу добавить в рецепт
эксперементы. Тоесть что будет, если тот же рецепт приготовить с большим/меньшим
содержанием воды/масла какой результат из этого выйшел. Получилось хуже или нет.
Любой желающий сможет выбрать понравившийся вариант рецепта.
Еще на smartfridge, после того как я внедрил группы ингредиентов, мне пришло
озарение, что каждая группа ингредиентов - это тоже отдельный рецепт.
Например пицца состоит из основы и начинки. Мы можем эксперементировать с
основой для теста, но начинка меняться не будет или наоборот. Следовательно
мы можем создавать грубо говоря собственные ингредиенты (основа для пиццы) и
использовать её как ингредиент для какого-то рецепта
Итого:
```
Название
Категории
Ингредиенты
Витамины в порции
Пищевая ценность
Фото результата
Шаги (только текст)
```

27
book/src/idea.md Normal file
View File

@ -0,0 +1,27 @@
# Идея
## Не нужна регистрация
Рецептов в мире не так уж и много. Они как правило все повторяются. Отличается
только способ приготовления блюда. Что-то может не быть и ты можешь заменить
ингредиент другим.
Следовательно я считаю, что нет смысла добавлять регистрацию пользователей.
Потому что каждый пользователь будет добавлять один и тот же рецепт
"новогоднего салата".
Пойду другим путём. Для начала будет создан backoffice, в котором можно будет
добавлять рецепты вручную. В дальнейшем буду пробовать обучать нейросеть.
## Децентрализация
Если кого-то не будет устраивать запущеная моя нода, то он в полном праве
запустить свою версию на своём сервере. В планах предоставлять механизм
получения всех данных базы с ноды.
## Несколько интерфейсов взаимодействия
Нода рецептов будет состоять из мозга (backend). Клиент для взаимодействия
с ним можно будет выбрать отдельно. Будь то web-сайт, мобильное приложение,
а так же cli, tui, gui.

16
book/src/intro.md Normal file
View File

@ -0,0 +1,16 @@
# Введение
Моя семья любит готовить, но искать рецепты по всему интернету не такое уж и
простое занятие. Мы не первый раз хотим создать интересный сайт с рецептами,
который включал в себя только проверенные рецепты, которые действительно
работают. Первый наш проект назывался smartfridge. Он пошел достаточно хорошо,
но в нём были недостатки. Одним из которых я считаю была регистрация и
не очень удобная форма добавления рецепта. Думаю одной из причин стало то,
что я был тогда не очень опытен и не продумал всю концепцию от и до. В итоге
много раз переделывал сайт и сейчас пациент скорее мёртв чем жив.
Сейчас я буду идти по другому пути. Я опишу всю необходимую бизнес-логику в
этой книге. После того, как меня всё начнет устраивать и не останется больше
вопросов, я создам план с задачами и приступлю непосредственно к реализации.
Поехали!