55 lines
4.3 KiB
Plaintext
55 lines
4.3 KiB
Plaintext
|
# Инвентаризация (ESPD)
|
|||
|
|
|||
|
Кроссплатформенное приложение для инвентаризации.
|
|||
|
|
|||
|
> Использованные библиотеки/фреймворки:
|
|||
|
> - [JavaFX](https://openjfx.io) - фреймворк для создания UI-приложений
|
|||
|
> - [oshi](https://github.com/oshi/oshi) - получение информации об аппаратной и системной части компьютера.
|
|||
|
> - [JSpeedTest](https://github.com/bertrandmartel/speed-test-lib) - замеры скорости интернета
|
|||
|
|
|||
|
> Для запуска приложения потребуется установить **JDK 17 или выше**. Скачать
|
|||
|
> можно [здесь](https://www.oracle.com/java/technologies/downloads/).
|
|||
|
|
|||
|
> Для формирования приложения воспользуйтесь командой `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 в проект для избежания лишних установок для пользователя.
|