Para adalah server/kerangka backend multitenant yang dapat diskalakan untuk kegigihan dan pengambilan objek. Ini membantu Anda membangun dan membuat prototipe aplikasi lebih cepat dengan mengurus operasi backend. Ini dapat menjadi bagian dari aplikasi berbasis JVM Anda atau dapat digunakan sebagai mandiri, server API multitenant dengan banyak aplikasi dan klien yang menghubungkannya.
Nama "pára" berarti "uap" dalam bahasa Bulgaria. Dan sama seperti Steam yang digunakan untuk menyalakan barang, Anda dapat menggunakan Para untuk memberi daya pada backend aplikasi seluler atau web Anda.
Lihat bagaimana PARA dibandingkan dengan kerangka kerja backend open source lainnya.
Proyek ini sepenuhnya didanai dan didukung oleh Erudika - perusahaan independen dan bootstrap.
DAO secara asli) +----------------------------------------------------------+
| ____ ___ _ ____ ___ _ |
| / __ / __` / ___ / __` / |
| / / / _ / / / _ / / / / / / _ / / / |
| / .___/ __, _/ _/ __, _/ +------------- +
| / _/ | Kegigihan |
+-------------------+-----------------++-------------+
| REST API | | Cari | --- | Cache |
+---------+---------+-+--------+--------+---+------+------+
| | |
+---------+---------++--------+--------++------+------+
| Permintaan yang ditandatangani | | Indeks pencarian | | Penyimpanan data |
| dan JWT Tokens | | (Any) | | (Any) |
+----+---------^----++-----------------++-------------+
| |
+---- V ---------+-------------------------------------------+
| Klien: JavaScript, PHP, Java, C#, Android, iOS, dkk. |
+----------------------------------------------------------+
Kami menawarkan dukungan hosting dan premium di paraio.com di mana Anda dapat mencoba para online dengan akun pengembang gratis. Jelajahi dan kelola pengguna dan objek Anda, lakukan cadangan dan edit izin dengan beberapa klik di konsol web. Dengan meningkatkan ke akun premium, Anda akan dapat mengukur proyek -proyek Anda naik turun dalam hitungan detik dan mengelola banyak aplikasi.
application.conf file konfigurasi di direktori yang sama dengan paket JAR.java -jar -Dconfig.file=./application.conf para-*.jarnpm install -g para-cli # run setup and set endpoint to either 'http://localhost:8080' or 'https://paraio.com'
# the keys for the root app are inside application.conf
$ para-cli setup
$ para-cli new-app "myapp" --name "My App"
Atau, Anda dapat menggunakan PARA Web Console untuk mengelola data, atau mengintegrasikan Paragrat secara langsung ke dalam proyek Anda dengan salah satu klien API di bawah ini.
Gambar Docker Tagged untuk para terletak di erudikaltd/para di docker hub. Sangat disarankan agar Anda hanya menarik gambar rilis seperti :1.45.1 atau :latest_stable karena :latest dapat rusak atau tidak stabil. Pertama, buat file application.conf dan folder data dan mulai wadah para:
$ touch application.conf && mkdir data
$ docker run -ti -p 8080:8080 --rm -v $(pwd)/data:/para/data
-v $(pwd)/application.conf:/para/application.conf
-e JAVA_OPTS="-Dconfig.file=/para/application.conf" erudikaltd/para:latest_stable
Variabel Lingkungan
JAVA_OPTS - properti sistem java, misalnya -Dpara.port=8000 BOOT_SLEEP - penundaan startup, dalam detik
Plugin
Untuk menggunakan plugin, buat Dockerfile-plugins baru yang melakukan build multi-tahap seperti SO:
# change X.Y.Z to the version you want to use
FROM erudikaltd/para:v1.XY.Z-base AS base
FROM erudikaltd/para-search-lucene:1.XY.Z AS search
FROM erudikaltd/para-dao-mongodb:1.XY.Z AS dao
FROM base AS final
COPY --from=search /para/lib/*.jar /para/lib
COPY --from=dao /para/lib/*.jar /para/lib
Kemudian cukup jalankan $ docker build -f Dockerfile-plugins -t para-mongo .
Para dapat dikompilasi dengan JDK 8+:
Untuk mengkompilasinya, Anda akan membutuhkan Maven. Setelah Anda memilikinya, cukup klon dan bangun:
$ git clone https://github.com/erudika/para.git && cd para
$ mvn install -DskipTests=true Untuk menghasilkan $ mvn package dan itu akan berada di ./para-jar/target/para-xyz-SNAPSHOT.jar . Dua file jar akan dihasilkan secara total - yang lemak sedikit lebih besar dalam ukuran.
Untuk membangun paket dasar tanpa plugin (tidak termasuk para-dao-sql dan para-search-lucene ), jalankan:
$ cd para-jar && mvn -Pbase package
Untuk menjalankan instance PARA lokal untuk pengembangan, gunakan:
$ mvn -Dconfig.file=./application.conf spring-boot:runAnda dapat menjalankan para sebagai server mandiri dengan mengunduh toples yang dapat dieksekusi dan kemudian:
$ java -jar para-X.Y.Z.jarAnda dapat menelusuri objek Anda melalui PARA Web Console Console.paraio.org. Cukup ubah titik akhir API menjadi server lokal Anda dan hubungkan kunci akses Anda. Antarmuka admin hanya sisi klien dan kunci rahasia Anda tidak pernah dikirim melalui jaringan. Sebaliknya, token akses JWT dihasilkan secara lokal dan dikirim ke server pada setiap permintaan.
Atau, Anda dapat membuat file perang dan menggunakannya ke wadah servlet favorit Anda:
$ cd para-war && mvn package
Anda juga dapat mengintegrasikan para dengan proyek Anda dengan menambahkannya sebagai ketergantungan. Para diselenggarakan di Maven Central. Inilah cuplikan Maven yang akan dimasukkan ke dalam pom.xml Anda:
< dependency >
< groupId >com.erudika</ groupId >
< artifactId >para-server</ artifactId >
< version >{see_green_version_badge_above}</ version >
</ dependency >Untuk membangun aplikasi khusus klien yang ringan yang menghubungkan ke para, sertakan hanya modul klien:
< dependency >
< groupId >com.erudika</ groupId >
< artifactId >para-client</ artifactId >
< version >{see_green_version_badge_above}</ version >
</ dependency >$ npm install -g para-cliGunakan pustaka klien ini untuk mengintegrasikan PARA dengan cepat ke dalam proyek Anda:
Gunakan implementasi DAO ini untuk terhubung ke berbagai database:
AWSDynamoDAO (termasuk dalam para-server )H2DAO adalah DAO default dan itu adalah bagian dari plugin SQL (dikemas dengan file JAR) Antarmuka Search diimplementasikan oleh:
Antarmuka Cache diimplementasikan oleh:
para-server ) Antarmuka Queue diimplementasikan oleh:
AWSQueueLocalQueue untuk penyebaran satu-host dan pengembangan lokal 2.0 - migrasi ke quarkus, java 13+ saja, gambar asliparapara pada stack overflow git checkout -b my-new-feature )git commit -am 'Added a new feature' )git push origin my-new-feature )Silakan coba untuk menghormati gaya kode proyek ini. Untuk memeriksa kode Anda, jalankan melalui pemeriksa gaya:
mvn validateUntuk informasi lebih lanjut lihat Contributing.md
Apache 2.0