Доработка системы для управления внутренними процессами судовладельца и оператора оффшорного флота
React Laravel Frontend Backend
Femco
2023 – 2024
Главное о проекте
Femco — это судоходная компания, осуществляющая контроль и администрирование морских перевозок.
Разработчики Creative усилили laravel-команду клиента, а затем подключились к фронтенд-разработке в стеке React
Задачи
Реализация отображения положения судов компании на карте мира
Репликация по документам боевого сервера с судовым
Разработка модуля «Интернет на судно»
Поддержка и доработка СУБ (SMS — Safety Management System)
Задача ( 01 )
Поддержка и доработка СУБ
СУБ (или SMS — Safety Management System) — это аббревиатура, обозначающая систему управления безопасностью. Такая система позволяет персоналу судна эффективно внедрять политику безопасности и охраны окружающей среды. В рамках проекта мы работаем над поддержкой и доработкой backend и frontend составляющих модуля документооборота системы
( 01 )
Создание необходимых моделей, маршрутов, контроллеров для СУБ
( 02 )
Интеграция с Nextcloud
( 03 )
Редизайн и доработка страниц, оптимизация загрузки данных
Модуль построен на основе Web приложения, использующего в качестве бэкенда PHP фреймворк Laravel. Для взаимодействия с коммуникационным оборудованием используется низкоуровневый сервис-транслятор команд на Node.JS. Через указанный сервис модуль собирает статус доступных источников сети Интернет и производит эффективное переключение
( 01 )
Модуль добавляет в судовую версию учетной системы возможности управления источником сети Интернет на судах Компании. А также авторизованным в приложении на судне пользователям (экипажу и пассажирам) возможность использовать выбранное подключение для доступа в интернет с контролем расхода трафика
( 02 )
Модуль по командам от экипажа регулирует режим работы судовой сети и ограничивает доступ в нештатных ситуациях
( 03 )
Модуль позволяет регистрировать пассажиров и через согласование по Workflow предоставлять доступ в сеть Интернет
( 04 )
Дополнительно предоставляет возможность изменять и учитывать локальное время на судне относительно UTC
Задача ( 03 )
Репликация документов центрального сервера с судовым
Для синхронизации данных системы и документов используется подсистема репликации. Система позволяет задать правила обмена для схемы с центральным узлом (офис). Это оптимизирует трафик для актуализации одинакового состояния данных на узлах с учетом доступного в данный момент на судне источника интернета
( 01 )
Репликация производится по текущим сменам на судне с выгрузкой данных в соответствии с действующим списком экипажа
( 02 )
При обновлении документов экипажа/ судна/офиса новые документы реплицируются в судовую версию. При добавлении сертификатов судов в судовой версии, они должны реплицироваться на береговой сервер
( 03 )
В случае одновременного изменения документов на нескольких узлах система отслеживает возникновение конфликта версий и предлагает варианты его разрешения
Задача ( 04 )
Отображение положения судов компании на карте мира
Данные о положении собираются с навигационного устройства каждого судна и передаются в базу офисной версии приложения для хранения и анализа
( 01 )
При отсутствии связи с судном данные сохраняются в локальной базе до появления интернета
( 02 )
Политика хранения позволяет просматривать историю перемещения корабля за выбранный период
( 03 )
Разработанное приложение может работать в режиме дашборда, отображающего положение судов в реальном времени
Особым вызовом для нас стала реализация репликации изменений в распределенной системе с обнаружением конфликтов обмена
Этот проект был интересен для нас в первую очередь тем, в какой сфере мы применяем стандартные для нас практики. Например, тестовым стендом для дорабатываемой нами системы стало полноценное судно из флота компании