Как стать автором
Поиск
Написать публикацию
Обновить

Не просто ещё один органайзер: Как я создал универсальную платформу для управления знаниями и данными

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров3.3K
Всего голосов 10: ↑10 и ↓0+11
Комментарии29

Комментарии 29

И как в вашей системе что-то искать? И потом интегрировать с другими приложениями? В соседней ветке товарищ делился опытом как все приложения заменил одним текстовым файлом. И расписывал преимущества. А вы новый огород сгородили.

Уже пытались сделать -не заходит.
Если исходить из вашего названия то были:

FixPro
DBASE
clipper
MS Access.

Делалось для тех же целей- совет приложение сам быстро и удобно. Не взлетело.

С вашим приложением на все ЖКУ следующие проблемы:

1 нужна версия под IPhone/ Android
2 нужна версия под Linux/Windows/Mac
3. Нужна синхронизация в этом зоопарке.

Просто ещё одно приложение под одну платформу уже никому не интересно. :(

  • Это WEB приложение работает на любом устройстве, где запускаются современные браузеры и соответственно работает на любой операционке с адаптацией под разрешение экрана

  • Синхронизация через развертывание сервера CouchDB дома или где-то в сети. Дома развернут такой сервер и доступ к нему через VPN для всех членов семьи. Ниже скриншот со списком некоторых db на домашнем сервере.

Список баз данных с домашнего сервера для префикса aka-
Список баз данных с домашнего сервера для префикса aka-
  • без развертывания сервера - работает автономно на Вашем устройстве с возможностью экспорта и импорта баз данных

Ваш бы энтузиазм, да на освоение emacs направить. Идеальная платформа для желающих делать все и по-своему.
Нет, если вам реально удобно всем этим пользоваться – это просто отлично.
Скажите, а какой частью функционала вы пользуетесь на регулярной основе?
Можете описать свои типичные сценарии использования:
– форм
– списка дел
– зож трекера
– бухгалтерии
– календаря
Это было бы самое интересное. Почему не рассмотрели для себя хотя бы obsidian в качестве альтернативы?

  • Это новая версия приложения, переписанная с начала года.

  • В старой версии более 2-х лет вели с женой домашнюю бухгалтерию.

  • Занимаясь фитнесом, жена вела ЗОЖ трекер. На основании ее пожеланий в новую версию добавлена возможность прикрепления к любой строке таблиц отдельного документа любого типа (например фотографии блюд). А для домашней бухгалтерии фото чеков, гарантии, инструкции ...

  • Календарь использовался в составе FamilyiTree и Events (события) для отображения наиболее важных дат. Ниже частичное дерево автора

  • Формы пока в активной доработке, но собственное приложение с таблицами, различными полями и результирующей таблицей уже можно создавать (например свой учет чего-либо). Доделывается когда результирующем будет любая форма или, например, некий Dashboard.

Что ж, похоже вы действительно создали для своей семьи полезный инструмент, с возможностью наращивать его под свои потребности. Это замечательно. Главный недостаток мне сейчас видится в том, что для веба нет особых возможностей для локального хранения копии данных. К тому же домашняя машина – единая точка отказа. Случись что с диском; нет дома электричества – нет доступа к календарю и задачам.
Про формы, например, я бы так переспросил: а какую свою потребность вы хотите закрыть этим функционалом?

В WEBe - ничего не хранится, только запуск самого приложения. Все хранится локально на Вашем устройстве, без сетевого развертывания надо почаще - экспортировать (делать копии) базы. Любая база это единичный файл в формате JSON. Храните его отдельно или открывайте на другом устройстве.
Формы хочу использовать для разработки приложений под конкретного заказчика. Первое такое приложение уже работает в фитнес клубе около двух с половиной лет (на старой версии).

Реальные базы развернутые на домашнем сервере. Для Фитнеса сервер развернут в интернете, а здесь хранится его копия.
Реальные базы развернутые на домашнем сервере. Для Фитнеса сервер развернут в интернете, а здесь хранится его копия.

Все хранится локально на Вашем устройстве

То есть, когда ваша супруга с телефона в фитнес трекере что-то тыкает, оно у нее на телефоне и сохраняется?
Скорее всего, у вас есть клиент и сервер. Клиент работает где угодно, а сервер "на домашней машине, к которой у всей семьи доступ через впн".
Речь о том, что если машина с сервером ушла в даун по какой-то причине, то все клиенты завязанные на нее превращаются в тыкву без возможности восстановить данные.

Формы хочу использовать для разработки приложений под конкретного заказчика.

Ага. То есть по сути вы делайте не столько органайзер, сколько фреймворк для кастомной клиентской разработки. В этой плоскости мотивация становится более понятной.

  • Используется технология - Mobile First . Данные в первую очередь хранятся на Вашем устройстве и при наличии связи с сервером - синхронизируется с ним. Если при настроенной синхронизации удалить данные на сервере - они восстановятся с устройства на котором хотя бы раз запускалось приложение и наоборот при удалении на устройстве или запуска впервые - данные синхронизируются с сервером.

  • Да, среди целей и быстрая разработка приложений для различных случаев использования. Ниже пример (в режиме конструктора) для приложения "Сборка компьютера"

Это конструктор формы для Иванова, Петрова ...
Это конструктор формы для Иванова, Петрова ...
А это конструктор для результирующей формы (по всем клиентам)
А это конструктор для результирующей формы (по всем клиентам)

Браузерный Local storage? Не лучшее решение для основного хранилища, но пусть так.

Используется связка CouchDB и PouchDB. PouchDB использует локальные браузерные API для хранения данных, такие как IndexedDB (предпочтительно) или WebSQL (при отсутствии IndexedDB).  Local storage используется только для временных данных - положение или размеры некоторых форм, состояния дерева и т.д.

О, PouchDB прикольная штука. Возьму на заметку.

Задумка и правда интересная, автор - респект за реализацию 👍
Отвечая на вопросы:

  • Сталкивались ли вы с подобной проблемой хранения данных?

  • Какой ваш идеальный инструмент для организации информации?

Да, сталкивался и решением был Obsidian. Полностью настраиваемый. Локальный. Куча плагинов и возможность создания своих. Синхронизация с виндой, айфоном и маком. Бесплатно.

Тоже пользуюсь Обсидиан/Андроид и пока почти всё устраивает. Но сразу же столкнулся с одной неприятной проблемой, которую не знаю как решить. При добавлении в заметку гиперссылок, например на видео на Ютубе, сайт, эта ссылка очень длинная и занимает порой чуть не полэкрана телефона. Что очень неудобно, много листать, эти наборы символов для человека неинформативны/бесполезны и напрашивается метод, которым этот øɫœɵ[˩˥˥˩˧˦˧} можно/нужно заменить. Может и есть какой-то эффективный и быстрый способ, но он мне неизвестен.

Я просто начал через ИИ обрабатывать всю информацию и скидывать в векторную базу + потом ИИ может её также извлекать по не чёткому поиску

Под текущие задачи хватает

ностальжи.. лет двадцать пять назад все писали клоны treepad и прочие каталогизаторы :)

