Полина Лесникова

Система управления базовыми станциями

Система позволяет запускать различные сценарии по расписанию. Например, проверять раз в час статус оборудования и создавать в системе сообщение об аварии.

Я сделала MVP проекта: спроектировала основные функции, сделала стиль, UI-kit и нарисовала иконки, проводила пользовательские тестирования.

Проблемы

Много разных производителей оборудования, у каждого свой софт, который надо постоянно обновлять. Нет единой системы, постоянно приходится переключаться между разными программами.

Цели

Сделать MVP проекта: написание скриптов, составление сценариев и расписаний для тестовой базовой станции.

Решение

В IDE инженеры пишут скрипты на Python. Библиотека устроена по принципу GitHub. Скрипт — какое-то одно простое действие. Например, запрос статуса или проверка питания. Есть общая библиотека с основными версиями скриптов. Инженер делает копию скрипта, а затем коммитит свою версию в общую библиотеку. Чтобы не сломать скрипты, которые уже работают, администратор должен подтвердить изменения и влить в общую библиотеку.

Затем из скриптов в сервисе визуального программирования составляется сценарий — пайплайн. Под капотом пайплайны — это тоже скрипты, только более сложные. Поэтому и библиотека пайпланов устроена так же, как и библиотека скриптов. Пайплайны можно отлаживать в дебагере.

Расписание выполнения скриптов настраивается в шедулере.

Правила для шедулера задаются крон-правилами. Для удобства я сделала конструктор. Те, кто разбирается в крон-правилах, могут вводить крон-правила сразу в строку.

Мы запустили MVP в срок, продукт показал хорошие результаты на пользовательских тестированиях.