O PARA é um servidor/estrutura de back -end escalável e multitenant para persistência e recuperação do objeto. Ajuda você a criar e protótipo de aplicativos mais rapidamente, cuidando das operações de back -end. Pode fazer parte do seu aplicativo baseado em JVM ou pode ser implantado como servidor API independente e múltiplo com vários aplicativos e clientes que se conectam a ele.
O nome "Pára" significa "vapor" em búlgaro. E, assim como o Steam é usado para alimentar coisas, você pode usar o Pará para alimentar o back -end do seu aplicativo móvel ou da Web.
Veja como o Pará se compara a outras estruturas de back -end de código aberto.
Este projeto é totalmente financiado e apoiado pela Erudika - uma empresa independente e inicializada.
DAO nativamente) +----------------------------------------------------------+
| ____ ___ _ ____ ___ _ |
| / __ / __` / ___ / __` / |
| / / _ / / / _ / / / / _ / / / |
| / .___/ __, _/ _/ __, _/ +------------- +
| / _/ | Persistência |
+---------------------++-----------------+---------------+
| Rest Api | | Pesquisa | --- | Cache |
+---------+---------+-+--------+--------+---+------+------+
| | |
+---------+---------++--------+--------++------+------+
| Solicitações assinadas | | Índice de pesquisa | | Armazenamento de dados |
| e Tokens JWT | | (Qualquer) | | (Qualquer) |
+----+---------^----++-----------------+---------------+
| |
+---- V ---------+-----------------------------------------+
| Clientes: JavaScript, PHP, Java, C#, Android, iOS, et al. |
+----------------------------------------------------------+
Oferecemos suporte de hospedagem e premium em paraio.com, onde você pode experimentar o Para Online com uma conta de desenvolvedor gratuita. Navegue e gerencie seus usuários e objetos, faça backups e edite permissões com alguns cliques no console da web. Ao atualizar para uma conta premium, você poderá ampliar projetos para cima e para baixo em segundos e gerenciar vários aplicativos.
application.conf de arquivo de configuração no mesmo diretório que o pacote 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"
Como alternativa, você pode usar o console da Web para gerenciar dados ou integrar o ParA diretamente no seu projeto com um dos clientes da API abaixo.
As imagens do Docker Tagged para o Pará estão localizadas no erudikaltd/para no Hub do Docker. É altamente recomendável que você puxe apenas imagens de liberação como :1.45.1 ou :latest_stable porque a tag :latest pode ser quebrada ou instável. Primeiro, crie um arquivo application.conf e uma pasta data e inicie o contêiner 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
Variáveis de ambiente
JAVA_OPTS BOOT_SLEEP -Dpara.port=8000
Plugins
Para usar plugins, crie um novo Dockerfile-plugins , que faz uma compilação com vários estágios:
# 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
Em seguida, basta executar $ docker build -f Dockerfile-plugins -t para-mongo .
Para pode ser compilado com o JDK 8+:
Para compilá -lo, você precisará do Maven. Depois de tê -lo, basta clonar e construir:
$ git clone https://github.com/erudika/para.git && cd para
$ mvn install -DskipTests=true Para gerar o $ mvn package "Fat-jar" executável e ele estará em ./para-jar/target/para-xyz-SNAPSHOT.jar . Dois arquivos JAR serão gerados no total - o gordo é um pouco maior em tamanho.
Para construir o pacote básico sem plugins (exclui para-dao-sql e para-search-lucene ), execute:
$ cd para-jar && mvn -Pbase package
Para executar uma instância local do parágrafo para o desenvolvimento, use:
$ mvn -Dconfig.file=./application.conf spring-boot:runVocê pode executar o Para como um servidor independente, baixando o frasco executável e depois:
$ java -jar para-X.Y.Z.jarVocê pode navegar por seus objetos através do console do console da web.paraio.org . Basta alterar o terminal da API para ser o servidor local e conectar suas teclas de acesso. A interface do administrador é apenas do lado do cliente e sua chave secreta nunca é enviada pela rede. Em vez disso, um token de acesso JWT é gerado localmente e enviado ao servidor em cada solicitação.
Como alternativa, você pode construir um arquivo de guerra e implantá -lo no seu contêiner de servlet favorito:
$ cd para-war && mvn package
Você também pode integrar o Pará ao seu projeto, adicionando -o como uma dependência. Para está hospedado no Maven Central. Aqui está o snippet maven a ser incluído no seu pom.xml :
< dependency >
< groupId >com.erudika</ groupId >
< artifactId >para-server</ artifactId >
< version >{see_green_version_badge_above}</ version >
</ dependency >Para a construção de aplicativos leves apenas para clientes conectados ao parágrafo, inclua apenas o módulo do cliente:
< dependency >
< groupId >com.erudika</ groupId >
< artifactId >para-client</ artifactId >
< version >{see_green_version_badge_above}</ version >
</ dependency >$ npm install -g para-cliUse estas bibliotecas de clientes para integrar rapidamente o Pará ao seu projeto:
Use essas implementações DAO para conectar -se a diferentes bancos de dados:
AWSDynamoDAO (incluído no para-server )H2DAO é o DAO padrão e faz parte do plug-in SQL (embalado com o arquivo JAR) A interface Search é implementada por:
A interface Cache é implementada por:
para-server ) A interface Queue é implementada por:
AWSQueueLocalQueue para implantações de host único e desenvolvimento local 2.0 - Migração para Quarkus, Java 13+, imagem nativaparapara pará git checkout -b my-new-feature )git commit -am 'Added a new feature' )git push origin my-new-feature )Tente respeitar o estilo de código deste projeto. Para verificar seu código, execute -o através do verificador de estilo:
mvn validatePara mais informações, consulte contribuindo.md
Apache 2.0