book: rm ideas, add problems and solution

This commit is contained in:
Dmitriy Pleshevskiy 2022-05-04 23:56:23 +03:00
parent 5b94d7a332
commit 93f0aed030
5 changed files with 148 additions and 86 deletions

View File

@ -1,7 +1,8 @@
# Summary
- [Введение](./intro.md)
- [Идея](./idea.md)
- [Проблемы](./problems.md)
- [Решение](./solution.md)
# Бизнес Логика

View File

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

View File

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

38
book/src/problems.md Normal file
View File

@ -0,0 +1,38 @@
# Проблемы
Рецептов в мире не так уж и много. Это просто совокупность некоторых основных
ингредиентов или комбинация заготовок с различными способами приготовления.
Но кол-во сайтов с рецептами поражает. Они стали как социальные сети для
домохозяек.
## Проприетарные
Исходный код у всех сайтов с рецептами закрыт. Мы не знаем как они используют
персональные данные зарегистрированных людей.
## Излишне монетизирован
Я понимаю людей. Все хотят заработать. Поэтому сайты заполнены рекламой, от
которой отлично спасает ublock origin. Но есть еще лазейка - "пропихивать" бренды
в ингредиенты, в инструменты и в посуду для приготовления.
## Регистрация
Я считаю, что нет смысла добавлять регистрацию пользователей. Мы избавляемся
от хранения огромного кол-ва персональной информации. Мы так же избавляемся от
совершенно не нужного сайту с рецептами комментариев, лайков и шаринга,
фоловеров и тп.
## Дублирование
Лайки, фоловеры, рейтинг порождают соревновательный эффект, при котором новый
пользователь пытается подняться в топ, добавляя рецепты "венегретов", "пирожков
с капустой" и т.п. Обычный люд, который пытается что-то найти вынужден
прокручивать десятки страниц, чтобы не натыкаться на дубликаты.
## Видео-рецепты
Видео я считаю совсем избыточным и неуместным. Особенно, когда так называемые
"видео-рецепты" без текстового содержания "заставляют" просматривать и
перематывать содержание, чтобы можно было понять что нужно сделать.

57
book/src/solution.md Normal file
View File

@ -0,0 +1,57 @@
# Решение
Все вышеперечисленные проблемы, возможно, волнуют только меня, но я хотел бы
попробовать их все исправить.
## Свободный код
Этот проект находится в открытом доступе и у него открыт исходный код.
В моих планах открыть базу данных, парсеры, бэкенд, фронтенды и всё остальное,
что будет связано с этим проектом. Я думаю будет познавательно и интересно.
## Децентрализованный
У меня будет запущена собственная нода, для моего повседневного поиска любимых
рецептов, но если кому-то захочется, то он в праве поднять собственный сервер.
## Бесплатный навсегда
Я делаю этот проект в первую очередь для себя, для своего удобства и
удовольствия. Я не любитель видеть рекламу и не хочу, чтобы кто-то тоже от неё
страдал. Темболее это пополняет карманы корпорациям, которые зарабатывают на
вашей приватности...
## Полностью приватный
База данных будет полностью открыта и обновляться через репозиторий.
Пользователи, сессии тут просто избыточны. Опять же плюс в мне в карму, тк
ничего тут не будет храниться, в том числе IP адреса. Тут не будет ни рекламы,
ни кнопки "поделиться", ни другого стороннего сервиса. Возможно даже обойдемся
полностью без JS, но не обещаю.
## Альтернативные клиенты
Помимо сайта в планах создать еще мобильное приложение, cli, tui, gui. Можно
будет выбрать любой клиент, который будет к душе.
## Уникальная идея рецептов
Еще на smartfridge, после того как я внедрил группы ингредиентов, мне пришло
озарение, что каждая группа ингредиентов - это тоже отдельный рецепт.
Например пицца состоит из основы и начинки. Мы можем выбирать из предложеных
основ для теста, но начинка меняться не будет или наоборот. Но и это еще не всё!
Ту же начинку для пиццы возможно получится использовать для приготовления
горячих бутербродов! Это будет называться комбо-рецепты.
Вдохновленный одним каналом the-bread-code, я хочу добавить в рецепт
эксперементы. Тоесть что будет, если тот же рецепт приготовить с большим/меньшим
содержанием воды/масла какой результат из этого вышел. Получилось хуже или нет.
Любой желающий сможет выбрать понравившийся вариант рецепта.
## Никакого дублирования
Все рецепты перед добавлением будут проходить строгую модерацию непосредственно
в репозитории. Если подобный рецепт уже существует, то он не будет добавлен.
Возможно будет предложен вариант преобразовать этот рецепт в комбо-рецепт или
добавить эксперемент.