Все кейсы
Главный кейс архитектуры В промышленном внедрении pir-s.ru ↗

ПИР-Система — платформа управления проектированием и ИИ-помощник для ГИПа

Сквозная веб-платформа для ведения объектов и документации проектно-изыскательских работ: выделенный BFF, GraphQL-слой Hasura, набор экранов для ИИ-помощника вокруг исходно-разрешительной документации (ИРД) — от реестра «исходных данных» до дашбордов нормконтроля, коллизий и заделов под генерацию ТЗ на разделы. Спроектирована с нуля и доведена до промышленного внедрения.

Роль
Архитектор и идеолог решения. Проектирование с нуля и сопровождение до промышленного внедрения.
Стадия
В промышленной эксплуатации. Публичная демо-ветка — pir-s.ru, AI-страница — pir-s.ru/ai.
Стек
React (CRA + craco) · Node/TypeScript BFF · Hasura/GraphQL · Postgres · Docker · nginx
Слои
client · server (BFF) · hasura · deploy · seeder / docs
AI-домен
ИРД: классификация, валидация XML, нормконтроль, коллизии, генерация ТЗ

Задача

Инженер-проектировщик и главный инженер проекта (ГИП) тонут в объёмах исходно-разрешительной документации, версиях, согласованиях и ручных проверках. Нужна платформа, где объект живёт в одной модели данных, а ИИ-помощник не «рисует слайды», а опирается на структурированные артефакты: реестр документов, XML-контуры, статусы разделов и воспроизводимые контракты между фронтом, BFF и аналитическим backend.

Архитектура — многослойная система в одном репозитории

client/ — React-приложение

React (CRA + craco). Исторически Apollo/GraphQL для доменных данных; новые сценарии AI/ИРД/ORD/normcontrol часто идут через REST к BFF — это удобнее для AI-экранов с разнородным контрактом и meta-полями.

server/ — Node/TypeScript BFF

Сессии и auth, внешние интеграции, хранилища, адаптация ответов Hasura, webhook/actions и демонстрационные mock-маршруты для ИИ-экранов. BFF принимает на себя сложные сценарии оркестрации и не позволяет фронту знать лишнее про данные.

hasura/ — источник истины по схеме БД

Metadata, идемпотентные SQL-миграции, демо-сид. Hasura даёт типизированный доступ к данным и снимает с команды задачу писать рутинные CRUD-эндпоинты.

deploy/ — Docker, nginx, supervisord

Контейнеры и сценарии выкладки — единый артефакт для dev/stage/prod.

seeder/ и docs/ — воспроизводимые demo-данные и контракты

Включая примеры XML ИРД и референсные analysis JSON. Контракты и спецификации лежат рядом с кодом и эволюционируют вместе с ним.

Документация как часть продукта: runbook демо-сервера, журнал «граблей» по областям (frontend, Hasura, deploy, Postgres), спецификации по IRD analysis для demo, аудит переноса возможностей из исследовательского контура ai-gip.

ИИ-ассистент для ГИПа

В продуктовой карте — сценарии вокруг ИРД:

  • Расширенная классификация типов документов ИРД с учётом структуры реестра.
  • Валидация XML в исходно-разрешительной документации.
  • Модульный анализ и фрагментация под лимиты LLM — не пытаемся вместить 200-страничный PDF в одно окно контекста.
  • Поиск коллизий между документами и разделами.
  • Чек-листы нормконтроля — машинно-проверяемые правила, а не «свободная сверка».
  • Генерация сопутствующих текстов и ТЗ на разделы проектной документации.

В демо-ветке часть тяжёлого анализа заменена контролируемыми mock-эндпоинтами и фикстурами — чтобы команда могла развивать UX и контракты без блокировки на полный ML-контур. Параллельно описан перенос зрелых артефактов из исследовательского контура ai-gip и зарезервирован слот analysis-container/ под Python-runtime анализа.

Ключевые архитектурные решения

REST к BFF для AI-экранов, GraphQL/Hasura для доменных данных. Не пытаемся «всё через один протокол». GraphQL хорош для структурных запросов и фильтров над сущностями; REST к BFF — для нерегулярных AI-контрактов с meta-полями, идемпотентности и пошагового progress-API.

Демо-контур с mock-эндпоинтами вместо «всё или ничего». ИИ-экраны можно собрать и стабилизировать до того, как готов полный аналитический backend. Контракты JSON фиксированы; переезд на «живой» Python-runtime — это замена реализации, а не переписывание UI.

Worktree-папки для исследовательских веток (ai-gip/, mcp-server/, qdrant-config/). Они не обязательны в каждой сборке — это пространство для экспериментов, не нагружающее основной пайплайн.

Инженерная культура: документация как часть продукта

В репозитории закреплены:

  • Runbook демо-сервера — как поднять, что отвалится первым, как чинить.
  • Журнал «граблей» по областям (frontend, Hasura, deploy, Postgres) — формат «симптом → корневая причина → как лечить».
  • Спецификации по IRD analysis для demo — какие поля что значат.
  • Аудит переноса возможностей из ai-gip — что готово, что в работе.

Это снижает стоимость онбординга и позволяет агентам и людям работать точечно — по файлам маршрутов, меню, BFF-роутов и миграций — вместо раздувания одного бесконечного контекста.

Границы: честно про объём и риски

Демо-контур намеренно упрощает часть тяжёлых веток (например, обработку «живых» сканов) в пользу XML-прототипов и фикстур. Папки ai-gip/, mcp-server/, qdrant-config/ в worktree — вспомогательные и исследовательские материалы, а не обязательный runtime в каждой сборке. Публичное портфолио не дублирует закрытый Git: для знакомства с продуктом ориентир — домен pir-s.ru и ветка demo по согласованию с владельцем репозитория.

Что демонстрирует кейс
Способность спроектировать корпоративный продукт с нуля, довести его до промышленного внедрения, собрать многослойную архитектуру с явными контрактами между слоями и встроить ИИ-сценарии так, чтобы они не блокировали UX и эксплуатацию. Документация как часть продукта — стандарт по умолчанию.
Похожая задача?

Нужна архитектура корпоративного продукта?

Готов спроектировать слои данных, BFF и сценарии ИИ-ассистента с учётом регламентов и ИБ — и довести до прода.