МАЙПЛ ERP & CRM

Обновлено:
CRM Системы1 месяц

Мы спроектировали и запустили собственную корпоративную платформу, которая объединила CRM, управление командами, заказы, производственные циклы и глубокую аналитику в одной системе. Рабочий MVP собрали за 1 месяц на стеке Go, Vue.js и gRPC, аналитику вынесли в ClickHouse. Сегодня платформа — операционное ядро МАЙПЛ: в ней живут клиентская база, проекты и производственный конвейер компании, а данные из всех модулей стекаются в единый контур без ручных сверок и выгрузок.

МАЙПЛ ERP & CRM

Задача

IT-компания живёт в двух мирах одновременно. С одной стороны — продажи: лиды, переговоры, договоры, повторные обращения. С другой — производство: команды разработчиков, этапы проектов, тестирование, релизы. Готовые инструменты обслуживают эти миры по отдельности: CRM ведёт сделки, таск-трекер — задачи, а экономика проектов и загрузка людей оседают в таблицах.

Пока компания небольшая, разрывы между системами закрываются перепиской и памятью руководителя. С ростом это перестаёт работать: менеджер продаёт проект, не видя реальной загрузки производства, команды узнают о новых заказах с опозданием, а сводный отчёт собирается вручную из трёх источников и устаревает раньше, чем доходит до руководителя.

Мы прошли этот путь сами и решили закрыть проблему радикально: спроектировать единую платформу, где клиентская база, команды, заказы, производственные циклы и аналитика работают в одном контуре данных. Так появился внутренний продукт МАЙПЛ ERP & CRM — и одновременно полигон для решений, которые мы применяем в заказной разработке.

Зоопарк инструментов

CRM, таск-трекер, таблицы и мессенджеры не связаны между собой: данные о клиенте, заказе и загрузке команды живут в разных местах и начинают расходиться уже через неделю работы.

Отчёты собираются вручную

Чтобы понять экономику заказа или загрузку производства, приходилось выгружать данные из нескольких систем и сводить их в таблицах — долго, с ошибками и всегда с опозданием.

Разрыв продаж и производства

Менеджер, продающий проект, не видел реального состояния производственного конвейера, а команды узнавали о новых заказах с задержкой: статусы приходилось выяснять в переписке.

Что делает система

Клиентская база и CRM

Единая карточка клиента: контакты, история коммуникаций, сделки, документы и все связанные заказы. Воронка продаж настроена под цикл IT-услуг — от первого запроса до повторных проектов. Менеджер видит полный жизненный цикл клиента в одном окне, не переключается между системами, а история не теряется при передаче клиента между сотрудниками.

Управление командами

Модуль хранит структуру команд, роли и компетенции специалистов, показывает текущую загрузку каждого разработчика и распределение по проектам. Руководитель планирует мощности на недели вперёд и видит, куда можно поставить новый заказ без перегрузки людей. Назначения синхронизированы с заказами и производственными циклами, поэтому картина загрузки всегда актуальна.

Управление заказами

Заказ — центральная сущность платформы: он связывает клиента, договорённости, команду исполнителей и производственный план. Статусная модель отражает реальный процесс компании: оценка, согласование, производство, сдача, поддержка. По каждому заказу видны сроки, ответственные и текущий этап, а любые изменения мгновенно доступны и продажам, и производству.

Производственные циклы

Производство разложено на конвейер этапов: проектирование, разработка, тестирование, приёмка. Модуль контролирует зависимости между этапами, дедлайны и передачу работы между командами. Узкие места видны заранее: система подсвечивает этапы, где скапливаются задачи, и помогает перераспределить людей до того, как сроки начнут сдвигаться.

Глубокая аналитика на ClickHouse

Все события платформы стекаются в аналитический контур на ClickHouse. Дашборды в реальном времени показывают воронку продаж, загрузку команд, сроки производства и экономику заказов. Колоночная СУБД считает агрегаты по миллионам событий за доли секунды, не нагружая операционную базу, — руководитель получает ответы сразу, без выгрузок и ручных сводок.

Единый API-контур

Модули общаются через строгие контракты: gRPC — для быстрых внутренних вызовов между сервисами, REST API — для фронтенда и внешних интеграций. Изменение в любом модуле сразу отражается в остальных: новая сделка создаёт заказ, заказ резервирует команду, события уходят в аналитику. Ручных синхронизаций и двойного ввода данных в платформе нет.

Роли и доступы

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

Технологический стек

Go

Ядро платформы написано на Go: компилируемый язык с лёгкими горутинами позволяет обслуживать множество параллельных запросов при скромных ресурсах сервера. Микросервисы на Go быстро стартуют, деплоятся одним бинарником и предсказуемо ведут себя под нагрузкой. Для системы, в которой одновременно работают все команды компании, это критично.

