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