IW Inventory Server
Функциональные характеристики ПО «IW INVENTORY SERVER

Программное обеспечение представляет из себя веб-портал для мониторинга перемещения материальных активов (далее инвентаря) компании между зонами внутри локаций. ПО состоит из двух компонентов:

Сервер:
  1. Сервер принимает и проводит запросы на перемещение инвентаря между зонами от сканирующих устройств в локальной сети.
  2. Сервер имеет систему лицензионных ключей, предоставляющих пользователю доступ к ресурсам на срок до окончания выданной лицензии.
  3. Сервер функционирует как файловый сервер в ответ на запросы браузера к страницам веб интерфейса.

Веб интерфейс:
  1. Пользовательский интерфейс подключен к серверу.
  2. Пользовательский интерфейс отображает информацию об отсутствии лицензии и предоставляет возможность ввести лицензионный ключ.
  3. Пользователь может войти и выйти из системы по паре логин-пароль, может сменить пароль.
  4. В интерфейсе представлены карты локаций с метками зон и числящемся за этими зонами инвентарём, так же представлен список инвентаря, не числящегося ни за какой зоной;
  5. В интерфейсе представлен список всего инвентаря в системе, можно добавлять, редактировать и удалять позиции из списка.
  6. В интерфейсе представлен список пользователей и их ролей.
  7. В интерфейсе представлены в режиме для чтения данные сервера, в частности таблицы пользователей, инвентаря, зон, локаций, карт и точек зон на картах
  8. Имеется тёмная версия интерфейса.
  9. Имеется мобильная версия интерфейса для работы на устройствах ТСД.
Требования к аппаратному и программному обеспечению

· Процессор: 2 ядра (arm64 или amd64) (от 2,2ГГц)
· Память: 4 ГБ RAM
· Свободное место: 10 ГБ SSD
· Операционная система: ОС Linux Ubuntu 24.04 или Debian 12 64-бит
Установка ПО

Шаги по установке (рисунок 1):

  1. Скачать на целевой компьютер установочный пакет infowind-inventory-dash_X.X.X-X_amd64.deb
  2. Открыть командную строку и перейти в папку со скачанным пакетом
  3. Установить пакет командой sudo apt install infowind-inventory-dash_X.X.X-X_amd64.deb

Далее можно либо запустить программу единоразово командой infowind-inventory-dash, либо настроить сервис systemd для автозапуска:
  1. sudo systemctl enable infowind-inventory-dash - включить автозапуск
  2. sudo systemctl start infowind-inventory-dash - запустить сервер
  3. sudo systemctl restart infowind-inventory-dash - перезапустить сервер
  4. sudo journalctl -f -u infowind-inventory-dash - посмотреть логи сервера
Пример лога установки и удаления представлен на рисунке 1.
Для работы в ПО откройте браузер и введите в адресную строку http://localhost:8090/
Рисунок 1 – установка и удаление ПО
Активация ПО

После установки и переходе по адресу http://localhost:8090/ ПО выдаст сообщение о том, что лицензия не найдена, предложит связаться с разработчиком и предоставит возможность ввести лицензионный ключ (рисунок 2). Введите ключ, предоставленный разработчиком, и нажмите Enter на клавиатуре. Будет выведено подтверждение об успешной активации лицензии. Нажмите «Home» чтобы перейти страницу входа в приложение (рисунок 3).
Рисунок 2 – окна ввода лицензии
Вход ПО

В форме для входа введите имя пользователя и пароль и нажмите «Log in».
Рисунок 3 – форма входа
Ошибки работы ПО

При возникновении ошибки при работе ПО сообщение об ошибке выводится на странице на который ошибка произошла во всплывающей красной строке. Например, при ошибочной попытке входа ошибка выводится внизу формы входа (рисунок 8). Аналогичным образом ошибки выводятся на всех страницах приложения.
Главное меню

После входа приложение откроет домашнюю страницу – вид с картой помещения (рисунок 4), она будет описана ниже. Слева от карты в панели с заголовком «InfoWind» расположено главное меню.

