Любая рутина повод подключить ИИ. Обсудим?

Веб-сервис для мониторинга нефтегазового оборудования

Разработка геолокационного веб-сервиса для хранения данных и мониторинга оборудования нефтегазовой отрасли

Разработка геолокационного веб-сервиса для хранения данных и мониторинга оборудования нефтегазовой отрасли.

Заказчик

Nidec ASI VEI (АО «Нидек АСИ ВЭИ»)

Компания занимается поставками оборудования для нефтегазовой отрасли РФ. Высоковольтные электродвигатели и высоковольтные преобразователи частоты. Два завода в Италии. Поставка осуществляется в комплексе с полным инжиниринговым сопровождением – проектирование / монтаж / пуско-наладочные работы / сдача в эксплуатацию / последующий сервис. Основные заказчики в РФ – крупные нефтегазодобывающие и/или транспортирующие организации (Транснефть, Лукойл, Газпром). 

География выполнения работ распределенная — от Каспийского моря до Хабаровска. Общее количество объектов (нефтеперерабатывающая станция, платформа и т.д.) — около 100. Общее количество единиц установленного — около 300.

С какой проблемой пришел Заказчик?

Заказчику требовалась единая система для структурирования и централизованного хранения данных, получаемых об установленном оборудовании. До внедрения проекта мониторинг состояния оборудования полностью отсутствовал, а работа велась вручную через Excel-таблицы, что ограничивало возможности по управлению и анализу данных. На рынке не существовало готового решения, которое могло бы охватить все потребности заказчика: существовали лишь узкоспециализированные сервисы с кадастровыми картами и справочниками, не способные обеспечить комплексный подход.

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

Михаил Авраменко
Директор по сервису

Цель и задачи проекта

Целью проекта стало создание геолокационного сервиса для структурированного хранения данных и мониторинга оборудования на объектах Заказчика. Сервис обеспечивает централизованный доступ к информации об объектах и установленном оборудовании, что позволяет быстро отслеживать текущее состояние и местоположение каждой единицы.

В рамках проекта требовалось реализовать следующие функции:

  • визуализация всех объектов с отображением их текущего статуса работ (монтаж, пусконаладочные работы, эксплуатация, сервисное обслуживание и т. д.);
  • создание карточек объектов с детальной информацией об установленном оборудовании и возможностью интеграции с облачным хранилищем или внутренним сервером компании;
  • внесение и хранение данных об оборудовании, включая паспортные данные, схемы, рекламации, акты выполненных работ;
  • оповещения о неисправностях для своевременного реагирования;
  • ролевую модель доступа для управления правами пользователей.

Реализация

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

1 этап: проектирование

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

Заказчик не имел жестких требований к стеку технологий, поэтому для backend-разработки были выбраны: OpenJDK 11, Spring 5, Maven, Spring Boot 2.3, XSD-based классы (JAXB), Lombok, PostgreSQL Pro для управления базой данных с использованием JPA/Hibernate, JOOQ и миграций Liquibase, REST API для клиент-серверного взаимодействия.

Для frontend-разработки использовались: HTML, CSS, React, Redux, Redux-Saga, Leaflet для отображения объектов на карте.

Дополнительно система включала файловое хранилище для загрузки документов и инструмент веб-картографии для работы с геолокацией объектов.

2 этап: разработка компонентов системы первого уровня

На этом этапе были разработаны базовые компоненты для обеспечения основной функциональности:

  • Авторизация в системе — разработка формы для авторизации и реализации системы логирования.
  • Список проектов — создание табличного представления проектов с возможностью фильтрации, сортировки, добавления и удаления проектов.
  • Список объектов — представление объектов в табличном формате с возможностью фильтрации и сортировки, привязка объектов к проектам и переход к карточке объекта.
  • Карточка объекта — чтение и редактирование информации об объекте с доступом к данным об оборудовании, связанном с объектом.

Этап завершился демонстрацией системы заказчику.

3 этап: разработка компонентов системы второго уровня

На этом этапе были добавлены более сложные функции:

  • Профиль пользователя — реализован компонент с полным набором CRUD-операций для управления профилем.
  • Геолокационный компонент — отображение объектов на карте с указанием их статуса, переход к карточке объектов и возможность фильтрации на карте.
  • Регистрация пользователя — самостоятельная регистрация пользователя через форму на стартовой странице.
  • Список оборудования — табличное представление оборудования с возможностью перехода в карточку единицы оборудования.
  • Карточка оборудования — чтение и редактирование данных об оборудовании, работа с файлами (просмотр, добавление, удаление, скачивание).

