PARA - это масштабируемый многопользовательский бэкэнд -сервер/фреймворк для постоянства и поиска объектов. Это помогает вам быстрее создавать и прототипные приложения, заботясь о бэкэнд -операциях. Он может быть частью вашего приложения на основе JVM или может быть развернута как автономный, многопользованный сервер API с несколькими приложениями и клиентами, подключающимися к нему.
Название «Pára» означает «пар» в болгарском. И так же, как Steam используется для питания вещей, вы можете использовать Para для питания вашего мобильного или веб -бэкэнда.
Посмотрите, как Пара сравнивается с другими бэкэнд -структурами с открытым исходным кодом.
Этот проект полностью финансируется и поддерживается Erudika - независимой, загруженной компанией.
DAO назначен) +----------------------------------------------------------+
| ____ ___ _ ____ ___ _ |
| / __ / __` / ___ / __` / |
| / / _ / / / _ / / / / / _ / / |
| / .___/ __, _/ _/ __, _/ +------------- +
| / _/ | Настойчивость |
+-------------------++-----------------++-------------+
| REST API | | Поиск | --- | Кэш |
+---------+---------+-+--------+--------+---+------+------+
| | |
+---------+---------++--------+--------++------+------+
| Подписанные запросы | | Индекс поиска | | Хранилище данных |
| и токены JWT | | (Любой) | | (Любой) |
+----+---------^----+++-----------------++-------------+
| |
+---- V ---------+-------------------------------------------+
| Клиенты: Javascript, PHP, Java, C#, Android, iOS, et al. |
+----------------------------------------------------------+
Мы предлагаем хостинг и премиальную поддержку на Paraio.com, где вы можете попробовать Para Online с бесплатной учетной записью разработчика. Просмотрите и управляйте своими пользователями и объектами, выполняйте резервные копии и редактируйте разрешения с несколькими кликами в веб -консоли. Обновляясь до премиальной учетной записи, вы сможете масштабировать свои проекты вверх и вниз в секундах и управлять несколькими приложениями.
application.conf .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"
В качестве альтернативы, вы можете использовать веб -консоль PAR для управления данными или интегрировать PARA непосредственно в ваш проект с одним из клиентов API ниже.
Изображения Docker Tagged для Para расположены в erudikaltd/para на Docker Hub. Настоятельно рекомендуется выпустить только изображения, такие как :1.45.1 или :latest_stable , потому что :latest тег может быть сломан или нестабилен. Во -первых, создайте файл application.conf и папку data и запустите контейнер 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
Переменные среды
JAVA_OPTS - свойства системы Java, например, -Dpara.port=8000 BOOT_SLEEP - задержка запуска, в секундах
Плагины
Чтобы использовать плагины, создайте новый Dockerfile-plugins , который выполняет многоэтапную сборку, как 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
Затем просто запустите $ docker build -f Dockerfile-plugins -t para-mongo .
Пара может быть составлен с JDK 8+:
Чтобы скомпилировать его, вам понадобится Maven. Как только у вас есть, просто клонируйте и построите:
$ git clone https://github.com/erudika/para.git && cd para
$ mvn install -DskipTests=true Чтобы сгенерировать исполняемый «Fatjar», запустите $ mvn package , и он будет в ./para-jar/target/para-xyz-SNAPSHOT.jar . Всего будет сгенерировано два файла JAR - Fat One немного больше по размеру.
Чтобы создать базовый пакет без плагинов (исключает para-dao-sql para-search-lucene
$ cd para-jar && mvn -Pbase package
Чтобы запустить локальный экземпляр PARA для разработки, используйте:
$ mvn -Dconfig.file=./application.conf spring-boot:runВы можете запустить Para в качестве автономного сервера, загрузив исполняемый JAR, а затем:
$ java -jar para-X.Y.Z.jarВы можете просмотреть свои объекты через консоли веб -консоли Para.paraio.org . Просто измените конечную точку API, чтобы стать вашим локальным сервером и подключите ключи доступа. Интерфейс администратора является только на стороне клиента, а ваш секретный ключ никогда не отправляется через сеть. Вместо этого токен доступа JWT генерируется локально и отправляется на сервер по каждому запросу.
В качестве альтернативы, вы можете построить военный файл и развернуть его в своем любимом контейнере сервлета:
$ cd para-war && mvn package
Вы также можете интегрировать Para с вашим проектом, добавив его в качестве зависимости. Пара размещено на Maven Central. Вот фрагмент Maven, чтобы включить в свой pom.xml :
< dependency >
< groupId >com.erudika</ groupId >
< artifactId >para-server</ artifactId >
< version >{see_green_version_badge_above}</ version >
</ dependency >Для строительства легких приложений только для клиента, подключенных к PARA, включите только клиентский модуль:
< dependency >
< groupId >com.erudika</ groupId >
< artifactId >para-client</ artifactId >
< version >{see_green_version_badge_above}</ version >
</ dependency >$ npm install -g para-cliИспользуйте эти клиентские библиотеки, чтобы быстро интегрировать Para в ваш проект:
Используйте эти реализации DAO для подключения к различным базам данных:
AWSDynamoDAO (включен в para-server )H2DAO -это DAO по умолчанию и его часть плагина SQL (упакованный с файлом JAR) Интерфейс Search реализован:
Интерфейс Cache реализован:
para-server ) Интерфейс Queue реализован:
AWSQueueLocalQueue для развертывания и местного развития 2.0 - Миграция в Quarkus, Java 13+, нативное изображениеpara Tagpara Tag на переполнении стека git checkout -b my-new-feature )git commit -am 'Added a new feature' )git push origin my-new-feature )Пожалуйста, постарайтесь уважать стиль кода этого проекта. Чтобы проверить свой код, запустите его через проверку стиля:
mvn validateДля получения дополнительной информации см. Appling.md
Apache 2.0