/ru/platform · модульная CRM

Платформа Iconicompany: модульная CRM

Модульная CRM: подбор, скрининг, расчёты, КЭДО, агенты и база знаний в одном кабинете. Каждый модуль — отдельный продукт со своей базой, общий вход ZITADEL, связь модулей через REST и Temporal.

11модулей
1вход · ZITADEL
REST · Temporalсвязь модулей
01Что это

Одна CRM из независимых модулей.

crm.example.ru/italent
  • /italent
  • /ipayment
  • /iprofile
  • /iscreening
  • /ikedo

Для человека это один кабинет на одном домене: модули живут под своими адресами (/italent, /ipayment, /iprofile), меню, шапка и тема — общие.

  • 01
    Каждый модуль — отдельный продукт.

    Свой репозиторий, своя база, своя выкатка.

  • 02
    Один кабинет на одном домене.

    Модули под своими адресами, меню, шапка и тема — общие.

  • 03
    Берёте нужные модули, остальные не подключаете.
  • 04
    Модуль можно заменить или дописать, не трогая соседей.
02Модули

Одиннадцать модулей, пять групп

Выберите группу — останутся её модули; карточка раскрывает, что модуль умеет.

  • Вакансии из hh.ru, Telegram-каналов и файлов
  • База специалистов с навыками и рыночными ставками
  • Автоподбор: дешёвый предскрининг, затем проверка соответствия моделью
  • Офферы со статусами
  • Адаптация резюме под вакансию
  • Запись на интервью
  • Онбординг агентств

→ iscreening→ ikedo→ ichatwoot запускает скрининг по офферу, принятый оффер открывает КЭДО, офферы видны оператору

551 из 558критериев приёмки подтверждены тестами
Сейчас — рабочий прототип клиента API
03Вместе

Как модули работают вместе

Один вход

ZITADEL, проект на каждый модуль. Роль проекта открывает модуль, права внутри решает матрица самого модуля.

ZITADELпроект → роль

REST внутри кластера

Модуль зовёт соседа по его API с токеном на аудиторию соседа. Общих секретов и доступа в чужую базу нет.

RESTaud: сосед

Temporal для долгой работы

Подбор, скрининг, онбординг организации, отправка сообщений — процессы, которые переживают перезапуск и не выполняются дважды.

Temporalне дважды

Сквозная трассировка

Запрос несёт traceparent и x-request-id через все модули: один запрос — один след в логах.

traceparentx-request-id

Один стек

Bun, Elysia, Postgres, React — общий шаблон для всех модулей. Новый модуль собирается по тем же правилам и сразу встаёт в кабинет.

BunElysiaPostgresReact
04Процесс

Пример сквозного процесса

Вакансия проходит через italent, iscreening, iagent, Chatwoot, ikedo и ipayment.

  1. 01hh.ru

    Вакансия приходит из hh.ru

    italent берёт вакансии из hh.ru, Telegram-каналов и файлов.

    → italent
  2. 02italent

    italent подбирает специалистов

    Дешёвый предскрининг, затем проверка соответствия моделью. Офферы со статусами.

    Temporal → iscreening
  3. 03iscreening

    iscreening проводит голосовое интервью

    Кандидат проходит интервью голосом по ссылке, без регистрации. По расшифровке — балл 0–100, резюме разговора, ключевые моменты, рекомендация.

    → iagent
  4. 04iagent · Chatwoot

    iagent сообщает кандидату в Telegram, оператор видит диалог в Chatwoot

    Сообщение уходит одним вызовом. Агент кладёт черновик ответа, оператор правит и отправляет; рядом с чатом — офферы кандидата.

    сообщения ↔ кандидат
  5. 05веха

    Оффер принят

    Принятый оффер в italent запускает процесс «приказ → отправка → подпись».

    Temporal → ikedo
  6. 06ikedo · КЭДО

    ikedo оформляет приказ через КЭДО

    Данные работника и организации — из iprofile. Приказ → отправка → подпись; подписание — средствами портала.

    интеграция в работеСейчас — рабочий прототип клиента API

    REST → ipayment
  7. 07ipayment

    ipayment ведёт смету и выплаты

    Подписанный документ открывает выплаты: смета, закрытие, счёт, выплата.

05Развёртывание

В нашем облаке или в вашем контуре.

В нашем облаке

В вашем контуре

Модули подключаются по одному.

Нужен свой модуль — собираем на том же стеке: Bun, Elysia, Postgres, React.

два дняпрототип
две-три неделиMVP
06Начать

Напишите, какие процессы хотите собрать в одну систему.

Ответим составом модулей и сроком.