Carbon CMF — framework для систем управления контентом

Carbon CMF - framework для систем управления контентом

Подходит для создания высоконагруженных или архитектурно сложных систем таких как CRM, ERP, биллинговые системы и т. д. Архитектура выполнена по схеме разделения данных приложения MVC (Model-View-Controller). Для работы с базой данных используется собственный ORM. Модель данных описывается классами Python. Это обеспечивает генерацию схемы базы данных для любой системы, и легкость изменения архитектуры.

Панель администрирования с удобным интерфейсом управления разделами системы.
Ролевой доступ пользователей.
Оперативное оповещение о неисправностях

Функциональные характеристики

Интеграция с CMF

Функция предназначена для ускорения разработки, повышения надежности сервиса и ускорения работы сервиса. Реализовать следующим образом:

  • Автогенерация моделей typescript на основе моделей CMF;
  • Использование CMF RPC;
  • Модульность веб-приложения соответствует модулям CMF;
  • Ошибки и предупреждения бизнес-логики CMF обрабатываются централизовано;
  • Метаданные моделей CMF автоматически преобразуются для использования в веб-приложении.

Сценарий использования: используется повсеместно во всей системе.


Реактивность

Функция предназначена для того, чтобы повысить скорость отклика системы у клиентов, повысить скорость и стабильность работы и улучшить пользовательский опыт. Реализовать следующим образом:

  • Реактивность с помощью angular. Изменения данных веб-приложения приводят к обновлению внешнего вида веб-приложения;
  • Реактивность с помощью технологии веб-сокетов. Когда в бизнес-логике происходят какие-либо изменения — всем заинтересованным клиентам (открытым страницам веб-приложения) отправляется оповещение о произошедшем событии;
  • Сценарий использования: используется в тех местах системы, где необходимо улучшить пользовательский опыт, скорость работы и ускорить скорость разработки.


ORM

ORM (Object-relational mapping, Объектно-реляционное отображение). Проект CMF расширяет понятие ORM и позволяет связывать модели не только с базами данных SQL, но и с любыми другими источниками данных — NoSQL БД, REST-бэкэнды, файловые системы и любые другие. Предназначен для того, чтобы ускорить скорость разработки проекта на 300%. Реализован следующим образом: модели CMF с помощью специального кода, называемого Data Driver (Дата Драйвер), связываются с одним или несколькими источниками данных, такими как база данных, REST-сервис, файловая система и т. д. Сценарий использования: ORM рекомендуется использовать при написании бизнес-логики приложения, разработки консольных утилит, обработки и создания фоновых задач и в других местах.


Автоматический RPC

Удаленный вызов процедур на моделях CMF. Позволяет запрашивать данные и запускать бизнес-логику из браузера/мобильного приложения. Предназначен для того, чтобы ускорить разработку на стыке фронтэнда и бэкэнда ПО. Работает следующим образом: методы, которые пишутся на моделях бэкэнда автоматически становятся доступными для использования из фронтэнда, при этом данные бэкэнда автоматически преобразуются в JSON для передачи на фронтэнд, а на фронтэнде обратно преобразуются в объекты. Сценарий использования: используется на фронтэнде, когда необходимо запрашивать данные с бэкэнда.


Бизнес-логика

Удобный язык для написания бизнес-логики в виде продуманных бизнес-моделей на языке Python. Предназначен для того, чтобы дать возможность писать простую и понятную бизнес-логику на удобных обертках. Реализован следующим образом: поля моделей CMF являются не простыми нативными значениями языка Python, а полноценными объектами с перегруженными операциями сложения, вычитания и пр. Это позволяет писать понятную бизнес-логику. Кроме сложных полей, также доступны и другие полезные методы, как например cmf_alert (позволяет отправить предупреждение на клиент) и cmf_event (позволяет отправить событие на клиент). Сценарий использования: написание бизнес-логики, модификация клиентом ПО «под себя».


Модификация ПО для клиента

Клиент может расширять поля моделей, менять бизнес-логику, добавлять свою бизнес-логику. Функция предназначена для того, чтобы дать клиентам возможность модифицировать систему под себя. Реализована следующим образом: Специализированная папка custom, которая воспринимается с точки зрения cmf как более приоритетная к исполнению. Можно частично переопределять стандартную бизнес-логику, написав её в этой папке. Сценарий использования: когда клиенту нужно расширить или изменить бизнес-логику под себя.


Модификация полей моделей через веб-редактор

