Платформа мониторинга и визуализации данных промышленных датчиков для геодезии и промышленности. Система обрабатывает данные с датчиков наклона, ширины трещин, затопления и вибрационных датчиков, установленных на подшипниках промышленного оборудования. Основная боль клиента — отсутствие централизованного мониторинга и визуализации данных, что не позволяло отследить динамику изменений и вовремя выявить критические состояния оборудования.
Задача заключалась в создании системы реального времени для визуализации данных с датчиков, реализации интерактивного позиционирования датчиков на планах зданий и обеспечении обработки огромных объемов данных — матрицы достигали миллионов значений.
React, TypeScript, Zustand, React Query, ECharts, Axios, SCSS, модульная архитектура
Разработал интерактивную карту позиционирования, где пользователи загружают план здания, а система автоматически отображает на нем датчики. Реализовал Drag-and-Drop для удобного позиционирования с синхронизацией данных между web, backend и мобильным приложением. При наведении на датчик отображается краткая сводка с возможностью перейти к детальной информации.
Для геодезических датчиков реализовал линейные графики с обновлением каждые 5-10 минут. Для вибрационных датчиков создал тепловые карты, визуализирующие матрицы данных по дате, амплитуде и частоте. Добавил срезы по времени для построения линейных графиков общей прогрессии состояния датчика.
Встроил user-friendly функционал: зум и выделение диапазонов на графиках, карту с планом здания для навигации, фильтры по датчикам и датам, возможность экспорта данных.
Главным вызовом стала оптимизация производительности. Переработал обработку данных для тепловых карт — оптимизировал форматирование на клиенте, что сократило время загрузки на 2-3 секунды на каждый запрос. Столкнулся с проблемой переполнения стека при обработке огромных массивов — решил через агрегацию данных, беря среднюю величину за N дней. Это уменьшило объем передаваемых данных и стабилизировало работу системы.
Система стабильно обрабатывает 10-15 датчиков одновременно с высокой частотой обновления. Оптимизация сократила время загрузки тепловых карт на 2-3 секунды, проблема переполнения стека полностью решена. Создан интуитивно понятный интерфейс с широкими возможностями для анализа. Платформа активно используется клиентами для мониторинга критически важного промышленного оборудования и предотвращения аварий
2 Backend-разработчика, Frontend-разработчик, Mobile-разработчик. Мой вклад: разработка всего клиентского интерфейса, интеграция с API, оптимизация визуализации данных.