с 2004 года
разработчики №1 в Тюмени
Доработка системы для управления внутренними процессами судовладельца и оператора оффшорного флота
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 )
Редизайн и доработка страниц, оптимизация загрузки данных
( 04 )
Доработка методов по backend
( 05 )
Frontend доработки (флаги разделов, тэги, комментирование, поиск)
Задача ( 02 )
Модуль «Интернет на судно»
Модуль построен на основе Web приложения, использующего в качестве бэкенда PHP фреймворк Laravel. Для взаимодействия с коммуникационным оборудованием используется низкоуровневый сервис-транслятор команд на Node.JS. Через указанный сервис модуль собирает статус доступных источников сети Интернет и производит эффективное переключение
( 01 )
Модуль добавляет в судовую версию учетной системы возможности управления источником сети Интернет на судах Компании. А также авторизованным в приложении на судне пользователям (экипажу и пассажирам) возможность использовать выбранное подключение для доступа в интернет с контролем расхода трафика
( 02 )
Модуль по командам от экипажа регулирует режим работы судовой сети и ограничивает доступ в нештатных ситуациях
( 03 )
Модуль позволяет регистрировать пассажиров и через согласование по Workflow предоставлять доступ в сеть Интернет
( 04 )
Дополнительно предоставляет возможность изменять и учитывать локальное время на судне относительно UTC
Задача ( 03 )
Репликация документов центрального сервера с судовым
Для синхронизации данных системы и документов используется подсистема репликации. Система позволяет задать правила обмена для схемы с центральным узлом (офис). Это оптимизирует трафик для актуализации одинакового состояния данных на узлах с учетом доступного в данный момент на судне источника интернета
( 01 )
Репликация производится по текущим сменам на судне с выгрузкой данных в соответствии с действующим списком экипажа
( 02 )
При обновлении документов экипажа/ судна/офиса новые документы реплицируются в судовую версию. При добавлении сертификатов судов в судовой версии, они должны реплицироваться на береговой сервер
( 03 )
В случае одновременного изменения документов на нескольких узлах система отслеживает возникновение конфликта версий и предлагает варианты его разрешения
Задача ( 04 )
Отображение положения судов компании на карте мира
Данные о положении собираются с навигационного устройства каждого судна и передаются в базу офисной версии приложения для хранения и анализа
( 01 )
При отсутствии связи с судном данные сохраняются в локальной базе до появления интернета
( 02 )
Политика хранения позволяет просматривать историю перемещения корабля за выбранный период
( 03 )
Разработанное приложение может работать
в режиме дашборда, отображающего положение судов в реальном времени
Особым вызовом для нас стала реализация репликации изменений в распределенной системе с обнаружением конфликтов обмена
Этот проект был интересен для нас в первую очередь тем, в какой сфере мы применяем стандартные для нас практики. Например, тестовым стендом для дорабатываемой нами системы стало полноценное судно из флота компании
Дмитрий
техлид проекта
Комментарии от команды
менеджер проекта
Василий