Это не чей либо клон, это воплощение идей автора для своего использования. Учась на курсах повышения - активно сам использовал это приложение для хранения лекций и различных статей по тема.

да я не сомневаюсь, так, молодость вспомнил :)

Проект с похожим названием, fox-manager - органайзер процессов (операционная модель компании, bpm). В целом, схожие задачи решают - документирование. Такую бы штуку (BPM) в open source где бы найти бы.

Почему не open source? Как встроить диаграммы drawio или Visio (в нативном формате)?

В сравнение можно было добавить пару open source персональных wiki / zettelkasten.

Употреблять термин "платформа управления знаниями" - не верно. Это (суз) системы даже не wiki, а semantic wiki - например, semantic mediawiki

  • Проект ранее был в Open Source.

  • Потом после адаптации его под один из Фитнес клубов, с количеством участников более 500 человек и записью в реальном времени, пришлось его удалить из соображений безопасности.

  • В планах есть встраивание диаграмм drawio или Visio, после полного запуска форм.

Доброго дня. Попытался попользоваться, но если честно, вообще не понял, как что создавать.. т.е. в инструкции сказано "Перейдите в foxBase -> Создайте новую базу «Мой инвентарь» ". А что именно и где жать, чтобы создать?)
Зарегистрироваться не дает, жс-ная ошибка какая-то в консоли (user.js:104 Registration error: TypeError: Cannot read properties of undefined (reading 'allDocs'))

