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 フレームワーク上に構築されており、独自のデータを管理し、カスタム アプリケーション/統合を作成するための開始点を提供します。
典型的な使用例の 1 つは、ビジネス データを管理し、データをコンテンツとして提供し、サードパーティ システムと統合するためのプラットフォームを提供することです。
ビデオプレビュー
すべてのモジュールを含むデフォルトの 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」を、Web アプリpom.xml
で${spring-framework.version}
が解決される値に変更します。
Maven を使用して実行します。
mvn -pl webapp spring-boot:run
アプリケーションは http://localhost:8080 で入手できます。
http://localhost:8080 にアクセスします。
次を使用してログインします:
secman スーパーユーザー:
ユーザー名: secman-admin
パスワード: pass
Nexus コマンド管理者として:
ユーザー名: 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」を、Web アプリpom.xml
で${spring-framework.version}
が解決される値に変更します。
次に、エージェントを VM オプションとして指定します。
-javaagent:lib/spring-instrument.jar
アプリケーションには単体テストと統合テストの両方があります。
テストの種類 | 報告 | 段階 | 使用をスキップする |
---|---|---|---|
単体テスト |
| | |
インテグテスト |
| | |
これらの出力は、たとえば、継続的なパイプライン内で処理したり、継続的なパイプラインによって公開したりできます。
Apache Causeway は、GNU .po ファイルを使用して i18n をサポートします。 WEB-INF/translations.po
フォールバックであり (空の値はキーが「そのまま」使用されることを意味します)、 WEB-INF/translations-XX.po
ファイルは各「XX」ロケールの翻訳を提供します。
すべてのドメイン クラスとすべてのクラスのすべてのメンバー (アクション、プロパティ、およびコレクション) に変換が必要です。この情報はメタモデルから取得できるため、(log4j2 ロガーを介して) 統合テストを実行する副作用として、新しいテンプレートtranslations.po
が生成されます。実行するのに適した統合テストは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 コマンドには無数の使用例があります。ただし、一般的なユースケースは、コア ビジネス データを管理するためのプラットフォームを提供し、サードパーティ システムと統合することです。ビジネス データの「信頼できる情報源」として Nexus を使用すると、特定のベンダーやプラットフォームに縛られることなく、ビジネス ニーズに特化したカスタム アプリケーションや統合を簡単に作成できます。
次の機能はデフォルトの Web アプリに含まれています (または含まれる予定です)。
ウェブサイト管理 (ベータ版)
組織管理 (ベータ版)
フランチャイズ加盟者管理 (ベータ版)
コンテンツ管理 (ベータ版)
SEO (ベータ版)
従業員管理 (アルファ版)
プロダクトマネジメント(予定)
在庫管理(予定)
顧客管理(予定)
販売管理(予定)
報告(予定)
分析(計画中)
マーケティング(予定)
広告統合(予定)
ソーシャルメディア連携(予定)
Eコマース(検討中)
プロジェクトとタスクを管理し、進捗状況を追跡します。
AI を使用してペルソナを生成し、より良いユーザー ストーリーと受け入れ基準を生成します。
ペルソナの生成
ペルソナサイコグラフィックス
ペルソナの専門的背景
フランチャイズの運営者またはオーナーは、コンテンツとデータをきめ細かく制御することで、すべての拠点で一貫したブランド エクスペリエンスを促進できます。 Nexus Command は、ブランドの管理を維持しながら、フランチャイジーまたは代理店へのきめ細かなコンテンツ管理の委任を容易にします。
組織マネージャー
これは、コンテンツ管理をフランチャイジーまたは代理店に委任できるようにするための概念実証です。