Омниканальный визуальный конструктор для миграции входящих сообщений из одних платформ (ВКонтакте, Instagram, WhatsApp…) в другие (Telegram, Slack, Discord).
Интерфейс — блочно-графовый: слева блоки-источники, справа блоки-назначения, между ними протягиваются связи. Клик по блоку открывает панель настройки интеграции.
- Frontend (готово, MVP): React 18 + TypeScript + Vite, без внешних UI-зависимостей.
- Backend (план): см. раздел «Дальше».
npm install
npm run dev # http://localhost:5173Сборка прод-версии: npm run build && npm run preview.
src/
types.ts # доменные типы: FlowNode, Connection, PlatformMeta
platforms.ts # каталог платформ + поля настройки (точка расширения)
App.tsx # состояние канваса, расчёт связей
components/
NodeCard.tsx # карточка блока
ConfigDrawer.tsx # боковая панель настройки интеграции
Connections.tsx # SVG-слой со связями
AddMenu.tsx # добавление источника/назначения
- Добавь запись в
PLATFORMS(src/platforms.ts): id, цвет, роли (source/destination), список полей доступа. - Платформа сразу появляется в меню «+ Добавить» нужной колонки.
- (Backend) Реализуй адаптер — см. ниже.
Идея — нормализованная модель сообщения посередине:
Источник ──▶ UnifiedMessage ──▶ Назначение
(poll/webhook) (общий формат) (адаптер отправки)
sources/*— поллеры и webhook-приёмники (VK Long Poll, Meta Graph webhooks…).core— нормализация вUnifiedMessage(автор, текст, вложения, время), роутинг по связям, очередь/ретраи.destinations/*— адаптеры отправки (Telegram Bot API, Slack/Discord webhooks…).- Секреты блоков (
config) хранить в БД зашифрованными, на фронт не отдавать.
🟢 Прототип интерфейса · 🟡 Бэкенд-адаптеры — в планах