docker run -p 8080:8080 savantly/nexus-command
Anda dapat mengaturnya sebagai properti atau variabel lingkungan.
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
Lihat properti aplikasi untuk opsi konfigurasi lainnya.
./src/main/resources/application.yml
Nexus Command adalah aplikasi multi-penyewa yang menyediakan platform untuk mengelola semua jenis data bisnis. Itu dibangun di atas kerangka Apache Causeway, dan memberikan titik awal untuk mengelola data Anda sendiri dan membuat aplikasi/integrasi khusus.
Salah satu kasus penggunaan yang umum adalah menyediakan platform untuk mengelola data bisnis, menyediakan data sebagai konten, dan berintegrasi dengan sistem pihak ketiga.
Pratinjau Video
Anda dapat menggunakan aplikasi web default yang mencakup semua modul, atau Anda dapat membuat aplikasi web Anda sendiri dan menyertakan modul apa pun yang Anda perlukan. Modul disimpan dalam repo ini, dan dipublikasikan ke Maven Central.
Ini adalah aplikasi Apache Causeway, menggunakan praktik dan konvensi terbaik. Ini memanfaatkan kemampuan pengembangan pesat dari Causeway, dan menyediakan fitur tingkat perusahaan.
Ini terdiri dari beberapa modul yang memberikan titik awal untuk membangun aplikasi Anda sendiri.
Anda dapat menggunakan webapp secara langsung, atau Anda dapat menggunakan modul di proyek Webapp Anda sendiri dan menyesuaikannya dengan kebutuhan Anda. Aplikasi web default dapat dikonfigurasi untuk menyertakan atau mengecualikan modul sesuai kebutuhan.
Tip | TODO: tambahkan tautan ke situs demo di sini |
prasyarat pemasangan:
Java 17 LTS (misalnya Mengadopsi distribusi OpenJDK)
Maven 3.6 atau lebih baru (unduh)
Kloning repositori:
git clone [email protected]:savantly-net/nexus-command.git
# or
git clone https://github.com/savantly-net/nexus-command.git
cd nexus-command
Bangun menggunakan Maven:
mvn clean install
Jalankan menggunakan Maven:
mvn -pl webapp spring-boot:run
make build
make run-image
Unduh spring-instrument.jar
untuk menenun waktu muat (dibahas lebih detail di bawah):
mvn dependency:get -DgroupId=org.springframework -DartifactId=spring-instrument -Dversion=XXX
Ubah "XXX" menjadi nilai yang ditentukan oleh ${spring-framework.version}
di webapp pom.xml
Jalankan menggunakan Maven:
mvn -pl webapp spring-boot:run
Aplikasi akan tersedia di http://localhost:8080.
Telusuri ke http://localhost:8080.
Masuk menggunakan:
baik pengguna super secman:
nama pengguna: secman-admin
kata sandi: pass
sebagai admin Perintah Nexus:
nama pengguna: admin
kata sandi: admin
atau sebagai pengguna yang tidak memiliki hak istimewa:
nama pengguna: user
kata sandi: user
Aplikasi berjalan dengan H2 yang berjalan di memori, dengan contoh data yang disiapkan menggunakan skrip perlengkapan.
Tabel berikut menjelaskan isi masing-masing direktori:
Versi aplikasi ini menggunakan EclipseLink JPA sebagai ORM-nya, dikonfigurasi dengan tenun waktu muat. Ini mengharuskan aplikasi dijalankan dengan agen Java.
Plugin spring-boot sudah dikonfigurasi untuk dijalankan dengan agen ini. Jika Anda ingin menjalankan dari IDE:
pertama, Anda mungkin ingin menyalin file secara lokal:
cp ~ /.m2/repository/org/springframework/spring-instrument/XXX/spring-instrument-XXX.jar lib/spring-instrument.jar
Ubah "XXX" menjadi nilai yang ditentukan oleh ${spring-framework.version}
di webapp pom.xml
Kemudian tentukan agen sebagai opsi VM:
-javaagent:lib/spring-instrument.jar
Aplikasi ini memiliki pengujian unit dan pengujian integrasi.
Jenis tes | Laporan | Fase | Lewati penggunaan |
---|---|---|---|
Tes satuan | | | |
Tes integrasi | | | |
Output ini misalnya dapat diproses di dalam/diterbitkan melalui pipeline berkelanjutan.
Apache Causeway mendukung i18n menggunakan file .po GNU. WEB-INF/translations.po
adalah fallback (nilai kosong berarti kunci digunakan "sebagaimana adanya"), sedangkan file WEB-INF/translations-XX.po
menyediakan terjemahan untuk setiap lokal "XX".
Terjemahan diperlukan untuk semua kelas domain dan semua anggota (tindakan, properti, dan koleksi) dari semua kelas. Informasi ini tersedia dari metamodel, sehingga template baru translations.po
dihasilkan sebagai efek samping dari menjalankan tes integrasi (melalui logger log4j2). Tes integrasi yang baik untuk dijalankan adalah ValidateDomainModel_IntegTest
.
Selain itu, terjemahan diperlukan untuk setiap pesan validasi yang dipicu oleh pengujian. Menjalankan pengujian integrasi yang memicu validasi akan mengakibatkan pesan-pesan ini ditangkap sebagai kunci, misalnya Smoke_IntegTest
.
File yang dihasilkan harus digabungkan dengan terjemahan yang ada di WEB-INF/translations.po
, dan terjemahan yang diperoleh untuk kunci baru (ada banyak layanan online yang mendukung format tersebut).
Aplikasi ini juga menunjukkan cara menggunakan Flyway untuk memigrasi skema database.
Secara default, aplikasi berjalan menggunakan database dalam memori. Contoh Flyway diaktifkan menggunakan profil Spring Boot "SQLSERVER", misalnya:
mvn -Dspring.profiles.active=SQLSERVER -pl webapp install
mvn -Dspring.profiles.active=SQLSERVER -pl webapp spring-boot:run
Hal ini menyebabkan properti yang ditentukan dalam file config/application-SQLSERVER.properties
digunakan sebagai preferensi dibandingkan properti yang ada di file config/application.properties
default. Ini mendefinisikan hal berikut:
spring.flyway.url
, spring.flyway.user
dan spring.flyway.password
Kehadiran hal-hal tersebut sudah cukup untuk memungkinkan integrasi Jalur Terbang
spring.flyway.enabled
Ini secara eksplisit disetel ke true
, untuk mengganti nilai dalam config/application.properties
default.
Profil Spring Boot juga digunakan untuk menambahkan ketergantungan pada driver Server POSTGRES yang disertakan (tersembunyi di balik profil Maven).
Prasyarat untuk mencobanya adalah database Server POSTGRES yang berjalan di localhost
dan dengan kredensial seperti yang ditentukan dalam config/application-POSTGRESQL.properties
; sesuaikan seperlunya.
Nexus Command memiliki banyak kasus penggunaan. Meskipun demikian, kasus penggunaan umum adalah menyediakan platform untuk mengelola data bisnis inti Anda, dan berintegrasi dengan sistem pihak ketiga. Dengan menggunakan Nexus sebagai "sumber kebenaran" untuk data bisnis Anda, Anda dapat dengan mudah membuat aplikasi dan integrasi khusus yang spesifik untuk kebutuhan bisnis Anda, tanpa terikat pada vendor atau platform tertentu.
Fitur-fitur berikut ini (atau akan) disertakan dalam aplikasi web default:
Manajemen situs web (beta)
Manajemen organisasi (beta)
Manajemen penerima waralaba (beta)
Manajemen konten (beta)
SEO (beta)
Manajemen karyawan (alfa)
Manajemen produk (direncanakan)
Manajemen inventaris (direncanakan)
Manajemen pelanggan (direncanakan)
Manajemen penjualan (direncanakan)
Pelaporan (direncanakan)
Analisis (direncanakan)
Pemasaran (direncanakan)
Integrasi Periklanan (direncanakan)
Integrasi media sosial (direncanakan)
E-niaga (mempertimbangkan)
Kelola proyek dan tugas, dan lacak kemajuannya.
Hasilkan persona dengan AI untuk membantu menghasilkan cerita pengguna dan kriteria penerimaan yang lebih baik.
Generasi Persona
Psikografis Persona
Latar Belakang Profesional Persona
Sebagai operator atau pemilik waralaba, kontrol konten dan data yang cermat dapat memfasilitasi pengalaman merek yang konsisten di semua lokasi. Nexus Command memfasilitasi delegasi pengelolaan konten terperinci kepada pewaralaba atau agensi, sambil mempertahankan kendali atas merek.
Manajer Organisasi
Ini adalah konsep awal yang memungkinkan pendelegasian pengelolaan konten kepada pewaralaba atau agensi.