Логистика и транспорт

ТК «Сияние» — приложение водителя

ТК «Сияние» — приложение водителя — 1

Архитектурный аудит и полное проектирование системы для цифровизации грузоперевозок ТК «Сияние» — рефрижераторного перевозчика с парком 300+ автопоездов, работающего по России и СНГ с 1998 года. Аудит определил два продукта на общем бэкенде: offline-first мобильное приложение для водителей-дальнобойщиков и веб-панель для диспетчеров, механиков и начальников автоколонн.

Интеграция с 1С:TMS

Ключевая сложность: 1С:TMS заказчика закрыта и не имеет внешнего API. Мы спроектировали промежуточный буфер на PostgreSQL, к которому 1С подключается по SSL. Реалтайм обеспечивает механизм change_log + LISTEN/NOTIFY — бэкенд узнаёт об изменениях из 1С за ~10–50 мс, — а 1С опрашивает тот же лог для изменений со стороны водителя. Без VPN, без Kafka и RabbitMQ.

Offline-first приложение

Водители работают в зонах без связи, поэтому каждое действие сначала пишется в локальную Capacitor SQLite и синхронизируется позже через FIFO-очередь. Background Fetch отправляет очередь при восстановлении связи; конфликты разрешаются по принципу server-wins с уведомлением пользователя. Aggressive preload при запуске загружает активную заявку, контакты, шаблоны и ближайшие POI.

Конечный автомат статусов

Одна кнопка «Следующий шаг» ведёт водителя по линейной цепочке статусов (Принял → В пути → Прибыл → На загрузке → Документы → Завершён), а внештатные состояния (поломка, ДТП, отдых, КРАСНЫЙ КОД) накладываются сверху как блокирующий overlay. Каждый переход логируется с автором, временем и GPS.

КРАСНЫЙ КОД

Тревожная кнопка с гарантированной доставкой — приоритетные повторы при плохой связи, мгновенная рассылка всем диспетчерам с GPS-координатами и эскалация по таймеру 0 / 5 / 15 минут вплоть до руководства и автозвонка.

Стек и целевые показатели

FastAPI REST + WebSocket, PostgreSQL 16, Redis 7, Celery, Yandex Object Storage, FCM/APNs. Спроектировано под API p95 < 500 мс, доставку сообщений < 2 с, до 1 000 одновременных WebSocket-соединений, доступность 99.5% и хранение данных 3 года.

Ключевые особенности

  • 1С без API — промежуточная БД + LISTEN/NOTIFY для реалтайма ~10–50 мс, polling обратно в 1С
  • Offline-first — очередь на Capacitor SQLite с фоновой синхронизацией и разрешением server-wins
  • КРАСНЫЙ КОД — тревожная кнопка с гарантированной доставкой и эскалацией 0 / 5 / 15 минут
  • Overlay-модель статусов — штатные + внештатные статусы с полным аудит-логом
  • GPS-трекинг — пинг каждые 5 минут и при каждой смене статуса, авто-снятие «Отдыха» выше 50 км/ч
  • Два приложения, один бэкенд — приложение водителя + веб-панель диспетчера на общей UI-библиотеке
  • Поставка — проектирование системы, ТЗ, нормализованная схема БД (3НФ), спецификация интеграции и дорожная карта на май–август 2026