espd-client/README.MD

4.3 KiB
Raw Blame History

Инвентаризация (ESPD)

Кроссплатформенное приложение для инвентаризации.

Использованные библиотеки/фреймворки:

  • JavaFX - фреймворк для создания UI-приложений
  • oshi - получение информации об аппаратной и системной части компьютера.
  • JSpeedTest - замеры скорости интернета

Для запуска приложения потребуется установить JDK 17 или выше. Скачать можно здесь.

Для формирования приложения воспользуйтесь командой mvn clean package

Содержание формы

  • Код учреждения (int) - вводится пользователем;
  • Наименование ОО (string) - после нахождения в БД при помощи кода ОО автоматически заполняется;
  • Номер здания (int) - выбирается элемент в списке;
  • Адрес (string) - отображается после выбора элемента в списке номеров зданий;
  • Помещение (string) - выбирается элемент в списке;
  • Label с GIF - показ того, что сейчас происходит в форме
  • Отправить - активируется при наличии всех заполненных полей;
  • Статус необходимости обновить приложение.

После нажатия кнопки "сохранить" собирается следующее

  • данные из полей в форме;
  • конфигурация компьютера с учетом списка выше;
  • Замеры скорости интернета

При каких-либо ошибках output.log отправляется на сервер.

Перед закрытием приложения

  • Дата начала работы (datetime) - выводится после открытия приложения;
  • Дата окончания работы (datetime) - высчитывается перед закрытием приложения.

Список отправляемой конфигурации при успешном заполнении формы и нажатии "Отправить"

  • Операционная система (справочник) - Windows, Linux или MACos;
  • Версия операционной системы (string) - 11.2, 18.03 и т.д.
  • Устройство (справочник) - ноутбук или ПК;
  • Модель процессора (string) - Название модели процессора;
  • Частота процессора (float) - измеряется в ГГц;
  • Объем ОЗУ (float) - 0.5, если 512МБ, 16 - если 16ГБ;
  • Диски (список):
    • Тип диска - SSD / HDD / Nvm.2 (справочник)
    • Модель диска - название модели диска;
  • Скорость интернета (String) - в какой форме?

Нужно учесть пару моментов при реализации:

  1. защиту от посторонних пользователей;
  2. автоматический запуск приложения при запуске ОС;
  3. автоматическое заполнение поля окончания работы и сохранение при выключении компьютера;
  4. как будет обновляться приложение - вручную ссылкой с проверкой актуальности версии или автоматическое обновление приложения;
  5. Попробовать вложить JDK в проект для избежания лишних установок для пользователя.