Миграция legacy ERP → веб-платформа (1С + React, 200+ экранов)

200+ экранов Delphi/RDP переехали в React над 1С — без big bang и без расхождений остатков.

Стек 1С, NestJS, React, Redis, TypeScript

Клиент — дистрибьютор стройматериалов (400 сотрудников, 12 складов). Учёт в 1С:ERP + самописный desktop-клиент на Delphi — 200+ экранов, разработка фич 6–12 месяцев, удалённый доступ через RDP нестабилен. Бизнес требовал современный web-доступ без замены 1С как source of truth.

Задача: поэтапная миграция на React SPA + API-слой над 1С — склады, заказы, логистика, отчёты. Big bang запрещён: 18 месяцев параллельной работы legacy и web.

  • API gateway: REST/OData к 1С, кэш Redis, circuit breaker при падении 1С;
  • React + TypeScript: модульная архитектура, 200+ экранов → 35 доменных модулей;
  • auth: SSO (Active Directory), RBAC из 1С ролей;
  • offline-critical flows: очередь заказов при обрыве связи, sync при восстановлении;
  • отчёты: тяжёлые query → async job + PDF/Excel download;
  • feature flags: поэтапный rollout по филиалам;
  • E2E: Playwright на 50 critical paths; нагрузка 500 concurrent users.

Стек: React, TypeScript, Node.js/NestJS, 1С REST, PostgreSQL (cache/queue), Redis, RabbitMQ, Docker. Приёмка: 3 филиала на web, 0 расхождений остатков с 1С.

Итог: время выката новой фичи 2–4 недели vs 6–12 месяцев; RDP-нагрузка −70%. NDA: компания не публикуется.