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 และเป็นจุดเริ่มต้นสำหรับการจัดการข้อมูลของคุณเอง และสร้างแอปพลิเคชัน/การรวมระบบแบบกำหนดเอง
กรณีการใช้งานทั่วไปประการหนึ่งคือการจัดหาแพลตฟอร์มสำหรับจัดการข้อมูลธุรกิจ ให้ข้อมูลเป็นเนื้อหา และบูรณาการกับระบบของบุคคลที่สาม
ตัวอย่างวิดีโอ
คุณสามารถใช้เว็บแอปเริ่มต้นซึ่งรวมถึงโมดูลทั้งหมด หรือคุณสามารถสร้างเว็บแอปของคุณเองและรวมโมดูลใดก็ได้ที่คุณต้องการ โมดูลได้รับการบำรุงรักษาใน repo นี้ และเผยแพร่ไปยัง Maven Central
นี่คือแอปพลิเคชัน Apache Causeway โดยใช้แนวทางปฏิบัติและแบบแผนที่ดีที่สุด ใช้ประโยชน์จากความสามารถในการพัฒนาที่รวดเร็วของ Causeway และมอบฟีเจอร์ระดับองค์กร
ประกอบด้วยหลายโมดูลที่เป็นจุดเริ่มต้นสำหรับการสร้างแอปพลิเคชันของคุณเอง
คุณสามารถใช้ webapp ได้โดยตรง หรือคุณสามารถใช้โมดูลในโปรเจ็กต์ Webapp ของคุณเองและปรับแต่งตามความต้องการของคุณ webapp เริ่มต้นสามารถกำหนดค่าให้รวมหรือแยกโมดูลได้ตามต้องการ
เคล็ดลับ | สิ่งที่ต้องทำ: เพิ่มลิงก์ไปยังไซต์สาธิตที่นี่ |
ติดตั้งข้อกำหนดเบื้องต้น:
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 superuser:
ชื่อผู้ใช้: 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" เป็นค่าที่ ${spring-framework.version}
แก้ไขใน webapp pom.xml
จากนั้นระบุเอเจนต์เป็นตัวเลือก VM:
-javaagent:lib/spring-instrument.jar
แอปพลิเคชันมีทั้งการทดสอบหน่วยและการทดสอบการรวม
ประเภทการทดสอบ | รายงาน | เฟส | ข้ามการใช้ |
---|---|---|---|
การทดสอบหน่วย | | | |
การทดสอบจำนวนเต็ม | | | |
ผลลัพธ์เหล่านี้สามารถได้รับการประมวลผลภายใน/เผยแพร่โดยไปป์ไลน์แบบต่อเนื่อง
Apache Causeway รองรับ i18n โดยใช้ไฟล์ GNU .po WEB-INF/translations.po
เป็นทางเลือก (ค่าว่างหมายความว่ามีการใช้คีย์ "ตามที่เป็น") ในขณะที่ไฟล์ WEB-INF/translations-XX.po
ให้คำแปลสำหรับแต่ละภาษา "XX"
จำเป็นต้องมีการแปลสำหรับคลาสโดเมนทั้งหมดและสมาชิกทั้งหมด (การดำเนินการ คุณสมบัติ และคอลเลกชัน) ของคลาสทั้งหมด ข้อมูลนี้มีอยู่ใน metamodel และเทมเพลตใหม่ 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 Server รวมอยู่ด้วย (มันถูกซ่อนอยู่หลังโปรไฟล์ Maven)
ข้อกำหนดเบื้องต้นในการลองใช้คือฐานข้อมูลเซิร์ฟเวอร์ POSTGRES ที่ทำงานบน localhost
และมีข้อมูลรับรองตามที่ระบุไว้ใน config/application-POSTGRESQL.properties
ปรับตามความจำเป็น
Nexus Command มีกรณีการใช้งานมากมายนับไม่ถ้วน แม้ว่ากรณีการใช้งานทั่วไปคือการจัดเตรียมแพลตฟอร์มสำหรับจัดการข้อมูลธุรกิจหลักของคุณและรวมเข้ากับระบบของบุคคลที่สาม ด้วยการใช้ Nexus เป็น "แหล่งที่มาของความจริง" สำหรับข้อมูลธุรกิจของคุณ คุณสามารถสร้างแอปพลิเคชันที่กำหนดเองและการผสานรวมที่ตรงกับความต้องการทางธุรกิจของคุณได้อย่างง่ายดาย โดยไม่ต้องเชื่อมโยงกับผู้จำหน่ายหรือแพลตฟอร์มเฉพาะ
คุณสมบัติต่อไปนี้ (หรือจะ) รวมอยู่ในเว็บแอปเริ่มต้น:
การจัดการเว็บไซต์ (เบต้า)
การจัดการองค์กร (เบต้า)
การจัดการแฟรนไชส์ (เบต้า)
การจัดการเนื้อหา (เบต้า)
SEO (เบต้า)
การจัดการพนักงาน (อัลฟ่า)
การจัดการผลิตภัณฑ์ (ตามแผน)
การจัดการสินค้าคงคลัง (ตามแผน)
การจัดการลูกค้า (วางแผนไว้)
การจัดการการขาย (ตามแผน)
การรายงาน (ตามแผน)
การวิเคราะห์ (วางแผนไว้)
การตลาด (วางแผนไว้)
บูรณาการการโฆษณา (วางแผน)
การบูรณาการโซเชียลมีเดีย (วางแผนไว้)
อีคอมเมิร์ซ (กำลังพิจารณา)
จัดการโครงการและงาน และติดตามความคืบหน้า
สร้างบุคลิกด้วย AI เพื่อช่วยสร้างเรื่องราวของผู้ใช้และเกณฑ์การยอมรับที่ดีขึ้น
การสร้างบุคคล
จิตวิทยาบุคลิกภาพ
ประวัติความเป็นมาของเพอร์โซน่ามืออาชีพ
ในฐานะผู้ดำเนินการแฟรนไชส์หรือเจ้าของ การควบคุมเนื้อหาและข้อมูลอย่างละเอียดสามารถอำนวยความสะดวกให้ประสบการณ์แบรนด์ที่สอดคล้องกันในทุกสถานที่ Nexus Command อำนวยความสะดวกในการมอบหมายการจัดการเนื้อหาโดยละเอียดให้กับผู้รับสิทธิ์แฟรนไชส์หรือเอเจนซี่ ในขณะที่ยังคงการควบคุมแบรนด์ไว้
ผู้จัดการองค์กร
นี่เป็นแนวคิดที่ช่วยให้สามารถมอบหมายการจัดการเนื้อหาให้กับผู้รับสิทธิ์แฟรนไชส์หรือเอเจนซี่ได้