espd-client/README.MD

55 lines
4.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Инвентаризация (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 в проект для избежания лишних установок для пользователя.