diff --git a/book/src/SUMMARY.md b/book/src/SUMMARY.md index 4a18dbc..c61d9d3 100644 --- a/book/src/SUMMARY.md +++ b/book/src/SUMMARY.md @@ -1,7 +1,8 @@ # Summary - [Введение](./intro.md) -- [Идея](./idea.md) +- [Проблемы](./problems.md) +- [Решение](./solution.md) # Бизнес Логика diff --git a/book/src/bl/entities.md b/book/src/bl/entities.md index 24fa36c..f032416 100644 --- a/book/src/bl/entities.md +++ b/book/src/bl/entities.md @@ -5,71 +5,64 @@ ## Рецепт -Различные сайты с рецептами используют свой подход к рецептам, но формула у -всех примерно одна. +Каждый рецепт состоит из: +- названия +- фото результата +- категории +- тэги? +- ингредиенты +- эксперементы +- шаги (только текст, не более) + +Переходя на страницу рецепта мы должны видеть максимально только важную +информацию. Если мы ищем определенный рецепт, то мы смотрим в первую очередь +на название и фотографию результата. Далее мы смотрим какие ингредиенты нам +потребуются, в каком количестве. Для особо контролирующих своё питание от +сырых ингредиентов будет расчитана таблица витаминов и пищевой ценности. +После того как нас всё устраивает мы можем переходить к непосредственному +приготовлению, спустившись к шагам. + +Примерно так я сейчас вижу схему странички рецептов, на основе своего опыта +из smartfridge. ``` -категории -(видео процесса|фото результата) -название -описание -ингредиенты -- название -- количество -шаги -- название -- описание -- фото -``` - -Видео я считаю совсем избыточным и неуместным. Особенно, когда так называемые -"видео-рецепты" без текстового содержания "заставляют" просматривать и -перематывать содержание, чтобы можно было понять что нужно сделать. - -В ингредиентах как правило рекламируют определенные марки. В нашей версии -будут только основные названия продуков питания не привязанные ни к одному из -брендов. Каждый человек в праве выбрать любой, который на его вкус более -приемлемый. - -Фотографии к рецептам несомненно сложно делать. Не все люди фотографируют -процесс приготовления. И по моему опыту фотографии не особо помогают в понимании -того, что необходимо сделать. Если описание соответствует действительности, то -и дополнительное фото не нужно. Фото результата на самом деле тоже сомнительно, -но по нему обычно определяют стоит ли готовить блюдо. - -Как правило не всегда ищут рецепты. Многие люди готовят просто из того, что -есть в холодильнике. Мы лично создавали несколько безумно вкусных салатов, но -когда мы хотели добавить его на свой сайт, то мы долго придумывали название. -Ну просто потому, что в "формуле рецепта" это необходимо. А любой поисковик еще -хочет от нас описание. Думаю было бы круто, если бы нейросеть предлагала бы -название для рецепта. Описание же я думаю вообще убрать. Шаги всё и так -расскажут. - -Вдохновленный одним каналом the-bread-code, я хочу добавить в рецепт -эксперементы. Тоесть что будет, если тот же рецепт приготовить с большим/меньшим -содержанием воды/масла какой результат из этого выйшел. Получилось хуже или нет. -Любой желающий сможет выбрать понравившийся вариант рецепта. - -Еще на smartfridge, после того как я внедрил группы ингредиентов, мне пришло -озарение, что каждая группа ингредиентов - это тоже отдельный рецепт. -Например пицца состоит из основы и начинки. Мы можем эксперементировать с -основой для теста, но начинка меняться не будет или наоборот. Следовательно -мы можем создавать грубо говоря собственные ингредиенты (основа для пиццы) и -использовать её как ингредиент для какого-то рецепта - -Итого: -``` -Название - Категории -Ингредиенты -Витамины в порции -Пищевая ценность +Название Фото результата -Шаги (только текст) +Ингредиенты | Витамины | Пищевая ценность + +Шаги + +Эксперементы ``` +## Ингредиент + +Основа рецептов, как ни странно, ингредиенты. Они полностью влияют на сам +рецепт. Существует множество различного сырья, продуктов, которые нужно +будет добавить. Они будут содержать в себе витамины, пищевую ценность, но +эти цифры будут заполняться постепенно по мере нахождения информации. + +## Эксперемент + +Эксперемент представляет собой markdown статью, которая относится к +определенному рецепту. Например мы любим готовить пиццу и эксперементировали +с различными основами. Теперь мы нашли ту самую, которая всегда получается и +она просто божественая! Это можно оформить как статью-эксперемент. + +## Категории + +Тут всё просто. Мы добавим категорий, кухни мира, которые помогут нам +структурировать наши рецепты. + +## Тэги + +Они пока под вопросом. Когда начну создавать рецепты я решу наверняка нужны ли +они или нет. + +Думаю это тоже самое что и категории, но не будут явно сохранены как отдельная +сущность. Они будут писаться в свободной форме в рецептах. diff --git a/book/src/idea.md b/book/src/idea.md deleted file mode 100644 index c538a44..0000000 --- a/book/src/idea.md +++ /dev/null @@ -1,27 +0,0 @@ -# Идея - -## Не нужна регистрация - -Рецептов в мире не так уж и много. Они как правило все повторяются. Отличается -только способ приготовления блюда. Что-то может не быть и ты можешь заменить -ингредиент другим. - -Следовательно я считаю, что нет смысла добавлять регистрацию пользователей. -Потому что каждый пользователь будет добавлять один и тот же рецепт -"новогоднего салата". - -Пойду другим путём. Для начала будет создан backoffice, в котором можно будет -добавлять рецепты вручную. В дальнейшем буду пробовать обучать нейросеть. - -## Децентрализация - -Если кого-то не будет устраивать запущеная моя нода, то он в полном праве -запустить свою версию на своём сервере. В планах предоставлять механизм -получения всех данных базы с ноды. - -## Несколько интерфейсов взаимодействия - -Нода рецептов будет состоять из мозга (backend). Клиент для взаимодействия -с ним можно будет выбрать отдельно. Будь то web-сайт, мобильное приложение, -а так же cli, tui, gui. - diff --git a/book/src/problems.md b/book/src/problems.md new file mode 100644 index 0000000..43690d0 --- /dev/null +++ b/book/src/problems.md @@ -0,0 +1,38 @@ +# Проблемы + +Рецептов в мире не так уж и много. Это просто совокупность некоторых основных +ингредиентов или комбинация заготовок с различными способами приготовления. +Но кол-во сайтов с рецептами поражает. Они стали как социальные сети для +домохозяек. + +## Проприетарные + +Исходный код у всех сайтов с рецептами закрыт. Мы не знаем как они используют +персональные данные зарегистрированных людей. + +## Излишне монетизирован + +Я понимаю людей. Все хотят заработать. Поэтому сайты заполнены рекламой, от +которой отлично спасает ublock origin. Но есть еще лазейка - "пропихивать" бренды +в ингредиенты, в инструменты и в посуду для приготовления. + +## Регистрация + +Я считаю, что нет смысла добавлять регистрацию пользователей. Мы избавляемся +от хранения огромного кол-ва персональной информации. Мы так же избавляемся от +совершенно не нужного сайту с рецептами комментариев, лайков и шаринга, +фоловеров и тп. + +## Дублирование + +Лайки, фоловеры, рейтинг порождают соревновательный эффект, при котором новый +пользователь пытается подняться в топ, добавляя рецепты "венегретов", "пирожков +с капустой" и т.п. Обычный люд, который пытается что-то найти вынужден +прокручивать десятки страниц, чтобы не натыкаться на дубликаты. + +## Видео-рецепты + +Видео я считаю совсем избыточным и неуместным. Особенно, когда так называемые +"видео-рецепты" без текстового содержания "заставляют" просматривать и +перематывать содержание, чтобы можно было понять что нужно сделать. + diff --git a/book/src/solution.md b/book/src/solution.md new file mode 100644 index 0000000..7d9a06a --- /dev/null +++ b/book/src/solution.md @@ -0,0 +1,57 @@ +# Решение + +Все вышеперечисленные проблемы, возможно, волнуют только меня, но я хотел бы +попробовать их все исправить. + +## Свободный код + +Этот проект находится в открытом доступе и у него открыт исходный код. +В моих планах открыть базу данных, парсеры, бэкенд, фронтенды и всё остальное, +что будет связано с этим проектом. Я думаю будет познавательно и интересно. + +## Децентрализованный + +У меня будет запущена собственная нода, для моего повседневного поиска любимых +рецептов, но если кому-то захочется, то он в праве поднять собственный сервер. + +## Бесплатный навсегда + +Я делаю этот проект в первую очередь для себя, для своего удобства и +удовольствия. Я не любитель видеть рекламу и не хочу, чтобы кто-то тоже от неё +страдал. Темболее это пополняет карманы корпорациям, которые зарабатывают на +вашей приватности... + +## Полностью приватный + +База данных будет полностью открыта и обновляться через репозиторий. +Пользователи, сессии тут просто избыточны. Опять же плюс в мне в карму, тк +ничего тут не будет храниться, в том числе IP адреса. Тут не будет ни рекламы, +ни кнопки "поделиться", ни другого стороннего сервиса. Возможно даже обойдемся +полностью без JS, но не обещаю. + +## Альтернативные клиенты + +Помимо сайта в планах создать еще мобильное приложение, cli, tui, gui. Можно +будет выбрать любой клиент, который будет к душе. + +## Уникальная идея рецептов + +Еще на smartfridge, после того как я внедрил группы ингредиентов, мне пришло +озарение, что каждая группа ингредиентов - это тоже отдельный рецепт. +Например пицца состоит из основы и начинки. Мы можем выбирать из предложеных +основ для теста, но начинка меняться не будет или наоборот. Но и это еще не всё! +Ту же начинку для пиццы возможно получится использовать для приготовления +горячих бутербродов! Это будет называться комбо-рецепты. + +Вдохновленный одним каналом the-bread-code, я хочу добавить в рецепт +эксперементы. Тоесть что будет, если тот же рецепт приготовить с большим/меньшим +содержанием воды/масла какой результат из этого вышел. Получилось хуже или нет. +Любой желающий сможет выбрать понравившийся вариант рецепта. + +## Никакого дублирования + +Все рецепты перед добавлением будут проходить строгую модерацию непосредственно +в репозитории. Если подобный рецепт уже существует, то он не будет добавлен. +Возможно будет предложен вариант преобразовать этот рецепт в комбо-рецепт или +добавить эксперемент. +