Femco
Доработка системы управления процессами оператора офшорного флота
Femco — судовладелец и оператор офшорного флота, который управляет морскими перевозками. Наши разработчики усилили Laravel-команду клиента, а затем подключились к фронтенду на React.
- Логистика
- Аутстаффинг
- Разработка
- Поддержка
- Интеграции
- 2023–2024
- 4 направления работ: СУБ, интернет на судах, репликация, карта флота
- Тестовый стенд — настоящее судно из флота компании
задача
Развивать внутреннюю систему компании: показать суда на карте мира, наладить репликацию документов между береговым и судовым серверами, сделать модуль «Интернет на судно» и поддерживать систему управления безопасностью (СУБ).
Что сделали
- Документооборот СУБ — доработали модели, маршруты, контроллеры, флаги разделов, теги, комментарии и поиск. Систему интегрировали с Nextcloud, переделали страницы и ускорили загрузку данных
- Модуль «Интернет на судно» — переключает источники связи и контролирует трафик экипажа и пассажиров. Пассажиры регистрируются и получают доступ в интернет через согласование по Workflow
- Репликация документов — между офисом и судами, с отслеживанием конфликтов версий
- Карта флота — вывели суда на карту мира: панель в реальном времени и история перемещений за период
подробности
Как устроен проект
Поддержка и доработка СУБ
СУБ (SMS, Safety Management System) — система управления безопасностью: с её помощью персонал судна эффективно внедряет политику безопасности и охраны окружающей среды. Мы поддерживаем и дорабатываем бэкенд и фронтенд модуля документооборота системы.
- Модели, маршруты и контроллеры для СУБ
- Интеграция с Nextcloud
- Редизайн и доработка страниц, оптимизация загрузки данных
- Доработка бэкенд-методов
- Фронтенд-доработки: флаги разделов, теги, комментарии, поиск
Модуль «Интернет на судно»
Модуль построен на веб-приложении с бэкендом на PHP-фреймворке Laravel. С коммуникационным оборудованием он работает через низкоуровневый сервис-транслятор команд на Node.js: собирает статус доступных источников интернета и переключается между ними.
- Добавляет в судовую версию учётной системы управление источником интернета на судах компании
- Даёт авторизованным в приложении на судне пользователям — экипажу и пассажирам — выходить в интернет через выбранное подключение с контролем расхода трафика
- По командам экипажа регулирует режим работы судовой сети и ограничивает доступ в нештатных ситуациях
- Регистрирует пассажиров и через согласование по Workflow открывает им доступ в интернет
- Позволяет менять и учитывать локальное время на судне относительно UTC

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

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

команда
Комментарии команды
Особым вызовом для нас стала реализация репликации изменений в распределённой системе с обнаружением конфликтов обмена.
ДмитрийТехлид проектаЭтот проект был интересен для нас в первую очередь тем, в какой сфере мы применяем стандартные для нас практики. Например, тестовым стендом для дорабатываемой нами системы стало полноценное судно из флота компании.
ВасилийМенеджер проектасуть проекта
Проект в цифрах и схемах
Четыре направления работ
- СУБдокументооборот: модели, маршруты, теги, комментарии, поиск, интеграция с Nextcloud
- Интернет на суднепереключение источников связи, контроль трафика, доступ пассажиров через согласование
- Репликациядокументы между офисом и судами с отслеживанием конфликтов версий
- Карта флотасуда на карте мира в реальном времени и история перемещений
Работа оператора
Время на операции оператора флота
технологии
На чём сделали
- Laravel
- PHP
- React
- Node.js
- Nextcloud
ещё кейсы
Другие проекты
Нужен похожий проект?
Расскажите о задаче: разберём её и предложим решение. Бесплатно.
Алексей СырчинГенеральный директор

