Платформа управления автопарком на базе GPS-трекинга, телеметрии CAN-шины и ML-аналитики.
| Статус | В тестовой эксплуатации на реальных машинах |
|---|---|
| Стек | NestJS, TypeScript, PostgreSQL, React, MUI, Leaflet, Python (ML) |
| Архитектура | 5 микросервисов в Docker-стеке под Traefik |
| Масштаб | 35 backend-модулей, ~20 фронтенд-страниц |
Система мониторинга транспорта - платформа управления автопарком для компаний, которые эксплуатируют коммерческую технику и хотят понимать, что с ней происходит. Система собирает данные с GPS-трекеров и CAN-шины машин, в реальном времени показывает положение и состояние парка на карте, ведёт историю перемещений, анализирует телеметрию двигателя и расход топлива, регистрирует события и отправляет уведомления в telegram, ведёт учёт ремонтов и технического обслуживания, списывает со счёта компании ежедневную оплату.
На карте - все машины компании в моменте. Для каждой видны актуальные параметры: скорость, направление, обороты, температура охлаждающей жидкости, напряжение бортовой сети, уровень топлива, ошибки двигателя.
История маршрутов - с очисткой треков от спуфинга, дрейфа на парковках и помех от РЭБ. Графики телеметрии - с детекцией заправок, сливов и аномалий расхода. Журнал событий - с алертами о критических состояниях машины и накопленой статистикой. Учёт техники - с привязкой ремонтов, проблем, документов и истории технического обслуживания. Биллинг - со списанием абонентской платой по тарифам, контролем остатков, защитой от двойных списаний.
Параллельно работает Python ML-сервис, который на индивидуальных моделях для каждой машины ищет аномалии - текущий контур включает потерю тяги и деградацию генератора, архитектура будет расширяться добавлением новых детекторов.
Компании с автопарком от 5-10 машин, которым важно не просто знать "где машина", а понимать состояние парка: кто из водителей как водит, сколько потрачено топлива, где происходили остановки, определение продолжительных простоев на холостом ходу. Решение подойдёт транспортным предприятиям, строительным компаниям с парком спецтехники, сельхозпредприятиям, коммунальным службам, корпоративным автопаркам.
Wialon, GPSWox и другие готовые решения - это закрытые системы со стандартным набором функций. Они хорошо подходят, если задача стандартная: показать машины на карте, посчитать пробег, выгрузить отчёт. Но как только бизнесу нужны нестандартные сценарии - индивидуальные алерты под специфику парка, собственные ML-детекторы, интеграция с внутренней CRM или 1С, специфический биллинг, - готовая система может не подойти.
Данная система с самого начала спроектирована как расширяемая платформа: открытая архитектура, документированный API, возможность писать собственные детекторы аномалий, гибкая модель тарификации, мультитенантность для обслуживания нескольких компаний с одной инсталляции. Это не альтернатива Wialon "по функциям", это альтернатива "по подходу" - для тех, кому нужна система под себя.

Основное приложение - NestJS 11 + TypeScript 5.7, TypeORM 0.3 + PostgreSQL 15, Socket.io 4 для real-time, JWT через passport-jwt + bcrypt, PDFKit для генерации документов, dayjs/luxon для работы со временем, class-validator + class-transformer для DTO, @nestjs/schedule для cron-задач, multer для загрузок, Swagger для документации API.
TCP-серверы для трекеров - три реализации парсеров протоколов поверх Node.js TCP: Sinotrack, Galileosky, Vega/Wialon-IPS. Развёртываются как часть основного приложения на отдельных портах (9090, 9091).
ML-сервис - отдельный микросервис на Python 3 + apscheduler + pandas. Хранит обученные модели в Docker-volume.
Tile-proxy - отдельный микросервис на Node.js + sharp для хранения кеша карт и конвертации в WebP.