🖥️ Online Demo
🌐 Языки: English | Русский | Deutsch | Italiano | Español | Tiếng Việt | Srpski
B2B CRM — корпоративное демонстрационное приложение на Jmix, показывающее, как разрабатывать готовые к production бизнес-системы
для работы с клиентами, заказами, счетами, финансами и аналитикой.
Оно отражает реальные сценарии ERP/CRM и демонстрирует
лучшие практики моделирования предметной области, UI, безопасности и реализации бизнес-логики.
- Обзор
- Технический стек
- Используемые add-ons
- Сборка и запуск
- AI-ассистент
- Демо-данные
- Учетные записи
- Модель предметной области
- Ролевая модель
Проект моделирует типичный процесс B2B-продаж:
- Управление каталогом продуктов и категорий
- Ведение клиентов и контактов
- Отслеживание заказов и позиций заказов
- Выставление счетов и регистрация платежей
- Запрос бизнес-инсайтов у AI-ассистента
- Контроль задач и последних активностей
- Просмотр аналитики продаж
- Java 21
- Jmix (Spring Boot & Vaadin Flow)
- HSQLDB
- AI Tools
- Audit
- Application Settings
- Charts
- Data tools
- Dynamic attributes
- Grid export
- Reports
- Local file storage, Localizations
Требования: Java 21+
-
Запустите Jmix run configuration B2B CRM или выполните команду
./gradlew bootRun
./gradlew bootJar -Pvaadin.productionModejava -jar build/libs/crm.jardocker build -t jmix-crm .docker run --rm -p 8080:8080 jmix-crmdocker-compose upПриложение включает встроенное рабочее пространство CRM AI для анализа CRM-данных на естественном языке.
Основные возможности:
- Задавать бизнес-вопросы о клиентах, заказах, счетах, платежах и эффективности продаж
- Учитывать права доступа текущего пользователя к данным и хранить диалоги приватно для их автора
- Использовать встроенные бизнес-отчеты, такие как
Client 360 ReportиCategory Cashflow Risk Allocation Report - Сохранять историю диалогов с автоматически сгенерированными названиями чатов
- Загружать файлы в диалог и позволять ассистенту анализировать поддерживаемые документы и изображения
- Генерировать интерактивные ссылки на записи CRM прямо в ответах
Настройка:
- Укажите
spring.ai.openai.api-keyв application.properties или передайте переменную окруженияSPRING_AI_OPENAI_APIKEY
После включения откройте пункт CRM AI в главном меню, чтобы начать новый диалог.
Локальный профиль генерирует демо-данные при старте приложения:
- Генерацию демо-данных можно отключить свойством
crm.generateDemoDataв application.properties - Каталог импортируется из catalog.xlsx
| Должность | Имя пользователя | Пароль | Доступ |
|---|---|---|---|
| Administrator | admin |
admin | Полный доступ ко всем данным и настройкам |
| Supervisor | james |
james | Manager + управление каталогом + назначение аккаунтов |
| Manager | manager |
manager | Полный доступ ко всем клиентам и заказам |
| Account Manager | alice |
alice | Видит только клиентов, назначенных Alice Brown |
| Account Manager | robert |
robert | Видит только клиентов, назначенных Robert Taylor |
classDiagram
Client o-- Contact
Client o-- Order
Client o-- Invoice
Client o-- Payment
Client o-- Address
Order *-- OrderItem
OrderItem --> CategoryItem
Category o-- CategoryItem
Invoice o-- Payment
Приложение использует иерархическую ролевую модель:
Administrator: полный доступ ко всем функциям, сущностям и настройкам приложения.Supervisor: расширяет роль Manager дополнительными административными возможностями:- Управление каталогом продуктов, включая Categories и Category Items.
- Назначение Account Managers клиентам.
Manager: основная роль для операций продаж.- Полный доступ к Clients, Contacts, Orders, Invoices и Payments.
- Доступ только на чтение к каталогу продуктов.
- Управление собственными Tasks.
UI Minimal: минимальный доступ, позволяющий входить в систему и выполнять базовую навигацию.