Research indexJournal article
Разработка сервиса по аренде водного транспорта
Немчинов
Electronic Library of Peter the Great Polytechnic University21 Aug 2026Open access
NobleIDark:/48914/w1/20261105/3B539FDEDOI10.18720/spbpu/3/2026/vr/vr26-1850
Разработка сервиса по аренде водного транспорта
Немчинов · Electronic Library of Peter the Great Polytechnic University · 2026
NobleIDark:/48914/w1/20261105/3B539FDEDOI10.18720/spbpu/3/2026/vr/vr26-1850
Free to read at the publisher
You can read the abstract here, or the full text at the publisher.
Abstract
Данная работа посвящена разработке прототипа backend-части сервиса по аренде водного транспорта. Разрабатываемый сервис предназначен для автоматизации процесса подбора судна, проверки его доступности, расчёта стоимости аренды, оформления бронирования и предоставления актуального расписания участникам процесса. Необходимость разработки обусловлена тем, что в рассматриваемой предметной области все заявки обрабатывается вручную через разрозненные каналы. Это приводит к увеличению нагрузки на менеджера, риску конфликтов расписания и недостаточной прозрачности процесса бронирования для клиента. Задачи, которые решались в ходе исследования: 1. Провести анализ предметной области аренды водного транспорта и существующих решений. 2. Определить основных участников процесса аренды и описать типовой процесс бронирования. 3. Сформулировать бизнес-правила, функциональные и нефункциональные требования к разрабатываемой системе. 4. Спроектировать архитектуру backend-приложения и схему базы данных. 5. Разработать прототип backend-части сервиса. 6. Провести верификацию разработанного прототипа и выполнить анализ полученных результатов. В ходе работы были рассмотрены особенности процесса аренды водного транспорта, включая выбор судна, проверку вместимости, расчёт стоимости, управление доступностью и жизненный цикл бронирования. Были выделены основные роли пользователей системы: клиент, менеджер, капитан и администратор. На основании анализа предметной области были сформулированы требования к сервису, определены границы прототипа и выбрана архитектура модульного монолита. В результате был разработан прототип backend-части сервиса, включающий модули аутентификации, управления пользователями, судами, тарифами, расписанием, бронированиями, административными приглашениями и ограниченным контуром капитана. Верификация прототипа проводилась на нескольких уровнях: модульном, интеграционном и функциональном. Были проверены ключевые бизнес-правила системы. Также была выполнена проверка производительности основных операций. Результаты тестирования подтвердили, что разработанный прототип соответствует основным функциональным и нефункциональным требованиям. Для достижения данных результатов в работе были использованы следующие информационные технологии, программное обеспечение, базы данных и прочие ресурсы: язык программирования Go, стандартная библиотека Go, REST API, формат обмена данными JSON, система управления базами данных PostgreSQL, драйвер PostgreSQL pgx, Docker и Docker Compose для контейнерного запуска приложения и базы данных, Git для контроля версий, среда разработки GoLand, Postman для ручной проверки API, а также встроенные средства Go testing и net/http/httptest для автоматизированного тестирования.