Vue.js

Интерфейс платформы насыщен данными: таблицы, канбаны, карточки, дашборды. Vue.js с его реактивной моделью позволяет собирать такие экраны быстро и держать их отзывчивыми при частых обновлениях данных. Компонентный подход дал нам библиотеку переиспользуемых элементов, из которой новые модули собираются в разы быстрее первых.

gRPC + REST API

Внутри платформы сервисы общаются по gRPC: protobuf-контракты жёстко фиксируют форматы данных, а бинарный протокол даёт минимальные задержки на межсервисных вызовах. Наружу — для фронтенда на Vue.js и внешних интеграций — смотрит REST API: универсальный, понятный и простой в отладке. Такое разделение — стандарт зрелой микросервисной архитектуры.

PostgreSQL

Операционные данные — клиенты, заказы, команды, производственные этапы — живут в PostgreSQL. Нам нужны были строгие транзакции и целостность связей: заказ не может ссылаться на несуществующего клиента, а статусы меняются атомарно. PostgreSQL даёт это из коробки, плюс богатые возможности индексирования под сложные выборки платформы.

ClickHouse

Для аналитики транзакционная база не подходит: тяжёлые агрегирующие запросы тормозили бы работу всей системы. ClickHouse — колоночная СУБД, созданная именно под такие сценарии: она сжимает миллионы событий и считает агрегаты за миллисекунды. Аналитический контур изолирован от операционного, и дашборды не влияют на скорость работы менеджеров.

Docker

Каждый сервис платформы упакован в Docker-контейнер: окружение разработки полностью совпадает с продакшеном, а развёртывание новой версии сводится к замене образа. Контейнеризация позволила собрать MVP за месяц без возни с настройкой серверов и оставляет свободу масштабирования — сервисы можно разносить и дублировать по мере роста нагрузки.

GoVue.jsREST APIgRPCPostgreSQLDockerClickHouse

Как шла разработка

Discovery и аудит

Готово

Мы описали собственные процессы так, как делаем это для внешних заказчиков: как приходит клиент, как рождается заказ, как устроено производство и где теряются данные. Из карты процессов выделили сущности будущей платформы и приоритеты первого релиза.

Проектирование архитектуры

Готово

Разбили домен на сервисы с чёткими границами: CRM, заказы, команды, производство, аналитика. Зафиксировали контракты в protobuf, выбрали связку PostgreSQL и ClickHouse и договорились о правилах обмена событиями между модулями.

MVP за месяц

Готово

За месяц собрали работающее ядро: клиентская база, заказы и управление командами на Go и Vue.js. Сознательно отрезали всё некритичное — цель была начать работать в системе как можно раньше и проверить архитектуру на живых данных.

Итерации и модули

Готово

После запуска ядра короткими итерациями добавили производственные циклы, ролевую модель и аналитический контур на ClickHouse. Каждый модуль сначала обкатывали на одной команде, собирали обратную связь и только потом раскатывали на всю компанию.

Внедрение в команды

Готово

Перенесли данные из старых инструментов, настроили роли и провели обучение. Прежние системы отключали поэтапно — только когда соответствующий модуль платформы полностью закрывал их функции, поэтому переход прошёл без остановки работы компании.

Развитие и поддержка

Готово

Платформа развивается непрерывно: мы сами работаем в ней каждый день, поэтому обратная связь приходит мгновенно. Идеи проверяются на собственных процессах, а проверенные решения переносятся в клиентские CRM- и ERP-проекты МАЙПЛ.

Результаты

Главный результат — платформа стала операционным ядром МАЙПЛ. Клиентская база, заказы, команды, производственный конвейер и аналитика живут в одном контуре: данные вводятся один раз и сразу доступны всем, кому положено по роли. Ручные сверки, выгрузки и «параллельная бухгалтерия» в таблицах ушли из процессов. Рабочий MVP мы собрали за 1 месяц, а дальше платформа росла итерациями до семи модулей — без остановки работы компании.

Не менее важен инженерный эффект. Связка Go, gRPC, Vue.js, PostgreSQL и ClickHouse подтвердила себя на нашей ежедневной нагрузке, и сегодня мы применяем эти же архитектурные решения в заказных CRM- и ERP-проектах. Клиенты получают не теоретическую архитектуру, а конструкцию, которую мы эксплуатируем сами, — это лучший тест, который может пройти платформа. Внутренние операционные и финансовые показатели платформы мы не публикуем — открыто показываем архитектуру и подход.

1 месяц

от старта до работающего MVP

7 модулей

в едином контуре данных

2 СУБД

PostgreSQL для операций, ClickHouse для аналитики

100%

команд МАЙПЛ работают в платформе

Вопросы о проекте

Обсудим похожий проект?

Расскажите о задачах вашего бизнеса — предложим архитектуру и оценим сроки