PARA ist ein skalierbarer, multizierender Backend -Server/Framework für Objektpersistenz und Abruf. Es hilft Ihnen, Anwendungen schneller aufzubauen und zu prototypen, indem Sie sich um Backend -Operationen kümmern. Es kann Teil Ihrer JVM-basierten Anwendung sein oder als eigenständige, Multitenant-API-Server mit mehreren Anwendungen und Clients bereitgestellt werden, die sich darauf verbinden.
Der Name "Pára" bedeutet auf Bulgarisch "Dampf". Und genau wie Steam verwendet wird, um Sachen mit Strom zu versorgen, können Sie Para verwenden, um Ihr Backend für mobile oder Webanwendungen mit Strom zu versorgen.
Sehen Sie, wie Para mit anderen Open -Source -Backend -Frameworks verglichen wird.
Dieses Projekt wird vollständig finanziert und unterstützt von Erudika - einem unabhängigen, Bootstrap -Unternehmen.
DAO nativ) +------------------------------------------------------+
| ____ ___ _ ____ ___ _ |
| / __ / __` / ___ / __` / |
| / / _ / / / _ / / / / _ / / |
| / .___/ __, _/ _/ __, _/ +------------- +
| / _/ | Persistenz |
+-------------------++-----------------++-------------+
| Restapi | | Suche | --- | Cache |
+----------+----------+-+--------+--------+---+------+------+
| | |
+---------+----------++--------+--------++------+------+
| Signierte Anfragen | | Suchindex | | Datenspeicher |
| und JWT -Token | | (Any any) | | (Any any) |
+----+---------^----++------------------++-------------+
| |
+---- v ----------+---------------------------------------+
| Clients: JavaScript, PHP, Java, C#, Android, IOS, et al. |
+------------------------------------------------------+
Wir bieten Hosting- und Premium -Support bei paraio.com an, wo Sie Para online mit einem kostenlosen Entwicklerkonto probieren können. Durchsuchen und verwalten Sie Ihre Benutzer und Objekte, führen Sie Sicherungen und bearbeiten Sie Berechtigungen mit ein paar Klicks in der Webkonsole. Durch das Upgrade auf ein Premium -Konto können Sie Ihre Projekte in Sekunden lang skalieren und mehrere Apps verwalten.
application.conf -Datei im selben Verzeichnis wie das JAR -Paket.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"
Alternativ können Sie die PARA -Webkonsole verwenden, um Daten zu verwalten oder Para direkt in Ihr Projekt mit einer der folgenden API -Clients zu integrieren.
Tagged Docker -Bilder für Para befinden sich in erudikaltd/para über Docker Hub. Es ist dringend zu empfehlen, dass Sie nur Release -Bilder wie :1.45.1 oder :latest_stable , da das :latest Tag defekt oder instabil sein kann. Erstellen Sie zunächst eine application.conf -Datei und einen data und starten Sie den Para -Container:
$ 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
Umgebungsvariablen
JAVA_OPTS BOOT_SLEEP Java -Systemeigenschaften, z -Dpara.port=8000
Plugins
Um Plugins zu verwenden, erstellen Sie eine neue Dockerfile-plugins , die einen mehrstufigen Build wie SO durchführt:
# 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
Dann führen Sie einfach $ docker build -f Dockerfile-plugins -t para-mongo .
Para kann mit JDK 8+ kompiliert werden:
Um es zu kompilieren, brauchen Sie Maven. Sobald Sie es haben, klonen Sie einfach und bauen Sie:
$ git clone https://github.com/erudika/para.git && cd para
$ mvn install -DskipTests=true Um das ausführbare "Fat-Jar" zu generieren, führen Sie $ mvn package aus und es wird in ./para-jar/target/para-xyz-SNAPSHOT.jar sein. Insgesamt werden zwei Jar -Dateien generiert - das Fett ist etwas größer.
So erstellen Sie das Basispaket ohne Plugins (ausgeschlossen para-dao-sql und para-search-lucene ).
$ cd para-jar && mvn -Pbase package
Um eine lokale Instanz von Para für die Entwicklung durchzuführen, verwenden Sie:
$ mvn -Dconfig.file=./application.conf spring-boot:runSie können Para als eigenständigen Server ausführen, indem Sie das ausführbare Glas herunterladen und dann:
$ java -jar para-X.Y.Z.jarSie können Ihre Objekte über die Para Web Console Console.paraio.org durchsuchen. Ändern Sie einfach den API -Endpunkt in Ihr lokaler Server und verbinden Sie Ihre Zugriffsschlüssel. Die Admin-Schnittstelle ist nur clientseitig und Ihr geheimer Schlüssel wird niemals über das Netzwerk gesendet. Stattdessen wird ein JWT -Zugriffs -Token lokal generiert und bei jeder Anfrage an den Server gesendet.
Alternativ können Sie eine Kriegsdatei erstellen und in Ihrem bevorzugten Servlet -Container bereitstellen:
$ cd para-war && mvn package
Sie können Para auch in Ihr Projekt integrieren, indem Sie es als Abhängigkeit hinzufügen. Para wird auf Maven Central veranstaltet. Hier ist der Maven -Snippet, der in Ihre pom.xml aufgenommen wird:
< dependency >
< groupId >com.erudika</ groupId >
< artifactId >para-server</ artifactId >
< version >{see_green_version_badge_above}</ version >
</ dependency >Zum Erstellen von leichten Kunden-Anwendungen, die an PARA verbunden sind, enthalten nur das Client-Modul:
< dependency >
< groupId >com.erudika</ groupId >
< artifactId >para-client</ artifactId >
< version >{see_green_version_badge_above}</ version >
</ dependency >$ npm install -g para-cliVerwenden Sie diese Client -Bibliotheken, um PARA schnell in Ihr Projekt zu integrieren:
Verwenden Sie diese DAO -Implementierungen, um eine Verbindung zu verschiedenen Datenbanken herzustellen:
AWSDynamoDAO (in para-server enthalten)H2DAO ist der Standard DAO und es ist Teil des SQL-Plugins (mit der JAR-Datei verpackt) Die Search wird implementiert von:
Die Cache -Schnittstelle wird implementiert von:
para-server enthalten) Die Queue wird implementiert von:
AWSQueue -KlasseLocalQueue für Einzel-Wirt-Bereitstellungen und lokale Entwicklung 2.0 - Migration nach Quarkus, nur Java 13+, natives Bildpara -Tagpara -Tag auf dem Stapelüberlauf git checkout -b my-new-feature )git commit -am 'Added a new feature' ))git push origin my-new-feature )Bitte versuchen Sie, den Codestil dieses Projekts zu respektieren. Um Ihren Code zu überprüfen, führen Sie ihn über den Style Checker aus:
mvn validateWeitere Informationen finden Sie unter Beitrags.md
Apache 2.0