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 框架之上,並為管理您自己的資料和創建自訂應用程式/整合提供了一個起點。
一個典型的用例是提供一個平台來管理業務資料、提供資料作為內容以及與第三方系統整合。
影片預覽
您可以使用包含所有模組的預設 Web 應用程序,也可以建立自己的 Web 應用程式並包含您需要的任何模組。這些模組在此儲存庫中維護,並發佈到 Maven Central。
這是一個 Apache Causeway 應用程序,使用最佳實踐和約定。它利用Causeway的快速開發能力,並提供企業級功能。
它由幾個模組組成,為建立您自己的應用程式提供了起點。
您可以直接使用 Web 應用程序,也可以使用自己的 Web 應用程式專案中的模組並根據您的需求進行自訂。預設 Web 應用程式可配置為根據需要包含或排除模組。
提示 | 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}
在 webapp 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}
在 webapp pom.xml
中解析的值
然後將代理指定為 VM 選項:
-javaagent:lib/spring-instrument.jar
該應用程式具有單元測試和整合測試。
測試類型 | 報告 | 階段 | 跳過使用 |
---|---|---|---|
單元測試 |
| | |
積分測試 |
| | |
例如,這些輸出可以在連續管道內處理/發布。
Apache Causeway 使用 GNU .po 檔案支援 i18n。 WEB-INF/translations.po
是後備(空值意味著金鑰「按原樣」使用),而WEB-INF/translations-XX.po
檔案提供每個「XX」語言環境的翻譯。
所有域類別和所有類別的所有成員(操作、屬性和集合)都需要翻譯。此資訊可從元模型中取得,因此會產生一個新的範本translations.po
,作為執行整合測試(透過 log4j2 記錄器)的副作用。一個很好的整合測試是ValidateDomainModel_IntegTest
。
此外,測試觸發的任何驗證訊息都需要翻譯。執行觸發驗證的整合測試將導致這些訊息被捕獲為鍵,例如Smoke_IntegTest
。
產生的文件應與WEB-INF/translations.po
中的任何現有翻譯以及為任何新金鑰獲得的翻譯合併(有許多線上服務支援該格式)。
該應用程式還演示瞭如何使用 Flyway 遷移資料庫架構。
預設情況下,應用程式使用記憶體資料庫運行。 Flyway 範例是使用「SQLSERVER」Spring Boot 設定檔啟動的,例如:
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 設定檔後面)。
嘗試此操作的先決條件是在localhost
上執行 POSTGRES 伺服器資料庫,並具有config/application-POSTGRESQL.properties
中指定的憑證;根據需要進行調整。
Nexus Command 有無數的用例。儘管如此,一個通用的用例是提供一個用於管理核心業務資料並與第三方系統整合的平台。透過使用 Nexus 作為業務資料的“真實來源”,您可以輕鬆創建特定於您的業務需求的自訂應用程式和集成,而無需綁定到特定的供應商或平台。
預設 Web 應用程式中包含(或將包含)以下功能:
網站管理(測試版)
組織管理(測試版)
加盟商管理(測試版)
內容管理(測試版)
搜尋引擎優化(測試版)
員工管理(阿爾法)
產品管理(計劃)
庫存管理(計劃)
客戶管理(計劃)
銷售管理(計劃)
報告(計劃)
分析(計劃)
行銷(計劃中)
廣告整合(計劃中)
社群媒體整合(計畫中)
電子商務(考慮中)
管理專案和任務並追蹤進度。
使用人工智慧生成角色,以幫助產生更好的使用者故事和接受標準。
角色生成
人物心理統計
角色專業背景
作為特許經營商或所有者,對內容和數據的細微控制可以促進所有地點的一致品牌體驗。 Nexus Command 有助於將精細的內容管理委託給特許經營商或代理商,同時保持對品牌的控制。
組織經理
這是一個概念證明,允許將內容管理委託給特許經營商或代理商。