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، ويوفر ميزات على مستوى المؤسسات.
يتكون من عدة وحدات توفر نقطة انطلاق لبناء التطبيق الخاص بك.
يمكنك استخدام تطبيق الويب مباشرة، أو يمكنك استخدام الوحدات النمطية في مشروع 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}
في تطبيق الويب 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
ثم حدد الوكيل كخيار 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 المضمن (وهو مخفي خلف ملف تعريف Maven).
المتطلبات الأساسية لتجربة ذلك هي قاعدة بيانات خادم POSTGRES التي تعمل على localhost
ومع بيانات الاعتماد كما هو محدد في config/application-POSTGRESQL.properties
؛ ضبط حسب الضرورة.
يحتوي Nexus Command على عدد لا يحصى من حالات الاستخدام. على الرغم من أن حالة الاستخدام العامة هي توفير منصة لإدارة بيانات عملك الأساسية والتكامل مع أنظمة الطرف الثالث. باستخدام Nexus باعتباره "مصدر الحقيقة" لبيانات عملك، يمكنك بسهولة إنشاء تطبيقات وعمليات تكامل مخصصة خاصة باحتياجات عملك، دون الارتباط بمورد أو نظام أساسي محدد.
تم (أو سيتم تضمين) الميزات التالية في تطبيق الويب الافتراضي:
إدارة الموقع (بيتا)
إدارة المؤسسة (تجريبية)
إدارة الامتياز (تجريبية)
إدارة المحتوى (تجريبي)
تحسين محركات البحث (تجريبي)
إدارة الموظفين (ألفا)
إدارة المنتج (مخطط لها)
إدارة المخزون (المخطط لها)
إدارة العملاء (مخطط لها)
إدارة المبيعات (مخطط لها)
إعداد التقارير (مخطط لها)
التحليلات (مخطط لها)
التسويق (مخطط)
تكامل الإعلانات (مخطط له)
تكامل وسائل التواصل الاجتماعي (مخطط له)
التجارة الإلكترونية (بالنظر)
إدارة المشاريع والمهام، وتتبع التقدم.
قم بإنشاء شخصيات باستخدام الذكاء الاصطناعي للمساعدة في إنشاء قصص مستخدم ومعايير قبول أفضل.
جيل الشخصية
التخطيط النفسي للشخصية
الخلفية المهنية للشخصية
باعتبارك مشغل امتياز أو مالك، فإن التحكم الدقيق في المحتوى والبيانات يمكن أن يسهل تجربة العلامة التجارية المتسقة في جميع المواقع. تعمل Nexus Command على تسهيل تفويض إدارة المحتوى الدقيق إلى صاحب الامتياز أو الوكالة، مع الحفاظ على السيطرة على العلامة التجارية.
مدير المنظمة
هذا نموذج للمفهوم الذي يسمح بتفويض إدارة المحتوى إلى صاحب الامتياز أو الوكالة.