Авторизация
Сброс пароля
Биржа Подряда — разработка электронной торговой B2B-платформы для строительной отрасли
Заказчик: Биржа Подряда

От продуктовой аналитики до микросервисной архитектуры: собственная ЭТП, агрегатор тендеров, рейтинг СБРС, УКЭП, ЭДО, биллинг и операторский back-office для строительной отрасли.
1. Вводная задача от заказчика, проблематика, цели
О проекте
«Биржа Подряда» — специализированная цифровая платформа для участников строительного рынка. Система объединяет заказчиков, подрядчиков и субподрядчиков и предоставляет инструменты для поиска контрагентов, проведения закупочных процедур, участия в электронных торгах, работы с объявлениями и анализа компаний.
В рамках одного продукта реализованы собственная электронная торговая площадка, агрегатор внешних тендеров, каталог строительных организаций, сервисы поиска заказчиков и поставщиков, система объявлений, личные кабинеты, рейтинговая система СБРС, электронная подпись, биллинг и административный back-office.
Проект разработан командой «Цифрового Элемента» как самостоятельная информационная система с микросервисной архитектурой.
Задача
Перед командой стояла задача создать не очередной каталог тендеров, а специализированный цифровой продукт, учитывающий реальные процессы строительной отрасли.
- помогать заказчикам находить и проверять подрядчиков;
- предоставлять подрядчикам доступ к актуальным закупкам и заказам;
- обеспечивать проведение собственных электронных процедур;
- поддерживать разные сценарии закупок — конкурсы, аукционы и запросы предложений;
- учитывать квалификацию и рейтинг организаций;
- обеспечивать работу с УКЭП и электронным документооборотом;
- автоматизировать жизненный цикл закупочной процедуры;
- предоставить операторам инструменты модерации и контроля;
- реализовать коммерческую модель с платными сервисами;
- обеспечить возможность последовательного развития продукта и подключения новых функциональных контуров.
Одной из основных сложностей стала не собственно веб-разработка, а формализация отраслевых процессов и превращение их в понятную, непротиворечивую и автоматизируемую цифровую модель.
2. Описание реализации кейса и творческого пути по поиску оптимального решения
Продуктовая аналитика и проектирование
До начала основной разработки была проведена большая работа по продуктовой и системной аналитике. Команда «Цифрового Элемента» совместно с заказчиком изучала процессы взаимодействия участников строительного рынка и проектировала будущую логику платформы.
На этапе аналитики были проработаны:
- роли, полномочия и ограничения пользователей;
- жизненные циклы организаций, объявлений, заявок и торговых процедур;
- различные типы электронных закупок и правила перехода между этапами;
- правила допуска участников и механика рейтинга СБРС;
- сценарии работы конкурсной комиссии;
- аукционные механики, второй этап конкурса и переторжка;
- модерация организаций, объявлений и заявок;
- уведомления и событийные сценарии;
- биллинг и платные сервисы;
- работа с электронной подписью и юридически значимыми документами;
- операторские и административные процессы.
В результате была сформирована продуктовая модель, в которой сложные отраслевые процессы разложены на формализованные роли, статусы, события, проверки и автоматические переходы. Команда выступала не только разработчиком по готовому техническому заданию, но и участвовала в проектировании самого цифрового продукта.
Архитектура решения
Система построена по микросервисной архитектуре. Функциональные области разделены между сервисами с собственными зонами ответственности и бизнес-логикой. Такой подход снижает связанность подсистем, упрощает развитие отдельных компонентов и позволяет масштабировать наиболее нагруженные контуры независимо от всей платформы.
В архитектуре используются разные способы интеграции в зависимости от характера взаимодействия:
- REST API — для интеграционного контура агрегатора тендеров;
- gRPC — для интеграции с 1С ERP;
- Apache Kafka — для событийного и асинхронного обмена между компонентами системы.
Личный кабинет пользователя на Frontend реализован как SPA — Single Page Application. Интерфейс на React, Redux и TypeScript работает как единое клиентское приложение и динамически меняется в зависимости от роли пользователя, состояния организации, этапа процедуры, рейтинга СБРС, наличия электронной подписи и других параметров.
Электронная торговая площадка
Один из ключевых модулей системы — собственная ЭТП. Мы реализовали полный жизненный цикл электронных закупочных процедур нескольких типов: конкурс, аукцион и запрос предложений.
При создании процедуры заказчик определяет параметры закупки, сроки этапов, требования к участникам, позиции товаров или услуг, документацию и другие условия. Процедуру можно сохранить как черновик, запустить, изменить в рамках доступных для текущего этапа параметров, отменить или завершить.
Базовый жизненный цикл процедуры:
Публикация → Прием заявок → Рассмотрение → Торги / комиссия → 2-й этап → Победитель → Договор
Для разных типов процедур предусмотрены собственные сценарии, включая работу комиссии, аукционные ставки, историю ставок, повторные этапы и переторжку.
Заявки и квалификация участников
Участники могут подавать заявки, прикладывать необходимые документы, редактировать и отзывать предложения до завершения соответствующего этапа. Система автоматически учитывает требования процедуры и ограничения по допуску.
Одним из критериев является рейтинг СБРС. Заказчик может установить минимальный уровень рейтинга для участия, а система проверяет соответствие организации заданному условию. Рейтинг становится частью бизнес-логики закупки, а не просто информационным показателем в карточке компании.
Электронные аукционы
Для процедур типа «Аукцион» разработан отдельный механизм проведения торгов. Участники делают ценовые предложения в рамках установленного времени и шага аукциона, система хранит историю ставок и управляет состоянием торгов. Автор процедуры и участник получают разные представления хода аукциона.
Конкурсы, комиссия и второй этап
После окончания приема заявок заказчик получает инструменты рассмотрения, допуска или отклонения участников и загрузки протоколов. Если условия конкурса предусматривают второй этап, заказчик может определить новые сроки и пригласить выбранных участников повторно представить предложения.
Переторжка
Для запросов предложений предусмотрена переторжка. Заказчик может включить ее в сценарий процедуры и после завершения соответствующего этапа повторно запросить предложения у выбранных участников. Система управляет переходом процедуры в новое состояние и повторным циклом работы с предложениями.
Запросы на разъяснение
Участник может направить заказчику запрос на разъяснение условий процедуры, добавить текст и приложить файлы. Для автора процедуры предусмотрен отдельный сценарий обработки и ответа. Важная часть коммуникации по закупке остается внутри платформы и привязана к конкретной процедуре.
Агрегатор внешних тендеров
Помимо собственных процедур «Биржи Подряда», разработан агрегатор внешних закупок. Платформа получает данные из внешних источников и приводит их к единой структуре, чтобы пользователь мог работать с закупками в одном интерфейсе.
Интеграционный контур агрегатора построен на REST API. На стороне платформы реализованы получение и обработка данных, поиск, фильтрация, сортировка, карточка тендера, избранное и переход на исходную электронную площадку для дальнейшего участия.
Таким образом, пользователь получает единое пространство для поиска внешних закупок и собственных процедур площадки.
Поиск поставщиков и заказчиков
На базе данных платформы реализованы отдельные инструменты поиска поставщиков и заказчиков. Пользователь может изучать компании, переходить в карточки организаций и использовать накопленную информацию при поиске потенциальных контрагентов.
За счет этого массив закупочной информации используется не только для поиска отдельных тендеров, но и как основа для B2B-аналитики строительного рынка.
Организации и профили участников рынка
Для полноценной работы на площадке пользователь создает профиль организации. Карточка компании содержит структурированную информацию о юридических данных, адресах, контактах, регионах работы, направлениях деятельности, бригадах, оборудовании, выполненных работах, документах, сертификатах и лицензиях.
Создание и изменение организации связано с процессом модерации. Изменения отдельных блоков могут формировать самостоятельные заявки оператору, а состояние организации зависит от результатов их обработки.
Такой подход позволяет разделить пользовательское редактирование данных и их публикацию в доверенном контуре площадки.
СБРС — оценка надежности контрагентов
В платформу встроена Строительная балльно-рейтинговая система СБРС. Она используется для оценки организаций и связана сразу с несколькими функциональными контурами.
Рейтинг отображается в карточке организации, учитывается при допуске к закупочным процедурам и имеет отдельный процесс изменения и модерации. Для оператора предусмотрена специальная очередь заявок, после обработки которых новое значение рейтинга сохраняется в системе.
СБРС стал частью механизма квалификации контрагентов и управления рисками при выборе подрядчика.
УКЭП и электронный документооборот
Для юридически значимых сценариев реализована работа с усиленной квалифицированной электронной подписью. Интеграция с КриптоПро позволяет привязывать сертификат к профилю, проверять его и использовать в предусмотренных бизнес-процессах площадки.
При работе с электронной подписью учитываются техническая доступность КриптоПро, наличие сертификата, срок его действия, доступность носителя, соответствие данных сертификата данным организации и состояние учетной записи.
Контур электронной подписи связан с электронным документооборотом и процедурами, в которых требуется юридически значимое подтверждение действий и документов.
Объявления и поиск подрядчиков
Помимо формализованных закупочных процедур разработан более простой сценарий взаимодействия — объявления. Пользователь может разместить потребность в подрядчике или работе, а другие участники — найти объявление и оставить отклик.
Для автора доступны собственные объявления и полученные отклики, для подрядчика — история его откликов. Объявления проходят модерацию и имеют собственный жизненный цикл: черновик, отправка на проверку, публикация, редактирование и отклонение.
Избранное, подписки и уведомления
В избранное можно добавлять процедуры, внешние тендеры и объявления. Подписки и уведомления позволяют не повторять одни и те же поисковые действия и отслеживать изменения по интересующим объектам.
Событийная система сопровождает пользователя на протяжении бизнес-процессов: приглашения к участию, изменение этапов процедуры, решения комиссии, начало торгов, завершение этапов и другие значимые события.
Биллинг и платные сервисы
Платформа проектировалась как коммерческий продукт, поэтому в нее встроен собственный биллинг. В личном кабинете реализованы баланс, пополнение счета, подключение платных услуг и история финансовых операций.
Система разделяет операции пополнения и списания, хранит данные транзакций, сумму, время и тип операции. Для административного контура предусмотрено управление стоимостью услуг и ручное пополнение баланса пользователя.
Такой подход позволяет подключать к платформе разные модели монетизации и развивать платные информационные сервисы без изменения базовой логики продукта.
Ролевая модель и back-office
Публичный интерфейс — только часть системы. Для операционной работы разработан отдельный back-office с разграничением полномочий между ролями.
В системе предусмотрены пользовательские и служебные роли:
- Пользователь;
- Автор процедуры;
- Участник;
- Оператор;
- Администратор;
- Суперадминистратор.
Оператор отвечает за модерацию организаций и объявлений, обработку заявок, управление СБРС и справочниками. Административный контур позволяет управлять пользователями, ролями, статусами, контентом, документами, баннерами, тарифами, шаблонами, заявками в поддержку и конфигурационными сущностями.
Для блокировок, повторной модерации, архивирования и удаления предусмотрены отдельные правила и состояния, а часть переходов выполняется системой автоматически.
Интеграция с 1С ERP
Для интеграции с 1С ERP используется gRPC. Такой вариант взаимодействия применяется в отдельном интеграционном контуре и позволяет организовать строго типизированный обмен между сервисами платформы и учетной системой.
Интеграция является частью общей микросервисной архитектуры и отделена от REST API, используемого агрегатором внешних тендеров.
Frontend: SPA личного кабинета
Личный кабинет реализован как SPA на React, Redux и TypeScript. Пользователь взаимодействует с системой как с единым веб-приложением без классической перезагрузки страниц при каждом переходе.
Для сложной B2B-системы это особенно важно: один и тот же объект может иметь разные состояния и действия в зависимости от роли пользователя, статуса организации, этапа процедуры, рейтинга, наличия УКЭП и результатов модерации.
Frontend должен синхронно отражать изменения backend-состояний, управлять большими формами, таблицами, фильтрами, модальными сценариями и специализированными экранами проведения закупочных процедур.
Разработка и выпуск изменений
Для проекта выстроен управляемый процесс разработки и поставки изменений. Исходный код и командная работа организованы в GitLab, выпуск изменений автоматизирован с использованием CI/CD.
В процессе применяются практики SDLC и DevSecOps. Изменения проходят разработку, code review, тестирование и контролируемую поставку. QA является частью жизненного цикла разработки, что особенно важно для системы со сложными статусными моделями, электронными подписями, платежами и закупочными процедурами.



