ООО "Фемко-менеджмент"
Транспортные услуги
Россия, Санкт-Петербург
Сентябрь 2025
Femco – это судоходная компания, осуществляющая контроль и администрирование морских перевозок.
Разработчики CRT усилили laravel-команду клиента, а затем подключились к фронтенд-разработке в стеке React.
Какие задачи стояли перед нами на проекте:
1) Поддержка и доработка СУБ (SMS – Safety Management System)
2) Разработка модуля «Интернет на судно»
3) Репликация по документам боевого сервера с судовым
4) Реализация отображения положения судов компании на карте мира.
Подробнее о каждой из них расскажем в блоке решений.
СУБ (или SMS – Safety Management System) – это аббревиатура, обозначающая систему управления безопасностью. Такая система позволяет персоналу судна эффективно внедрять политику безопасности и охраны окружающей среды. В рамках проекта мы работаем над поддержкой и доработкой backend и frontend составляющих модуля документооборота системы:
1) создали необходимые заказчику модели, маршруты, контроллеры для СУБ
2) настроили интеграцию с Nextcloud
3) провели редизайн и доработали страницы, оптимизировали загрузку данных
4) осуществили доработку методов по backend
5) провели frontend доработки (флаги разделов, тэги, комментирование, поиск).
Модуль построен на основе Web приложения, использующего в качестве бэкенда PHP фреймворк Laravel. Для взаимодействия с коммуникационным оборудованием используется низкоуровневый сервис-транслятор команд на Node.JS. Через указанный сервис модуль собирает статус доступных источников сети Интернет и производит эффективное переключение.

1) Модуль добавляет в судовую версию учетной системы возможности управления источником сети Интернет на судах Компании. А также авторизованным в приложении на судне пользователям (экипажу и пассажирам) возможность использовать выбранное подключение для доступа в интернет с контролем расхода трафика
2) Модуль по командам от экипажа регулирует режим работы судовой сети и ограничивает доступ в нештатных ситуациях
3) Модуль позволяет регистрировать пассажиров и через согласование по Workflow предоставлять доступ в сеть Интернет
4) Дополнительно предоставляет возможность изменять и учитывать локальное время на судне относительно UTC
Для синхронизации данных системы и документов используется подсистема репликации. Система позволяет задать правила обмена для схемы с центральным узлом (офис). Это оптимизирует трафик для актуализации одинакового состояния данных на узлах с учетом доступного в данный момент на судне источника интернета.

1) Репликация производится по текущим сменам на судне с выгрузкой данных в соответствии с действующим списком экипажа
2) При обновлении документов экипажа/ судна/офиса новые документы реплицируются в судовую версию. При добавлении сертификатов судов в судовой версии, они должны реплицироваться на береговой сервер
3) В случае одновременного изменения документов на нескольких узлах система отслеживает возникновение конфликта версий и предлагает варианты его разрешения
Данные о положении собираются с навигационного устройства каждого судна и передаются в базу офисной версии приложения для хранения и анализа.
1) При отсутствии связи с судном данные сохраняются в локальной базе до появления интернета
2) Политика хранения позволяет просматривать историю перемещения корабля за выбранный период
3) Разработанное приложение может работать в режиме дашборда, отображающего положение судов в реальном времени.

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