CodeInside | Аутстаффинг :  в короткий срок подключим необходимых специалистов (Middle, Senior, Lead) или сформируем команду до 100 человек!

CodeInside | Аутстаффинг :  в короткий срок подключим необходимых специалистов (Middle, Senior, Lead) или сформируем команду до 100 человек!

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

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

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

Заказчик

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

    Контакты

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

    г. Пенза, Суворова 66, 6 этаж

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

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

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

    t.me/codeinside_outstaffing

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

    office@codeinside.ru+7 (8412) 45-84-19
    Мы в Telegram