ГАС ПС
Государственная автоматизированная система правовой статистики Ссылка на заголовок
С 15 октября 2021 по 31 января 2023 наша команда участвовала в масштабном государственном проекте по созданию Портала ГАС ПС — централизованной цифровой платформы для сбора, анализа и управления правовой статистикой в России.
Проект реализовывался совместно с Gost Group по заказу Генеральной прокуратуры РФ.
В рамках него мы отвечали за разработку компонента “Ведение нормативно-справочной информации и метаданных” — на базе нашей собственной разработки Soarse.
Что делал Soarse Ссылка на заголовок
Компонент Soarse в составе Портала решал сразу несколько ключевых задач:
- Ведение справочников и каталогов НСИ
- Описание, версионирование и публикация форм документов первичного учёта (ДПУ)
- Настройка и валидация правил форматно-логического контроля (ФЛК)
- Управление статусной моделью уголовных дел
- Интеграция с остальными компонентами системы через API
Под капотом использовалась web-based NoSQL-СУБД, где данные хранились в формате JSON, и вся конфигурация системы происходила через UI-интерфейс DBA уровня.
🧩 Архитектура и особенности Ссылка на заголовок
Плагины (Frontend + Backend) Ссылка на заголовок
Чтобы адаптировать продукт под жёсткие и специфичные требования заказчика (не всегда масштабируемые), мы реализовали архитектуру плагинов, позволившую:
- Изолировать “кастомный” код от основного продуктового ядра
- Упростить сопровождение и CI/CD-процессы
- Подготовить платформу к будущему маркетплейсу аддонов
- Делегировать разработку плагинов сторонним командам
Плагины стали новым уровнем гибкости и масштабируемости для Soarse.
Представления (Views) Ссылка на заголовок
Запрос заказчика на работу с данными из нескольких источников стал поводом наконец реализовать функциональность представлений, которую мы давно планировали.
В отличие от классических SQL-вьюх, в Soarse:
- Исходные данные — это вложенные JSON-документы с неограниченной структурой
- Поддерживаются alias-псевдонимы атрибутов
- Настраивается условное форматирование строк/ячеек
- Поддерживается аналог UNION — мы назвали это стыковкой
- И, главное, реализована наша гордость — аналог JOIN:
называемый сцепкой, он позволяет связывать данные на любом уровне вложенности, включая обратные связи (FK → PK), за счёт индексации связей в RDF-хранилище на базе Apache Jena
📌 Что можно было делать в системе Ссылка на заголовок
Компонент Soarse позволял:
- Вести и актуализировать НСИ (справочники судов, подразделений и пр.)
- Создавать формы ДПУ с версионированием и логикой отображения полей
- Настраивать процессуальные действия и публикации форм на Портале
- Управлять статусами уголовных дел и их приоритетами
- Конструировать правила ФЛК, включая включение/отключение, экспорт и публикацию
- Работать с редактором дерева уголовного дела
- Производить сквозной поиск по всей НСИ
- Создавать представления из нескольких справочников с гибкой логикой
🧠 Чему мы научились Ссылка на заголовок
- Построили архитектуру гибких CI/CD пайплайнов в условиях микросервисной архитектуры и плагиновой модульности
- Впервые реализовали в Soarse полноценный движок представлений с графовыми связями
- Подняли уровень интеграционной зрелости платформы: REST API стал не просто внешним интерфейсом, а основой для всей бизнес-логики
Роль в проекте Ссылка на заголовок
- Архитектор, Аналитик, Product Owner
- Отвечал за техническое проектирование компонента Soarse в составе системы
- Работал в составе команды из 20 человек