Добавить в корзинуПозвонить
Найти в Дзене
5277

Проект для автоматизации рабочих процессов отдела тестирования железа

Хочу немного рассказать о проекте который реализую на работе. Называю я его DATT. Аббревиатура, расшифровывать не буду.
Сейчас я переживаю отсутствие обратной связи от заказчика и волен в некоторой степени сам выбирать задачи для реализации. Проект большой, поэтому не сложно определить ключевые задачи и ими заниматься.
Данный проект включает в себя понятия CRM, таск менеджера и комплекса утилит используемых в работе специалистами отдела и возможно будет так-же полезна специалистам смежных отделов крупной компании.
И первое, что приходит на ум, зачем изобретать колесо? Ведь таск менеджеров куча, с CRM'ами тоже вроде все хорошо. Но это не просто таск менеджер или CRM, это внутреннее ПО, четко заточенное под нужды отдела.
По поводу трудозатрат, просто скажу так, мои трудозатраты существенно ниже, чем трудозатраты WEB специалистов создающих нечто подобное и при этом более примитивное.
И да, это не WEB решение, это нативное(десктопное) мультиплатформенное приложение. Точнее

Хочу немного рассказать о проекте который реализую на работе.

DATT скриншот
DATT скриншот

Называю я его DATT. Аббревиатура, расшифровывать не буду.

Сейчас я переживаю отсутствие обратной связи от заказчика и волен в некоторой степени сам выбирать задачи для реализации. Проект большой, поэтому не сложно определить ключевые задачи и ими заниматься.

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

И первое, что приходит на ум, зачем изобретать колесо? Ведь таск менеджеров куча, с CRM'ами тоже вроде все хорошо. Но это не просто таск менеджер или CRM, это внутреннее ПО, четко заточенное под нужды отдела.
По поводу трудозатрат, просто скажу так, мои трудозатраты существенно ниже, чем трудозатраты WEB специалистов создающих нечто подобное и при этом более примитивное.

И да, это не WEB решение, это нативное(десктопное) мультиплатформенное приложение. Точнее клиент-серверное приложение на базе JavaSE и JavaFX. И да, я не рассматриваю вообще вариант создания полноценного WEB клиента. Хотя я думаю, что для этого проекта WEB решение будет(сервер выступает в виде сервера приложений и его функционал менять не придется). Просто WEB решение будет очень простым, с сильно ограниченным функционалом. При этом, если говорить о мобильных решениях, то я с не существенными трудозатратами, легко, могу адаптировать свое решение на базу Gluon Mobile и прямиком с десктопным дизайном запускать на тех-же андроид планшетах. Более того, я могу даже собрать нативные запускаемые приложения с быстрым исполнением и с заметно меньшим потреблением ресурсов(например RAM). Это все магия Java и JavaFX.

Что сейчас умеет проект:
Ведение проектов и вложенных проектов.
Ведение задач в проектах и подзадач в задаче.
Чеклисты в проектах и задачах.
Ведение обсуждения(что-то типа переписки).
Прикрепление файлов к проекту и задаче.
Фиксирование всей истории изменений большинства сущностей.
Информирование на почту и/или в телегам об изменении сущности с описанием изменений ключевых полей и списком измененных остальных полей.
Поддержка цветовых тем приложения.
Мультиязычность(пока только русский и английский)
Фоновая выгрузка и загрузка прикрепленных файлов.
Панель фильтрации и сортировки по большинству свойств списка.
Возможность копирования в буфер обмена текста большинства элементов формы(в том числе и в списках)
Отображение метки изменения значения поля с возможностью откатить назад изменение.
Отображение пути до открытого элемента, как путь в файловом менеджере.
Возможность копирования пути, отображения пути в почтовых сообщениях и телеграмм, с последующим переходом в виде URL. Т.е. по клику на URL открывается нативное приложение с формой нужного элемента.
Полный функционал списка, добавления, редактирования и удаления таких сущностей как проект, задача, пользователь, чеклист, дискуссия, прикрепленный документ, прошивка, тестовый экземпляр устройства, модель, компания, контакт пользователя, настройка пользователя.
Отображение общих временных трудозатрат по задаче разбитых по состояниям задачи.
Отображение информации о последней модификации объекта (дата и время, пользователь, IP клиента)
Возможность подключения к различным серверам, выбор тем и языка при авторизации.
Полное сессионное логирование, кто зашел или не зашел и причина, когда вышел, что изменил.
Встроенная утилита перепаковки практически любой прошивки устройств на базе Android. Перепаковывает все файлы образов файловых систем в единый архив, выполняя при этом сканирование на вирусы. Отчет сканирования на вирусы и результат автоматически прикрепляется в виде аттача к прошивке.
Мультипоточная загрузка объектов с сервера, что существенно влияет на общее время загрузки формы.
Локальный кеш основных словарей, клиент при работе использует локальные данные многих словарей, подгружая их, если те изменились на сервере.
Работа на практически любой десктопной машине, под GNU Linux, Windows. Можно собрать пакет и для MacOS, можно и для Android. Вероятно даже смогу собрать WEB решение, но оно будет долго загружаться.
Все это реализовано на чистой JavaSE + JavaFX(без фреймворков), работает все быстро, протокол используется свой, бинарный, существенно экономный.

В ближайшее время будут реализован механизм ролей и доступов типа как в GNU Linux файловых системах(EXT), также отображение истории изменения объектов.

Для работы необходимо:
сервер: JRE11(headless), MySQL, ClamAV(если необходимо проверять прошивки). И ВСЕ, никакой сложной настройки и кучи зависимостей. Никаких docker.
клиент: просто современную ОС, на которой работает JavaSE 11(идет в комплекте в инсталляторе, ее не нужно ставить отдельно)


Клиент собираю в инсталлятор - sh файл для GNU Linux и exe(в zip архиве) для Windows. Инсталлятор основан на моем личном и открытом проекте
https://github.com/w5277c/yaji

-2

Телеграмм:

-3