4 этап: доработка компонентов

После завершения основных работ были выполнены доработки на основе новых потребностей заказчика, включая:

  • улучшение интерфейсов,
  • доработку файлового хранилища и компонента карты,
  • дополнение документации.

Система была развернута на оборудовании заказчика для дальнейшего использования.

Особенности проекта

До 2022 года приоритетом компании-заказчика было предоставление услуг в качестве вендора. Однако, с изменением рыночных условий и закрытием границ, основной фокус сместился на техническое обслуживание установленного оборудования. Это изменение сделало создание системы мониторинга и учета оборудования не просто актуальным, но и стратегически важным направлением для повышения эффективности и надежности работы оборудования на объектах заказчика.

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

Алексей
backend-разработчик

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

Михаил Авраменко
Директор по сервису

Результат

Для успешной реализации проекта команда разработчиков сосредоточилась на создании высококачественного и функционального геолокационного сервиса, который полностью отвечает запросам заказчика. В условиях ограниченного времени, команда продемонстрировала высокую степень профессионализма, обеспечив не только стабильную работу системы, но и полную интеграцию всех компонентов. Подведем итог работы команды и ее результаты.

  1. Полная реализация функционала геолокационного сервиса: команда успешно спроектировала и разработала систему, которая включает все необходимые компоненты для мониторинга состояния оборудования, управления данными и географической привязки объектов. В результате была создана интуитивно понятная и функциональная платформа для внутреннего использования.
  2. Синхронизация и интеграция различных компонентов: Успешно интегрированы элементы, такие как система мониторинга, файловое хранилище, веб-картография и пользовательский интерфейс, что обеспечило стабильную работу и высокую скорость обработки данных. Это позволило создать единую платформу для хранения, обработки и отображения информации.
  3. Эффективное использование технологий: в ходе работы был применен проверенный стек технологий, который позволил создать гибкую и надежную архитектуру, соответствующую потребностям проекта, и обеспечил высокую производительность, безопасность и масштабируемость системы.
  4. Реализация ролевой модели пользователей: внедрение системы с различными уровнями доступа позволило обеспечить контроль за пользователями, что улучшило безопасность и удобство эксплуатации сервиса.
  5. Техническая документация и доработки: в процессе работы был подготовлен подробный набор документации для конечных пользователей и администраторов. Команда также успешно выполнила доработки по запросу заказчика, улучшив интерфейс и расширив функциональность системы.
  6. Успешная доставка проекта в срок: проект был завершен в установленный срок — за два месяца, что продемонстрировало способность команды работать эффективно в условиях ограниченного времени и бюджета. Система была успешно развернута на оборудовании заказчика, и работа с ней была успешно интегрирована в рабочие процессы компании.

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

Михаил Авраменко
Директор по сервису

У вас похожий запрос?

Свяжитесь с нами по почте request@codeinside.ru и мы поможем вам реализовать проект. Ознакомиться с другими выполненными проектами по ссылке.

Инструменты

Backend

▪ OpenJDK/Spring/Maven

▪ Spring Boot 2.3 services

▪ XSD-based classes generation (JAXB), Lombok

▪ PostgreSQL Pro as RDBMS; JPA/Hibernate+JOOQ, Liquibase migrations

▪ Клиент-серверное взаимодействие через REST

Frontend

▪ HTML

▪ CSS

▪ React

▪ Redux

▪ Redux-Saga

▪ Leaflet

Формат взаимодействия

Fix Price

Смотреть еще

Услуги



ЕСТЬ ВОПРОС?

Напишите нам

Заполните форму,
и мы свяжемся с вами
в ближайшее время

    captcha

    Контакты

    Штаб-квартира:

    ООО «КодИнсайд», Разработка компьютерного программного обеспечения, 440000, Пензенская область, г. Пенза, ул. Суворова, строение 66, ИНН 5837040135, ОГРН 1095837000929, ОКВЭД 62.01, права принадлежат компании, право пользование на основе лицензии

    Обсудить разработку:

    request@codeinside.ru+7 (8412) 45-84-19

    Свободные разработчики:

    t.me/codeinside_outstaffing

    Остальные вопросы:

    office@codeinside.ru+7 (8412) 63-67-36
    Мы в Telegram