axiomui.ru / документтехнический аудит · стабилизация · ИИ-агенты
← Все проекты
Аудит и миграция legacy

Аналитические дашборды переписали на React

Крупная RPA-платформа · 2025–2026 · React + Drupal + PostgreSQL

Суть: Заменили 157 устаревших Drupal-параграфов на 41 React-компонент с JSONB-хранением. Бизнес-пользователи получили drag-and-drop дашборды без участия разработчика.

Контекст и проблема

Крупная платформа автоматизации (RPA) столкнулась с проблемой: бизнес-пользователи нуждались в гибкой визуальной аналитике, но существующее решение было построено на устаревшей архитектуре Drupal Paragraphs. Каждый дашборд был набором параграфов в Drupal-ноде, связанных со сложной системой формул.

Техническое решение

Архитектура построена на принципе разделения данных и представления. Бэкенд возвращает только сырые числа, клиент форматирует.

КомпонентТехнологияНазначение
FrontendReact 19, TypeScript (strict), Vite 8UI дашбордов
Grid layoutReact-Grid-LayoutDrag-and-drop виджетов (как в Grafana)
ГрафикиChart.js + react-chartjs-29 типов графиков
ХранениеPostgreSQL JSONBГибкое хранение без миграций
ФормулыExpressionLanguage (DSL)Вычисления на сервере
Переводыi18next + key-based JSONИнтернационализация
BackendPHP 8.2, Drupal 10API + бизнес-логика

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

Масштаб реализации

React-компонентов
41
TypeScript-типов
24
Тестов (Vitest)
58
Строк кода (React)
около 25 тысяч
PHP-файлов backend
50
API-эндпоинтов
13
Типов графиков (Chart.js)
9
Widget-плагинов
4

Результаты

МетрикаДо (Legacy)После (V2)Эффект
Связь данных и UIЖёсткая (Paragraphs)Разделение (data/config)Чистая архитектура
Изменение дашбордаЗадача разработчикуDrag-and-drop бизнес-пользователем~90% быстрее
Добавление индикатораSQL + формулаВыбор из available-fields~95% быстрее
Хранение схемыDrupal Entity (20+ полей)1 столбец JSONB~80% меньше кода
РасширяемостьНовая entity typeНовый WidgetPluginДни → часы

«Мы заменили 157 параграфов и 75+ формул на 41 React-компонент в одной JSONB-таблице. Время добавления нового индикатора сократилось с 2 дней до 15 минут.»

Стек технологий

React 19 TypeScript Vite 8 Chart.js react-chartjs-2 React-Grid-Layout i18next PHP 8.2 Drupal 10 PostgreSQL JSONB ExpressionLanguage PHPUnit Vitest Playwright Docker

Хотите обсудить похожую задачу? Свяжитесь с нами →