ГАС ПС

Государственная автоматизированная система правовой статистики Ссылка на заголовок

С 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 человек