Моя лень периодически не даёт мне покоя. Устроившись в Клерк на должность системного администратора, я столкнулся с учётом техники, записанным в Яндекс.Таблицы (бесплатный онлайн-сервис для таблиц, как Excel в облаке). Просмотрев данный список, я понял, что учёт вёлся из рук вон плохо. Понимая, какую работу мне предстоит делать, моя лень мне сказала: «А почему бы тебе не написать программу для автоматизации учёта техники?».
Что же я там напридумывал такого?
Список всей подконтрольной мне техники — это и ноутбуки, компьютеры, мониторы, различная периферия и т.д. и т.п. Синхронизация сотрудников и отделов из Bitrix24 (популярная CRM-система для бизнеса с данными о персонале) — помогает особо не волноваться, что забыл отвязать бывшего сотрудника от выданной ему техники, к тому же автоматизирует создание актов приёма-передачи оборудования. Запись истории о переходах устройства (имена, даты передачи и запись недостатков после эксплуатации). Авторизация по логину/паролю – ну это стандартные меры безопасности, как же без них.


Но как же маркировать такую технику?
Тут же мне пришла идея: современную технику (а в Клерке только современная техника) нужно маркировать тоже по-современному. Что если использовать QR-коды (двумерные штрих-коды, сканируемые смартфоном для быстрого доступа к данным) для этого. Поэтому моя программа может генерировать эти коды на основе серийных номеров устройств. Бонус: инвентаризация за минуты — сканируй код и видишь статус всей техники.


Структура программы
Реализована авторизация по логину и паролю
Сама таблица устройств имеет фильтры, сортировку и поиск. В целом обычная таблица из 1С, но с веб-интерфейсом.
Просмотр списка сотрудников
Возможность сканирования QR-кодов прямо в браузере
Добавить устройство очень просто: выбрал тип устройства, вписал модель, серийный номер, можно даже характеристики устройства записать, и всё готово. Дальше просто меняем сотрудника, получившего устройство.
Для синхронизации с Bitrix24 нужен специальный код безопасности. Без него нельзя запустить синхронизацию
С историей передач/возвратов тоже всё просто – она записывается автоматически при совершении действия.

Используемый стек технологий
Nuxt 4 (фреймворк на Vue.js для фронтенда с SSR), PHP 8.3 (серверный язык для бэкенда), SQLite 3 (лёгкая файловая БД без сервера).
Для реализации данного ПО изначально я использовал только PHP и SQLite. В какой-то момент решил, что нужно переписать нормальный frontend на Vue/Nuxt. Так привычно и понятно, да и я привык писать на Vue/Nuxt, так как до этого писал уже на этом фреймворке.
Планы на будущее (roadmap)
Экспорт отчётов в Excel/PDF для бухгалтерии.
PWA-версия (Progressive Web App) — сканируй QR прямо с телефона оффлайн, синхронизируется при коннекте.
Миграция на PostgreSQL для 1000+ устройств.
Мелкие косметические изменения в интерфейсе
Итог
Что хочется сказать в конце? Если вы видите, что ваш сисадмин ходит злой и недовольный, то посоветуйте ему автоматизировать его рабочие процессы, так намного проще жить)))
Комментарии
20@Владислав Шубин а 3д модели будут?
Влад, это очень круто! Когда в гитлабе можно будет код программы скачать?
@Владислав Шубин я не видела тебя злым, но теперь буду присматриваться))
И да простят меня бывшие сисадмины Клерка)) Влад, ты лучший