Последние несколько месяцев я занимался проектом, который довольно сильно отличается от привычных материалов про Linux, Windows, серверы и сети.
Я сделал собственный сервис для контейнерной логистики, под названием ГрузоБот.
Это бот в мессенджере MAX, через который грузоотправители, экспедиторы и перевозчики могут размещать грузы и свободные машины, искать подходящие варианты и связываться друг с другом.
Проект уже работает в продакшене, поэтому решил рассказать, зачем вообще понадобился ещё один сервис для логистики, как он устроен и что получилось на практике.

Откуда вообще появилась идея
В контейнерных перевозках огромная часть общения до сих пор происходит в обычных чатах.
Условно это выглядит так:
- кто-то пишет, что есть контейнер из Новороссийска в Москву;
- кто-то размещает свободную машину;
- через несколько минут сообщение уезжает вверх;
- потом его копируют в другой чат;
- через час уже никто не понимает, актуальна заявка или нет.
В итоге грузоотправители и перевозчики постоянно пересылают одни и те же объявления между десятками групп.
Мне хотелось сделать максимально простой вариант: один раз разместил груз или машину, а дальше объявление уже можно найти через поиск.
Так появился ГрузоБот.
Что умеет ГрузоБот
Основная идея проекта это минимум лишних действий.
Пользователь открывает бота, проходит регистрацию и дальше может работать через обычные кнопки.
Сейчас в сервисе можно:
- разместить контейнерный груз;
- разместить свободный контейнеровоз;
- указать город и направление;
- выбрать тип контейнера;
- указать гружёный или порожний контейнер;
- искать грузы;
- искать свободные машины;
- откликаться на объявления;
- вести сделки;
- получать уведомления о новых подходящих заявках.
Есть поддержка портов и контейнерных терминалов, а также обычных складов и ручного ввода места загрузки или выгрузки.
Почему я сделал сервис именно в MAX
Я изначально не хотел делать тяжёлую отдельную платформу с обязательным приложением.
Для логистики важна скорость.
Человеку нужно быстро открыть сервис, посмотреть грузы или свободные машины и продолжить работу.
Поэтому основным интерфейсом стал бот в MAX.
При этом у проекта есть и отдельный сайт gruzbot.ru, где можно посмотреть информацию о сервисе, свежие объявления и воспользоваться дополнительными инструментами.
Проверка компаний по ИНН
Это одна из вещей, которую я хотел сделать с самого начала, хотя бы базовая проверка пользователей.
При регистрации ГрузоБот запрашивает ИНН и проверяет организацию через данные ФНС.
Это, конечно, не означает полную проверку контрагента и не заменяет нормальную юридическую проверку перед серьёзной сделкой.
Но уже на этапе регистрации позволяет отсечь часть случайных пользователей и показать, что организация действительно существует.
Контакты не показываются всем подряд
Ещё одна проблема открытых логистических чатов это номера телефонов и другая контактная информация доступны практически любому участнику.
Так довольно легко собрать базу телефонов для спама.
В ГрузоБоте я пошёл другим путём.
Контактные данные скрыты до момента, когда стороны действительно начинают взаимодействовать по конкретному объявлению.
Также в сервисе есть ограничения на количество действий, чтобы усложнить массовый сбор контактов.
А что внутри технически
Сам проект получился довольно интересным и с технической стороны.
Основной бот написан на Python.
В проекте используются:
- Python;
- aiohttp;
- FastAPI;
- SQLite;
- Nginx;
- systemd;
- webhook API MAX.
Сайт при этом сделан максимально лёгким.
Я специально не хотел превращать его в тяжёлую CMS с десятками плагинов, поэтому публичная часть работает достаточно просто и быстро.
Отдельное внимание пришлось уделить очередям уведомлений, обработке webhook, защите от повторных действий и логированию.
Когда бот работает с реальными пользователями, быстро понимаешь, что сама кнопка «Разместить груз» — это самая простая часть системы.
Первые результаты после запуска
На момент написания статьи ГрузоБот находится в продакшене всего несколько дней.
За первые четыре дня после запуска в сервис пришёло 70 новых пользователей.
Пользователи разместили:
- 3 груза;
- 13 предложений свободного транспорта;
- из них 3 машины с порожним контейнером.
Также пользователи предложили четыре новые контейнерные площадки, и все четыре были добавлены в справочник.
Пока хорошо заметен перекос в сторону перевозчиков: свободных машин в системе значительно больше, чем грузов.
Но для первых дней работы нового двухстороннего сервиса это вполне ожидаемо.
Сейчас основная задача это увеличить количество грузоотправителей и экспедиторов, чтобы внутри сервиса появился нормальный баланс между грузами и транспортом.
Калькулятор загрузки контейнера
Недавно я добавил на сайт ещё один полезный инструмент, визуальный калькулятор загрузки.
В нём можно выбрать контейнер или стандартную тентовую еврофуру, добавить паллеты и посмотреть их размещение сверху.
Поддерживаются:
- 20-футовый контейнер;
- 40-футовый контейнер;
- 40 HC;
- 45 HC;
- стандартный тент 13,6 м;
- европаллеты;
- стандартные паллеты;
- нестандартные грузовые места.
Паллеты можно перемещать вручную, поворачивать или использовать автоматическую расстановку.
Инструмент может пригодиться логистам, экспедиторам и складским работникам для быстрой предварительной оценки загрузки.
Попробовать его можно на странице калькулятора загрузки контейнера и фуры.
Что я хочу получить в итоге
Я не пытаюсь сделать очередную огромную транспортную биржу.
Идея ГрузоБота гораздо проще.
Мне хочется сделать небольшой и удобный инструмент именно для контейнерной логистики.
Чтобы вместо публикации одного объявления в десяти разных чатах можно было один раз добавить груз или машину, а дальше работать через поиск и уведомления.
Сейчас проект только начинает жить своей жизнью, поэтому впереди наверняка ещё будет много изменений.
Но самое главное уже произошло: сервис вышел из стадии тестового проекта и им начали пользоваться реальные люди.
Посмотреть проект можно здесь: ГрузоБот — сервис контейнерной логистики.
Канал м MAX: https://max.ru/channel_gruzobot
Понравилась статья?
Помогите Setiwik.ru создавать больше глубоких обзоров и новостей. Один клик и ваш вклад помогает держать серверы включёнными и авторов мотивированными!
Поддержать проектСпасибо, что вы с нами!



