Приложение для визуального конструктора своих данных
Хочу показать своё приложение — PRZ. Это конструктор, с помощью которого можно собрать собственную систему учёта данных без программирования: нарисовать структуру из объектов и связей, а приложение само превратит её в веб-интерфейс.
Идея родилась давно (около 10 лет назад), и даже была выполнена как десктоп для Windows (на visual basic), но это уже сильно устаревший вариант. Хотелось хранить данные под свои задачи, да и обрабатывать тоже, причем в доступе в веб, а не подстраиваться под гугл-диски и прочие ресурсы.
Я работал в ПТО, поэтому документооборот меня доставал - таблички с табличками, которые погоняют табличками, связи между табличками - тот еще гемор, поэтому я написал для себя также десктоп для обработки доков в ПТО, включая некоторые журналы, кс-2, кс-3, кс-6 (А-автоматизация). Этот опыт связей в документах тоже учитывается в текущей разработке.
В общем, не очень давно решился я на перевод устаревшей десктопной версии в веб, но с изменениями: пусть пользователь сам рисует схему, а приложение само делает из неё рабочие таблицы и формы.
Как это работает
Всё просто:
Объект — это справочник или процесс (например, «Разное», «типы разного»).
Параметры (поля) — характеристики записи: текст, число, дата, файл, выбор из другого справочника.
Связь — линия между объектами, которая определяет, как их записи соотносятся друг с другом.
Создал объекты, добавил поля, связал между собой — и получил готовый интерфейс: таблицы, формы, фильтры, прикрепление файлов.
Что можно собрать в схемах
Особых ограничений нет, тем более что проект постоянно допиливаю, вот как пример тестировал создание процесса "Приемка материалов"
Для некоторых связей документов и подписантов необходимы, например, условия срока действия приказов, это устанавливается в условиях связей
Что мне нравится больше всего
Данные остаются у меня. Всё хранится на том устройстве, где развёрнута база — хоть на обычном ноутбуке. Пропал интернет — данные всё равно доступны на вашем устройстве (правда, без веб-интерфейса). Приложение не имеет доступа к устройству и не хранит ваши данные, только учётные записи. Контроль за доступами к данным целиком на владельце устройства: запустил - доступ имеется, закрыл - доступа нет. В админке можно добавлять\удалять пользователей, разрешать им создавать\корректировать схемы. Сложные ролевые модели не внедрял - все это в процессе.
Ещё одна деталь: в приложении намеренно нет удаления файлов. Даже если удалить запись с файлами, сами файлы останутся в папке хранилища. Удалить их может только человек с доступом к этой папке. То есть физически отсутствуют API для удаления файлов. Это моя принципиальная позиция, очистка ненужных файлов предусмотрена только отдельным приложением (еще не написал, позже дойдут руки).
Ну и, веб дает то, что не даст десктоп - совместная работа с данными. То есть можно зарегать пользователя для своего аккаунта, и он сможет работать с вашими данными.
Из практических использований (мной лично): в любом месте, где мне нужно перекинуть себе файлы, я захожу в интерфейс, добавляю запись в справочник, прикладываю файлы - и все, они у меня на компе и доступны на любом устройстве. Например, так фотку со смартфона приложил, чтобы перекинуть ее на рабочий ноут для аватарки.
Так как обрабатывающий сервер запущен на очень бюджетном варианте, то я не могу гарантировать 100% выполнение тяжелых обработок. Но то, что я тестировал - выполнялось. И, на сервере не подключены бэкапы (экономия баблишка), поэтому регистрации пользователей могут исчезнуть (но ваши данные остаются у вас, напоминаю).
В общем, если захотите потестить - прошу потестить, доступ абсолютно бесплатный, но не бесконечный (не хочется тратить баблишко на аренду сервера просто так), единственное ограничение - генерация ключей-доступов недоступна, только по обращению.
P.S. Я вообще не могу в дизайн, если что, поэтому не судите строго за кнопочки странных размеров и прочую ерунду) ну и да, там имеются некоторые проблемы с выгрузками, сортировками - это все в процессе решения, если бы не работа, времени хватило.






