docker run -p 8080:8080 savantly/nexus-command
Вы можете установить их как свойства или переменные среды.
nexus.modules.organizations.enabled : true # enable the organizations module
nexus.modules.projects.enabled : true # enable the projects module
nexus.modules.franchise.enabled : true # enable the franchise module
nexus.modules.web.enabled : true # enable the web module
nexus.modules.org-web.enabled : true # enable the org-web module
nexus.modules.security.enabled : true # enable the security module
Дополнительные параметры конфигурации см. в свойствах приложения.
./src/main/resources/application.yml
Nexus Command — это мультитенантное приложение, предоставляющее платформу для управления всеми типами бизнес-данных. Он построен на основе платформы Apache Causeway и обеспечивает отправную точку для управления вашими собственными данными и создания пользовательских приложений/интеграций.
Одним из типичных вариантов использования является предоставление платформы для управления бизнес-данными, предоставления данных в качестве контента и интеграции со сторонними системами.
Предварительный просмотр видео
Вы можете использовать веб-приложение по умолчанию, которое включает в себя все модули, или создать собственное веб-приложение и включить любые необходимые модули. Модули хранятся в этом репозитории и публикуются в Maven Central.
Это приложение Apache Causeway, использующее лучшие практики и соглашения. Он использует возможности быстрой разработки Causeway и предоставляет функции корпоративного уровня.
Он состоит из нескольких модулей, которые обеспечивают отправную точку для создания собственного приложения.
Вы можете использовать веб-приложение напрямую или использовать модули в своем собственном проекте веб-приложения и настроить его в соответствии со своими потребностями. Веб-приложение по умолчанию можно настроить для включения или исключения модулей по мере необходимости.
Кончик | TODO: добавьте сюда ссылку на демо-сайт |
установить предварительные требования:
Java 17 LTS (например, использование дистрибутива OpenJDK)
Maven 3.6 или новее (загрузить)
Клонируем репозиторий:
git clone [email protected]:savantly-net/nexus-command.git
# or
git clone https://github.com/savantly-net/nexus-command.git
cd nexus-command
Сборка с использованием Maven:
mvn clean install
Запустите с помощью Maven:
mvn -pl webapp spring-boot:run
make build
make run-image
Загрузите файл spring-instrument.jar
для плетения во время загрузки (более подробно обсуждается ниже):
mvn dependency:get -DgroupId=org.springframework -DartifactId=spring-instrument -Dversion=XXX
Измените «XXX» на значение, которое разрешается ${spring-framework.version}
в pom.xml
веб-приложения.
Запустите с помощью Maven:
mvn -pl webapp spring-boot:run
Приложение будет доступно по адресу http://localhost:8080.
Перейдите по адресу http://localhost:8080.
Войдите, используя:
либо суперпользователь secman:
имя пользователя: secman-admin
пароль: pass
в качестве администратора Nexus Command:
имя пользователя: admin
пароль: admin
или как непривилегированный пользователь:
имя пользователя: user
пароль: user
Приложение работает с H2, работающим в памяти, с примерами данных, настроенными с помощью сценариев фиксации.
В следующей таблице поясняется содержимое каждого из каталогов:
Эта версия приложения использует EclipseLink JPA в качестве ORM, настроенного с переплетением во время загрузки. Для этого необходимо, чтобы приложение запускалось с агентом Java.
Плагин Spring-Boot уже настроен для работы с этим агентом. Если вы хотите запустить из IDE:
во-первых, вы можете скопировать файл локально:
cp ~ /.m2/repository/org/springframework/spring-instrument/XXX/spring-instrument-XXX.jar lib/spring-instrument.jar
Измените «XXX» на значение, которое разрешается ${spring-framework.version}
в pom.xml
веб-приложения.
Затем укажите агент в качестве опции виртуальной машины:
-javaagent:lib/spring-instrument.jar
В приложении есть как юнит-тесты, так и интеграционные тесты.
Тип теста | Отчет | Фаза | Пропустить использование |
---|---|---|---|
Юнит-тест | | | |
Интегральный тест | | | |
Эти выходные данные могут, например, обрабатываться или публиковаться в рамках непрерывного конвейера.
Apache Causeway поддерживает i18n с использованием файлов GNU .po. WEB-INF/translations.po
является резервным (пустое значение означает, что ключ используется «как есть»), а файлы WEB-INF/translations-XX.po
предоставляют переводы для каждой локали «XX».
Переводы необходимы для всех классов предметной области и всех членов (действий, свойств и коллекций) всех классов. Эта информация доступна из метамодели, поэтому новый шаблон translations.po
создается как побочный эффект запуска интеграционных тестов (через средство ведения журнала log4j2). Хороший интеграционный тест — ValidateDomainModel_IntegTest
.
Кроме того, переводы необходимы для любых сообщений проверки, инициируемых тестом. Запуск интеграционных тестов, запускающих проверки, приведет к тому, что эти сообщения будут записаны как ключи, например Smoke_IntegTest
.
Сгенерированный файл необходимо объединить со всеми существующими переводами в WEB-INF/translations.po
и переводами, полученными для любых новых ключей (существует множество онлайн-сервисов, поддерживающих этот формат).
Приложение также демонстрирует, как использовать Flyway для миграции схемы базы данных.
По умолчанию приложение запускается с использованием базы данных в памяти. Пример Flyway активируется с использованием профиля Spring Boot «SQLSERVER», например:
mvn -Dspring.profiles.active=SQLSERVER -pl webapp install
mvn -Dspring.profiles.active=SQLSERVER -pl webapp spring-boot:run
Это приводит к тому, что свойства, определенные в файле config/application-SQLSERVER.properties
будут использоваться лучше, чем свойства в файле config/application.properties
по умолчанию. Он определяет следующее:
spring.flyway.url
, spring.flyway.user
и spring.flyway.password
Их наличия достаточно для включения интеграции Flyway.
spring.flyway.enabled
Для этого параметра явно установлено значение true
, чтобы переопределить значение в файле config/application.properties
по умолчанию.
Профиль Spring Boot также используется для добавления зависимости к включенному драйверу сервера POSTGRES (он скрыт за профилем Maven).
Предварительными условиями для этого являются база данных сервера POSTGRES, работающая на localhost
и с учетными данными, указанными в config/application-POSTGRESQL.properties
; отрегулируйте по мере необходимости.
Nexus Command имеет бесчисленное множество вариантов использования. Тем не менее, общий вариант использования — предоставить платформу для управления вашими основными бизнес-данными и интегрироваться со сторонними системами. Используя Nexus в качестве «источника правды» для ваших бизнес-данных, вы можете легко создавать собственные приложения и интеграции, соответствующие потребностям вашего бизнеса, без привязки к конкретному поставщику или платформе.
Следующие функции включены (или будут) в веб-приложение по умолчанию:
Управление веб-сайтом (бета)
Управление организацией (бета)
Управление франчайзи (бета)
Управление контентом (бета)
SEO (бета)
Управление персоналом (альфа)
Управление продуктом (планируется)
Управление запасами (планируется)
Управление клиентами (планируется)
Управление продажами (планируется)
Отчетность (планируется)
Аналитика (планируется)
Маркетинг (планируется)
Интеграция рекламы (планируется)
Интеграция с социальными сетями (планируется)
Электронная коммерция (рассматривается)
Управляйте проектами и задачами и отслеживайте прогресс.
Создавайте персонажей с помощью ИИ, чтобы улучшить пользовательские истории и критерии приемлемости.
Генерация Персоны
Персона Психография
Профессиональный опыт личности
Будучи оператором или владельцем франшизы, детальный контроль контента и данных может способствовать единообразному восприятию бренда во всех регионах. Nexus Command упрощает делегирование детального управления контентом франчайзи или агентству, сохраняя при этом контроль над брендом.
Менеджер организации
Это концепция, позволяющая делегировать управление контентом франчайзи или агентству.