Bot Manager — Telegram и операции автопарка
Внутренняя операционная панель американской транспортной компании: Telegram-подобный клиент для групп водителей, запланированные посты, опасные зоны, осмотры и ролевой доступ.
- Роль
- Frontend lead · с нуля
- Longhorn Logistics Group
- Год
- 2024
- Стек
- Vue 3TypeScriptVitePiniaTanStack QuerySTOMP/WebSocketLeafletHERE Mapsvue-i18nTailwind CSSVitest
- Моих коммитов
- 1 700+
- Доля в истории
- 79%
- Фич-модулей
- 41
Планирование мультигрупповых постов по часовым поясам США Telegram Mirror: папки чатов и зеркалированные группы водителей Клиенты: подписки, подключённые события и статус оплаты Ролевая модель доступа
Продукт
Диспетчеры, служба безопасности и сервис общаются с сотнями водителей через Telegram-группы. Bot Manager — панель, в которой они работают каждый день: зеркалирует чаты, автоматизирует посты и оповещения и связывает их с данными автопарка — водителями, юнитами, осмотрами (PTI), заказ-нарядами и опасными зонами.
Моя роль
Bot Manager — мой проект с самого первого коммита. Я создал репозиторий в декабре 2024 и сам построил весь фронтенд:
- Архитектура — слои
app / pages / modules / shared, изолированные фич-модули, типизированный API-слой и реестр маршрутов с lazy-load и фича-флагами. - Сборка — настройка Vite и TypeScript и определение нового релиза с предложением обновить страницу.
- Real-time и устойчивость — единый STOMP-клиент, стратегия переподключения и корректная обработка перезапуска сервера и истёкших сессий.
- DX — ESLint, Prettier, husky, lint-staged, commitlint со скоупами модулей и pre-push с type-check, тестами и staging-сборкой.
- Продукт — общий UI-кит и большая часть из 41 фич-модуля: Telegram Mirror, посты, опасные зоны, PTI и RBAC.
Я написал ~80% истории кодовой базы (1 700+ коммитов) и остаюсь её лидом.
Архитектура
- Слои —
app / pages / modules / shared; тонкие страницы маршрутов, изолированные модули без взаимных импортов и 35 типизированных API-доменов с queries и mutations (TanStack Query), Pinia для клиентского состояния. - Реестр маршрутов с lazy-load и фича-флагами на этапе сборки.
- RBAC — ~20 групп прав, применяемых к маршрутам и даже к отдельным папкам чатов.
Ключевое
- Telegram Mirror — Telegram-подобный клиент с папками чатов, закреплёнными сообщениями, медиа и голосовыми, историей удалённых сообщений и поиском. Список сообщений — двунаправленное окно с переходами: подгружает вокруг вьюпорта и центрируется на ответе или результате поиска.
- Устойчивый real-time — единый STOMP-клиент, сохраняющий обработчики при переподключениях, ставящий в очередь подписки до подключения и восстанавливающийся при возврате сети или вкладки.
- Корректная деградация — при 502/503/504 баннер «сервер перезапускается» с backoff и refetch; только 401 разлогинивает и возвращает на ту же страницу; при новом деплое предлагается обновиться.
- Планирование по часовым поясам — мультигрупповые посты с превью CT/ET/MT/PT, таргетингом по штатам, закреплением и автоудалением.
- Планка качества — ноль ошибок типов, Conventional Commits со скоупами модулей и pre-push с type-check, тестами и staging-сборкой.
Следующий проект
Load Up — TMS и диспетчерская доска