24 июл. 2026 г.

Платформа управления инженерными проектами: аукционы, real-time чаты и документооборот

Fullstack-платформа для инженерных проектов с многораундовой аукционной системой, real-time чатами, ролевым доступом и документооборотом с версионированием — от архитектуры до деплоя за 3 месяца в одиночку.

Платформа управления инженерными проектами: аукционы, real-time чаты и документооборот
TypeScriptJavaScriptNestJSNext.jsPostgreSQLRedisDrizzle ORMDockerFastifyBullMQMinIO / S3Node.jsGitlab CI/CDDDDCQRSClean Architecture Event-Driven

Контекст

Нужна была платформа для управления инженерными проектами: заказчики выставляют проекты на конкурс, подрядчики участвуют в многораундовых торгах, стороны согласовывают и подписывают документы, общаются в реальном времени. Вёл проект самостоятельно, fullstack, от архитектуры до продакшена — три месяца до MVP.

Архитектура

Backend спроектирован по Clean Architecture с CQRS-разделением команд и запросов. Ключевые бизнес-модули:

  • Аукционы — многораундовые торги с автозавершением и real-time обновлениями состояния для всех участников.
  • Чаты — обмен сообщениями в реальном времени между заказчиком и подрядчиками.
  • Уведомления — оповещения об изменениях статуса аукциона, новых сообщениях, событиях документооборота.
  • Документооборот — версионирование файлов, цепочка согласования и подписания, асинхронная конвертация в PDF.
  • CMS — управление контентом платформы.

Аукционная система

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

Документооборот

Отдельный модуль для работы с документами: версионирование файлов при повторной загрузке, выстроенная цепочка подписания (кто и в каком порядке подтверждает документ), и асинхронная конвертация загруженных файлов в PDF через очередь задач, чтобы не блокировать основной поток запросов.

Инфраструктура и деплой

Настроен CI/CD в GitLab, контейнеризация через Docker, процесс деплоя — от коммита до раскатки на сервере.