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}
이 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" 로케일에 대한 번역을 제공합니다.
모든 도메인 클래스와 모든 클래스의 모든 멤버(작업, 속성 및 컬렉션)에 대한 번역이 필요합니다. 이 정보는 메타모델에서 사용할 수 있으므로 (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
이는 기본 config/application.properties
의 값을 재정의하기 위해 명시적으로 true
로 설정됩니다.
Spring Boot 프로필은 포함된 POSTGRES 서버 드라이버에 종속성을 추가하는 데에도 사용됩니다(Maven 프로필 뒤에 숨겨져 있음).
이를 시도하기 위한 전제 조건은 localhost
에서 실행되는 POSTGRES 서버 데이터베이스와 config/application-POSTGRESQL.properties
에 지정된 자격 증명입니다. 필요에 따라 조정하십시오.
Nexus Command에는 수많은 사용 사례가 있습니다. 그러나 일반화된 사용 사례는 핵심 비즈니스 데이터를 관리하기 위한 플랫폼을 제공하고 타사 시스템과 통합하는 것입니다. Nexus를 비즈니스 데이터의 "진실 소스"로 사용하면 특정 공급업체나 플랫폼에 얽매이지 않고도 비즈니스 요구에 맞는 맞춤형 애플리케이션과 통합을 쉽게 만들 수 있습니다.
기본 웹앱에는 다음 기능이 포함되어 있거나 포함됩니다.
웹사이트 관리(베타)
조직 관리(베타)
프랜차이즈 관리(베타)
콘텐츠 관리(베타)
SEO(베타)
직원 관리(알파)
상품관리(예정)
재고관리(예정)
고객관리(예정)
영업관리(예정)
보고(예정)
분석(예정)
마케팅(예정)
광고통합(예정)
소셜미디어 통합(예정)
전자상거래(고려)
프로젝트와 작업을 관리하고 진행 상황을 추적하세요.
AI로 페르소나를 생성하면 더 나은 사용자 스토리와 수용 기준을 생성할 수 있습니다.
페르소나 세대
페르소나 사이코그래픽스
페르소나 전문 배경
프랜차이즈 운영자 또는 소유자로서 콘텐츠와 데이터를 세밀하게 제어하면 모든 위치에서 일관된 브랜드 경험을 촉진할 수 있습니다. Nexus Command는 브랜드에 대한 통제권을 유지하면서 프랜차이즈나 대행사에 세부적인 콘텐츠 관리 위임을 용이하게 합니다.
조직 관리자
이는 콘텐츠 관리를 가맹점이나 대행사에 위임할 수 있는 개념입니다.