3. Результаты сотрудничества
Мы разработали с нуля отраслевую B2B-платформу, объединяющую несколько классов цифровых решений в одной информационной системе:
- электронную торговую площадку;
- агрегатор внешних тендеров;
- каталог и профили подрядчиков;
- поиск заказчиков и поставщиков;
- рейтинговую систему СБРС;
- сервис объявлений и откликов;
- УКЭП и электронный документооборот;
- биллинг и платные сервисы;
- операторский и административный back-office;
- интеграцию с 1С ERP.
Ключевая ценность проекта — не только объем реализованного функционала. Перед разработкой была проведена глубокая продуктовая аналитика, позволившая перенести реальные процессы строительной отрасли в формализованную цифровую модель.
На этой основе была построена микросервисная архитектура, рассчитанная на последовательное развитие продукта. Личный кабинет реализован как SPA, REST API используется в контуре агрегатора тендеров, gRPC — для интеграции с 1С ERP, а Apache Kafka — для событийного и асинхронного взаимодействия между компонентами.
«Цифровой Элемент» закрыл полный цикл создания и развития информационной системы: продуктовая аналитика → системный анализ → проектирование → UX/UI → frontend → backend → интеграции → электронная подпись и ЭДО → QA → DevOps → сопровождение и развитие.
4. Заключение
Проект «Биржа Подряда» наглядно демонстрирует, как из сложной отраслевой предметной области можно построить полноценную микросервисную B2B-платформу, объединяющую несколько классов цифровых решений в одной информационной системе. Ключевой вызов заключался в том, чтобы формализовать реальные процессы строительной отрасли — с их многоэтапными закупками, квалификацией участников, аукционными механиками, переторжкой и работой конкурсной комиссии — и превратить их в непротиворечивую цифровую модель.
Для нас этот кейс стал примером зрелого enterprise-подхода: глубокая продуктовая аналитика до начала разработки, разделение интеграционных контуров (REST API, gRPC, Apache Kafka), SPA-интерфейс на React/Redux/TypeScript, работа с УКЭП и КриптоПро, собственный биллинг и операторский back-office с ролевой моделью. Мы сознательно спроектировали архитектуру так, чтобы каждый функциональный контур мог развиваться независимо от остальной платформы.
Отдельно стоит отметить подход к полному циклу создания продукта. «Цифровой Элемент» закрыл все этапы — от продуктовой и системной аналитики до UX/UI, frontend, backend, интеграций, электронной подписи, QA, DevOps и дальнейшего сопровождения. Именно такой формат позволяет запускать сложные отраслевые платформы, где предметная область определяет архитектуру, а не наоборот.
Технологии и компетенции: PHP • Laravel • PostgreSQL • React • Redux • TypeScript • REST API • gRPC • Apache Kafka • КриптоПро • УКЭП • Электронный документооборот • GitLab • CI/CD • 1C • QA • SDLC • DevSecOps.


