Мы расширяем технологический стек Macropod.CMS и используем Node.js для разработки интернет-магазинов, CRM-систем, корпоративных веб-сервисов и других проектов, требующих высокой производительности, интерактивного взаимодействия с пользователем и глубокой автоматизации бизнес-процессов.
Node.js хорошо подходит для создания современных веб-приложений, в которых данные должны обновляться практически в реальном времени. В интернет-магазине это заказы, оплаты, остатки товаров, сообщения и статусы доставки. В CRM — новые заявки, изменение статусов, действия менеджеров, уведомления и данные, поступающие из внешних систем.
Веб-приложения с обновлением данных в реальном времени
В новой архитектуре Macropod.CMS используется механизм Server-Sent Events (SSE). Он позволяет серверу самостоятельно передавать события браузеру без необходимости постоянно обновлять страницу или периодически запрашивать изменения.
Например, после оплаты заказа информация об этом автоматически появляется у покупателя и менеджера. При поступлении нового заказа сотрудник получает уведомление, а изменения, сделанные одним пользователем CRM, становятся доступны другим пользователям системы.
При этом обновляется не вся страница, а только те данные и элементы интерфейса, которые действительно изменились. Такой подход снижает количество лишних запросов к серверу и делает работу с интернет-магазином или CRM более быстрой и удобной.
Node.js, TypeScript и PostgreSQL
Серверная часть проектов строится на Node.js и TypeScript, а для хранения и обработки данных используется PostgreSQL.
Использование единого языка и общей экосистемы JavaScript/TypeScript на клиентской и серверной стороне упрощает разработку и дальнейшее сопровождение проекта. Строгая типизация TypeScript позволяет обнаруживать значительную часть ошибок ещё на этапе разработки.
PostgreSQL используется не только как база данных для товаров, заказов, клиентов и других сущностей. Возможности СУБД позволяют задействовать событийную модель непосредственно при изменении данных и передавать соответствующие события приложению.
В результате архитектура остаётся достаточно компактной и не требует подключения дополнительных компонентов там, где без них можно обойтись.
Разработка CRM и автоматизация бизнес-процессов
Особенно хорошо такой подход подходит для разработки CRM-систем под конкретные задачи компании.
CRM может объединять заявки с сайта, заказы, клиентов, документы, платежи, доставку, внутренние задачи и данные сторонних сервисов. Повторяющиеся операции автоматизируются, а сотрудники работают с актуальной информацией в едином интерфейсе.
При необходимости CRM интегрируется с сайтом, интернет-магазином, платёжными системами, службами доставки, маркетплейсами, медицинскими и другими внешними информационными системами через API.
В отличие от универсальной CRM, собственная система проектируется вокруг реальных бизнес-процессов конкретной компании: без лишних разделов и с возможностью постепенно расширять функциональность по мере появления новых задач.
Масштабируемая архитектура
При разработке мы разделяем бизнес-логику, работу с базой данных, маршрутизацию, интеграции и пользовательские интерфейсы. Это позволяет развивать отдельные компоненты системы без необходимости переделывать весь проект.
Новая платёжная система, служба доставки, API внешнего сервиса или дополнительный бизнес-процесс могут подключаться отдельными модулями.
Такая архитектура позволяет использовать Macropod.CMS как основу не только для классических сайтов, но и для более сложных проектов: интернет-магазинов, CRM-систем, личных кабинетов, корпоративных порталов и специализированных веб-сервисов.
Таким образом, Macropod.CMS постепенно развивается из системы управления сайтом в полноценную платформу для разработки современных веб-приложений и автоматизации бизнес-процессов на Node.js.