Функция предназначена для того, чтобы клиенты могли добавлять, изменять и удалять поля бизнес-моделей. Реализована следующим образом: на специальной страничке, открываемой в браузере и доступной только администратором находятся визуальное средство для просмотра моделей и их свойств. С ограничениями можно редактировать системные поля (например, названия полей, подсказки). Там же можно добавлять свои собственные поля, редактировать их и удалять. Сценарий использования: когда клиенту нужно внести изменения в модели под свои задачи.


Модульность

Разделение бизнес-логики на связанные части в виде модулей Python. Функция предназначена для того, чтобы упростить разделение кода на отдельные блоки. Это помогает быстрее работать с кодом, переключаться между отдельными блоками кода. Для новичков — меньший порог входа в проект. Сценарий использования: ускорение разработки новых модулей, упрощение работы с существующими.


Шаблон для новых проектов

Позволяет быстро разворачивать новые проекты с большим количеством готовых модулей (авторизация, почта и прочее). Под разные отрасли. Функция предназначена для того, чтобы быстро разворачивать новые проекты на базе CMF. Реализована следующим образом: общие модули помещаются в папку contib. С помощью утилит для администратора при развороте нового проекта модули распаковываются из этой папки и становятся готовыми к использованию. Сценарий использования: быстрое разворачивание новых проектов.


Преимущества CMF перед аналогами


Гибкость

CMF с легкостью подстраивается под конкретные нужды проекта и клиентов.

Модульность

Проекты, созданные на основе CMF, разделяются на модули, пригодные для переиспользования в других проекта.


Удобство и простота

Код в рамках модулей CMF организован таким образом, что в нем с легкостью разберутся даже новички бэкэнд программирования.

Использование проверенных технологий

В основе CMF как веб-сервера лежит Flask — один из известнейших на рынке python-фреймворков. CMF поддерживает Angular. Это позволяет делать современные, стабильно работающие, корпоративные веб-приложения.


Автоматизация

CMF делает многие вещи за разработчика, позволяя опустить многие рутинные вещи.

Автогенерация кода

Автогенерация кода python, typescript: один раз описав бизнес-модель, сразу получаешь все преимущества автогенерации — автодополнение кода с помощью IDE, автоматический рефакторинг и т.д. сразу в двух язаках.


Автоматизация

CMF делает многие вещи за разработчика, позволяя опустить многие рутинные вещи.

Автогенерация кода

Автогенерация кода python, typescript: один раз описав бизнес-модель, сразу получаешь все преимущества автогенерации — автодополнение кода с помощью IDE, автоматический рефакторинг и т.д. сразу в двух язаках.


Инновационная система описания бизнес-моделей

Разделение полей и методов позволяет достичь удобство в эксплуатации. Умная система полей бизнес-моделей позволяет писать бизнес-логику на CMF легче и комфортнее, чем с помощью других решений. Гибкость и простота языка Python позволяет легко кастомизировать бизнес-логику под свои нужды даже силами новичков веб-разработки.

Автоматический роутинг

В основе навигации лежат модули и их представления. С CMF нет необходимости писать роутинг руками.


Автоматический JSON RPC

Использование бизнес-моделей CMF позволяет сделать автоматизированный доступ к моделям с помощью автоматического RPC. Можно написать метод бизнес-логики и он автоматически станет доступен к вызову из веб-приложения.

Современный ORM

Имеется возможность подключения баз данных MySQL/MariaDB, PostgreSQL, SQLite. Запросы к базе данных абстрагируются на уровне CMF — с точки зрения бизнес-логики запросы к базе данных выглядят как обычный вызов метода в ООП стиле.


Шаблон для создания новых проектов

CMF позволяет быстро развернуть новый проект, в котором реализовано уже большинство базовой логики — авторизация, аутентификация, управление пользователями и аккаунтами, модуль почты, модуль отправки СМС и PUSH-уведомлений, модуль Angular, модуль RPC и т.д.

Развитая система автоматического тестирования

Фреймворк поддерживает современные методы написания автотестов как из мира Python, так и тестирования веб-приложения Angular.


Стоимость лицензий договорная

Калькулятор стоимости Carbon CMF или обратитесь в отдел продаж по телефону 8 (800) 777-83-70

Оставьте заявку и наш менеджер свяжется, чтобы рассказать об условиях.

Заявка принята!

Скоро наш менеджер свяжется с вами.

Среди наших клиентов