Тестировалось на разных устройствах и операционных устройствах (к сожалению ограниченным количеством человек). Описанных проблем не замечалось. Попробуйте посмотреть Quick Start - https://fox-base.ru/quick-start/, надеюсь что поможет.

Каков шанс, что автор продолжит развитие проекта хотя бы через пару лет?

Что по поводу 6 месяцев :)

Уже спрашивали... повторюсь. А как у себя это чудо-дивное развернуть, так сказать "только для себя"?...

  • Только для себя можно запускать и пользоваться (не забывая делать резервные копии).

    Для разворачивания внутри домашней сети :

  • установить -CouchDB - https://couchdb.apache.org/, добавить админа, включить CORS

  • Установить - какой либо WEB сервер, например - https://simplewebserver.org/docs/wsc.html

  • Создать несколько баз данных с префиксом (по умолчанию aka- + название базы). Префикс позволяет получать все базы имеющиеся на сервере с выбранным префиксом.

  • Настроить синхронизацию

Только вместо $ написать @
Только вместо $ написать @
  • Сгенерируется API для указанного логина и пароля, и при правильной настройке, синхронизация должна заработать в обе стороны.

  • Может возникнуть проблема из-за CORS. Плагины для браузера позволят решить это. В дальнейшем приложение будет PWA (можно установить на свое устройство) - для решения этой проблемы.

А само приложение?... на сайт не нашел "Скачать"... только открыть...

Добавил режим PWA - https://fox-base.ru/fx/base/index-pwa.html

Что такое PWA?

PWA (Progressive Web App) - это веб-приложение, которое работает как обычное мобильное приложение.

Оно может:

  • Работать без интернета

  • Устанавливаться на устройство

  • Получать push-уведомления

  • Быстро загружаться

Установка PWA

На компьютере (Chrome, Edge, Safari)

1. Откройте приложение в браузере

2. В адресной строке появится иконка установки

3. Нажмите на неё и выберите "Установить"

4. Или используйте меню браузера → "Установить приложение"

Для Chrome это выглядит так
Для Chrome это выглядит так

На мобильном устройстве

Android (Chrome)

1. Откройте приложение в Chrome

2. Нажмите на меню (три точки)

3. Выберите "Добавить на главный экран"

4. Подтвердите установку

iOS (Safari)

1. Откройте приложение в Safari

2. Нажмите кнопку "Поделиться" (квадрат со стрелкой)

3. Выберите "На экран «Домой»"

4. Нажмите "Добавить"

Установка может занять некоторое время, зависит от скорости Вашего интернета

Если разворачиваете локальный сервер - учтите CORS блокирует запросы к CouchDB из PWA
Чтобы исправить:

# Выполните в терминале (замените данные авторизации и адрес сервера):

curl -X PUT "http://admin:password@192.168.0.1:5984/_node/_local/_config/httpd/enable\_cors" -d '"true"'

curl -X PUT "http://admin:password@192.168.0.1:5984/_node/_local/_config/cors/origins" -d '"*"'


Внешний вид PWA приложения
Внешний вид PWA приложения

Спасибо

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации