Femco

Доработка системы управления процессами оператора офшорного флота

Femco — судовладелец и оператор офшорного флота, который управляет морскими перевозками. Наши разработчики усилили Laravel-команду клиента, а затем подключились к фронтенду на React.

  • Логистика
  • Аутстаффинг
  • Разработка
  • Поддержка
  • Интеграции
  • 2023–2024
×2быстрее работа оператора офшорного флота
  • 4 направления работ: СУБ, интернет на судах, репликация, карта флота
  • Тестовый стенд — настоящее судно из флота компании

задача

Развивать внутреннюю систему компании: показать суда на карте мира, наладить репликацию документов между береговым и судовым серверами, сделать модуль «Интернет на судно» и поддерживать систему управления безопасностью (СУБ).

Что сделали

  • Документооборот СУБ — доработали модели, маршруты, контроллеры, флаги разделов, теги, комментарии и поиск. Систему интегрировали с Nextcloud, переделали страницы и ускорили загрузку данных
  • Модуль «Интернет на судно» — переключает источники связи и контролирует трафик экипажа и пассажиров. Пассажиры регистрируются и получают доступ в интернет через согласование по Workflow
  • Репликация документов — между офисом и судами, с отслеживанием конфликтов версий
  • Карта флота — вывели суда на карту мира: панель в реальном времени и история перемещений за период

подробности

Как устроен проект

Поддержка и доработка СУБ

СУБ (SMS, Safety Management System) — система управления безопасностью: с её помощью персонал судна эффективно внедряет политику безопасности и охраны окружающей среды. Мы поддерживаем и дорабатываем бэкенд и фронтенд модуля документооборота системы.

  • Модели, маршруты и контроллеры для СУБ
  • Интеграция с Nextcloud
  • Редизайн и доработка страниц, оптимизация загрузки данных
  • Доработка бэкенд-методов
  • Фронтенд-доработки: флаги разделов, теги, комментарии, поиск

Модуль «Интернет на судно»

Модуль построен на веб-приложении с бэкендом на PHP-фреймворке Laravel. С коммуникационным оборудованием он работает через низкоуровневый сервис-транслятор команд на Node.js: собирает статус доступных источников интернета и переключается между ними.

  • Добавляет в судовую версию учётной системы управление источником интернета на судах компании
  • Даёт авторизованным в приложении на судне пользователям — экипажу и пассажирам — выходить в интернет через выбранное подключение с контролем расхода трафика
  • По командам экипажа регулирует режим работы судовой сети и ограничивает доступ в нештатных ситуациях
  • Регистрирует пассажиров и через согласование по Workflow открывает им доступ в интернет
  • Позволяет менять и учитывать локальное время на судне относительно UTC

Репликация документов центрального сервера с судовым

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

  • Репликация идёт по текущим сменам на судне, данные выгружаются по действующему списку экипажа
  • Обновлённые документы экипажа, судна и офиса реплицируются в судовую версию, а сертификаты судов, добавленные в судовой версии, — на береговой сервер
  • Если документы одновременно изменили на нескольких узлах, система отслеживает конфликт версий и предлагает варианты его разрешения

Положение судов на карте мира

Данные о положении собираются с навигационного устройства каждого судна и передаются в базу офисной версии приложения для хранения и анализа.

  • Если связи с судном нет, данные хранятся в локальной базе до появления интернета
  • Политика хранения позволяет смотреть историю перемещения судна за выбранный период
  • Приложение может работать в режиме дашборда с положением судов в реальном времени

команда

Комментарии команды

Особым вызовом для нас стала реализация репликации изменений в распределённой системе с обнаружением конфликтов обмена.
ДмитрийТехлид проекта
Этот проект был интересен для нас в первую очередь тем, в какой сфере мы применяем стандартные для нас практики. Например, тестовым стендом для дорабатываемой нами системы стало полноценное судно из флота компании.
ВасилийМенеджер проекта

суть проекта

Проект в цифрах и схемах

Четыре направления работ

  • СУБдокументооборот: модели, маршруты, теги, комментарии, поиск, интеграция с Nextcloud
  • Интернет на суднепереключение источников связи, контроль трафика, доступ пассажиров через согласование
  • Репликациядокументы между офисом и судами с отслеживанием конфликтов версий
  • Карта флотасуда на карте мира в реальном времени и история перемещений

Работа оператора

Время на операции оператора флота

было×2 быстрее

проект

Как это выглядит

Femco: экран проекта 1Femco: экран проекта 2
01 / 02

технологии

На чём сделали

  • Laravel
  • PHP
  • React
  • Node.js
  • Nextcloud

Нужен похожий проект?

Расскажите о задаче: разберём её и предложим решение. Бесплатно.

Алексей СырчинГенеральный директор

С чем приходите