IT и Разработка Реализован в июле 2026

TMS для американской грузоперевозочной компании: рейсы и документы, мобильные экраны водителя, расчёт зарплат и P&L-отчёты. Fullstack на NestJS + React, PostgreSQL, TypeScript

TMS для американской грузоперевозочной компании: рейсы и документы, мобильные экраны водителя, расчёт зарплат и P&L-отчёты. Fullstack на NestJS + React, PostgreSQL, TypeScript

Грузоперевозчик из США: свои тягачи и прицепы, наёмные водители, диспетчер и владелец. Рейсы жили в таблицах, документы водители слали фотографиями в мессенджер, зарплату и прибыль владелец считал в Excel.

Задача: одна система на весь цикл рейса и на деньги вокруг него, с тремя ролями: владелец, диспетчер и водитель.

Что сделано:
- бэкенд на NestJS и TypeScript, PostgreSQL через Prisma, около 16 модулей: рейсы и точки, водители и техника, брокеры, документы, расходы, тарифные планы, выплаты, отчёты;
- водитель с телефона отмечает прибытие и убытие на точках и прикладывает документы, без них точку не закрыть; офис видит отметки без перезагрузки;
- деньги: недельная выплата собирается сама по тарифному плану водителя (процент от ставки или мили), после отметки «выплачено» расчёт замораживается; месячный P&L по водителям и категориям расходов, выгрузка в PDF;
- фронтенд на React и TypeScript с Redux Toolkit и RTK Query, тёмная и светлая темы;
- безопасность: JWT с ротацией refresh-токенов, роли на каждом маршруте, шифрование чувствительных данных водителя AES-256-GCM;
- Docker Compose, Caddy с HTTPS, деплой на сервер заказчика через GitHub Actions; отдельно публичный сайт компании на Astro.

Результат: компания перешла с таблиц и переписки на одну систему. Рейс доходит до денег по понятной цепочке статусов, зарплата и прибыль считаются системой, правки из живой работы выкатываются в тот же день.

Стек: NestJS, Node.js, TypeScript, PostgreSQL, Prisma, React, Redux Toolkit, Tailwind, Docker, Caddy, GitHub Actions.

Мхитар Манасян
Мхитар Манасян
Эксперт Гильдии · № 24 в Рейтинге России
12

Публикуйте свои проекты в Гильдии

Проект в профиле участника — это подтверждённая работа рядом с компетенциями и рейтингом, а не просто картинка в портфолио.