В верхней части главного расположены вкладки, каждая отвечает за соответствующую страницу: «Карта», «Инвентарь», «Пользователи», «База данных». В нижней части расположен блок управления пользователем и кнопка переключения темы между светлой и тёмной (рисунок 5).

Блок управления пользователем отображает полное имя пользователя, логин (далее username), уникальный идентификатор пользователя, и кнопки «Выйти» и «Сменить пароль». Кнопка «Выйти» завершает сессию пользователя и перенаправляет его на форму входа (рисунок 3), кнопка «Сменить пароль» перенаправляет пользователя на форму смены пароля (рисунок 6), где пользователю предлагается ввести username, старый пароль и новый пароль два раза во избежание опечаток. После смены пароля пользователю потребуется войти в приложение заново с новым паролем.
Рисунок 4 – страница «Карта»

Рисунок 5 – страница «Карта», тёмная тема

Рисунок 6 – форма смены пароля
Рисунок 7 – вывод ошибок в интерфейсе
Страница «Карта» (домашняя страница)

На странице «Карта» представлена карта локации с метками зон. Над картой расположен выпадающий список, в котором можно выбрать локацию, если их заведено несколько. Локации, зоны, пользователи, карты и метки загружаются в приложение разработчиком через скрытое внутреннее API, и потому пользователю не предоставляется интерфейс для загрузки, изменения и удаления этих элементов.

Весь инвентарь, зарегистрированный в приложении либо числится в какой-то зоне, либо находится «в пути» (не числится ни за одной зоной). При наведении курсора на метку на карте в правом верхнем углу карты выводится список инвентаря, числящегося в этой зоне. В правом нижнем углу всегда выведен список инвентаря, находящегося «в пути». Если кликнуть на метку зоны она становится активной, метка увеличивается и список инвентаря останется в правом верхнем углу даже если увести указатель мыши с метки. Чтобы отменить выбор зоны как активной достаточно кликнуть любое свободное место на карте.

Все элементы интерфейса активно обновляются из базы данных, соответственно любые изменения и перемещения инвентаря тут-же отображаются на карте. Устройства сканирования, подключенные к системе, напрямую обновляют базу данных, и эти изменения тоже отображаются на карте.
Страница «Инвентарь»

На странице «Инвентарь» представлена таблица со всем зарегистрированным в приложении инвентарём (рисунок 8). Таблица позволяет добавлять, редактировать и удалять инвентарь.
Рисунок 8 – страница «Инвентарь»
Для добавления позиции инвентаря в систему необходимо ввести в нижнюю строку таблицы название и RFID метку заводимого инвентаря, выбрать зону, за которой он будет закреплен и нажать на кнопку ➕.

Для редактирования позиции необходимо нажать на кнопку ✏️, отредактировать поля записи нажать на кнопку 💾 (рисунок 9).

Для удаления позиции необходимо нажать кнопку 🗑️ и во всплывающем окне подтвердить удаление (рисунок 10).

Таблица, как и карта обновляется в режиме реального времени в процессе работы системы.
Рисунок 9 – страница «Инвентарь»
Рисунок 10 – страница «Инвентарь»
Страница «Пользователи»

На странице «Пользователи» представлена таблица со списком всех пользователей системы, и закреплёнными за ними ролями (рисунок 11).

Рисунок 11 – страница «Пользователи»

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

На странице «База данных» представлены таблицы всех сущностей базы данных участвующих в работе системы в режиме чтения (рисунок 12).

Рисунок 12 – страница «База данных»

Эта страница используется для мониторинга и отладки работы системы.
Мобильная версия ПО

ПО поддерживает работу в режиме мобильной версии на маленьких и узких экранах (рисунок 13). Весь функционал полностью аналогичен полной версии. Для доступа к главному меню необходимо нажать стрелку, расположенную под логотипом InfoWind. На карте список инвентаря в пути и в активной зоне выводится не поверх карты справа, а под ней.

Рисунок 13 – мобильная версия

Версии ПО

Версия интерфейса отображается мелким текстом в главном меню внизу. Версия сервера отображается там же, но ещё отдельно доступна по адресу http://localhost:8090/api/version. За версию установочного пакета, включающего интерфейс и сервер считается версия интерфейса.