From e672a144b6ec515fce73d184ae3d0e3d1faeb780 Mon Sep 17 00:00:00 2001 From: Rachid Snoussi Date: Wed, 20 May 2020 17:43:21 +0200 Subject: [PATCH] adding parent project and dmn decision service --- README.md | 5 + pom.xml | 56 ++ qlb-loan-preapproval-dmn/README.md | 135 +++ .../docs/loan-preapproval_dmn.png | Bin 0 -> 18579 bytes qlb-loan-preapproval-dmn/pom.xml | 119 +++ .../src/main/resources/application.properties | 30 + .../com/redhat/demo/qlb/loan-preapproval.dmn | 796 ++++++++++++++++++ .../KogitoScenarioJunitActivatorTest.java | 11 + .../demo/qlb/loan-preapproval-test.scesim | 563 +++++++++++++ qlb-ui/README.md | 10 +- qlb-ui/docs/qlb-ui-home.png | Bin 0 -> 67072 bytes qlb-ui/docs/qlb-ui-preapproval.png | Bin 0 -> 83009 bytes qlb-ui/pom.xml | 66 +- 13 files changed, 1744 insertions(+), 47 deletions(-) create mode 100644 README.md create mode 100644 pom.xml create mode 100644 qlb-loan-preapproval-dmn/README.md create mode 100644 qlb-loan-preapproval-dmn/docs/loan-preapproval_dmn.png create mode 100644 qlb-loan-preapproval-dmn/pom.xml create mode 100644 qlb-loan-preapproval-dmn/src/main/resources/application.properties create mode 100644 qlb-loan-preapproval-dmn/src/main/resources/com/redhat/demo/qlb/loan-preapproval.dmn create mode 100644 qlb-loan-preapproval-dmn/src/test/java/testscenario/KogitoScenarioJunitActivatorTest.java create mode 100644 qlb-loan-preapproval-dmn/src/test/resources/com/redhat/demo/qlb/loan-preapproval-test.scesim create mode 100644 qlb-ui/docs/qlb-ui-home.png create mode 100644 qlb-ui/docs/qlb-ui-preapproval.png diff --git a/README.md b/README.md new file mode 100644 index 0000000..8aca092 --- /dev/null +++ b/README.md @@ -0,0 +1,5 @@ +# Quick Loan Bank Apps - demo + +## Description + +This demo showcases [Kogito](https://kogito.kie.org/) and [Quarkus](https://quarkus.io/) feautres for Cloud Native Business Automation Applications. diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..2b5e725 --- /dev/null +++ b/pom.xml @@ -0,0 +1,56 @@ + + + + 4.0.0 + + com.redhat.demo.qlb + qlb-apps + 1.0 + pom + + Quick Loan Bank Apps + Quick Loan Bank demo showcasing Kogito and Quarkus feautres for Cloud Native Business Automation Applications + + + ../packages/qlb-react-app + 1.4.1.Final + 0.10.1 + v11.6.0 + 6.10.3 + v1.19.1 + 1.9.1 + 2.22.1 + 3.8.1 + 3.1.0 + UTF-8 + 11 + + + + + + + org.kie.kogito + kogito-bom + ${kogito.version} + pom + import + + + + io.quarkus + quarkus-bom + ${quarkus.version} + pom + import + + + + + + + qlb-loan-preapproval-dmn + qlb-ui + + + \ No newline at end of file diff --git a/qlb-loan-preapproval-dmn/README.md b/qlb-loan-preapproval-dmn/README.md new file mode 100644 index 0000000..8984968 --- /dev/null +++ b/qlb-loan-preapproval-dmn/README.md @@ -0,0 +1,135 @@ +# Quick Loan Bank - Loan Pre-Approval DMN on Kogito Decision Service + +DMN implementation of qlb loan application demo. +Demonstrates DMN on Kogito capabilities, including REST interface code generation. + +## Decision Service definition + +![DMN model](docs/loan-preapproval_dmn.png) + +## Installing and Running + +### Prerequisites + +You will need: + +- Java 11+ installed +- Environment variable JAVA_HOME set accordingly +- Maven 3.6.2+ installed + +When using native image compilation, you will also need: + +- [GraalVM 19.3.1](https://github.com/oracle/graal/releases/tag/vm-19.3.1) installed +- Environment variable GRAALVM_HOME set accordingly +- Note that GraalVM native image compilation typically requires other packages (glibc-devel, zlib-devel and gcc) to be installed too. You also need 'native-image' installed in GraalVM (using 'gu install native-image'). Please refer to [GraalVM installation documentation](https://www.graalvm.org/docs/reference-manual/aot-compilation/#prerequisites) for more details. + +### Compile and Run in Local Dev Mode + +``` +mvn clean compile quarkus:dev +``` + +### Package and Run in JVM mode + +``` +mvn clean package +java -jar target/kjt-qlb-loan-preapproval-dmn-1.0-runner.jar +``` + +or on Windows + +``` +mvn clean package +java -jar target\kjt-qlb-loan-preapproval-dmn-1.0-runner.jar +``` + +### Package and Run using Local Native Image + +Note that this requires GRAALVM_HOME to point to a valid GraalVM installation + +``` +mvn clean package -Pnative +``` + +To run the generated native executable, generated in `target/`, execute + +``` +./target/kjt-qlb-loan-preapproval-dmn-1.0-runner +``` + +Note: This does not yet work on Windows, GraalVM and Quarkus should be rolling out support for Windows soon. + +## OpenAPI (Swagger) documentation + +The exposed service [OpenAPI specification](https://swagger.io/docs/specification) is generated at +[/docs/openapi.json](http://localhost:8081/docs/openapi.json). + +You can visualize and interact with the generated specification using the embbeded [Swagger UI](http://localhost:8081/swagger-ui) or importing the generated specification file on [Swagger Editor](https://editor.swagger.io). + +In addition client application can be easily generated from the swagger definition to interact with this service. + +## Demo Usage + +Once the service is up and running, you can use the following example to interact with the service. + +### POST /loan-preapproval + +Returns check QLB loan pre-approval + +Given inputs: + +```json +{ + "Applicant": { + "Monthly Income": 4000, + "Credit Score": 300, + "Name": "Lucien Bramard", + "Age": 16 + }, + "Loan": { + "Amount": 300000, + "Duration": 20 + } +} +``` + +Curl command (using the JSON object above): + +```sh +curl -X POST "http://localhost:8081/loan-preapproval" -H "accept: application/json" -H "Content-Type: application/json" -d "{\"Applicant\":{\"Monthly Income\":4000,\"Credit Score\":300,\"Name\":\"Lucien Bramard\",\"Age\":16},\"Loan\":{\"Amount\":300000,\"Duration\":20}}" +``` + +or on Windows: + +```sh +curl -X POST "http://localhost:8081/loan-preapproval" -H "accept: application/json" -H "Content-Type: application/json" -d "{\"Applicant\":{\"Monthly Income\":4000,\"Credit Score\":300,\"Name\":\"Lucien Bramard\",\"Age\":16},\"Loan\":{\"Amount\":300000,\"Duration\":20}}" +``` + +As response, pre-approval result is returned. + +Example response: + +```json +{ + "Pre Approval": { + "Rejection Reasons": [ + "Non eligible age", + "High debt ratio (31.68%)", + "Insufficient credit score (min required is 500)" + ], + "Result": false + }, + "Interest Rate": 1.39, + "Loan": { + "Amount": 300000, + "Duration": 20 + }, + "Debt Ratio": "function Debt Ratio( loanAmount, loanDuration, interestRate, monthlyIncome )", + "Applicant": { + "Monthly Income": 4000, + "Age": 16, + "Credit Score": 300, + "Name": "Lucien Bramard" + } +} +``` diff --git a/qlb-loan-preapproval-dmn/docs/loan-preapproval_dmn.png b/qlb-loan-preapproval-dmn/docs/loan-preapproval_dmn.png new file mode 100644 index 0000000000000000000000000000000000000000..f6b132e8beed3748a5bf128b0cf7a70667256b95 GIT binary patch literal 18579 zcmeIaWmFx{wmk}jU?IU>g9dj9u#p5OXz<`3g1ZIx5G=R{CqRJU?ydoXySqa+&a3@9 z=iYn9c>g!X`}DrNn-NBDc6V2IS68hy=UlT0Q&Nz6jz)|I2M70DMq2zm931>T_z6Wp z0N-@IDg6mH@Q&}L-ollRknVzCtV}g!%;e?a7{O;0I7E12xTml~z>hFI$$x*AgntG1 zIaq`?pDoPTW*z9anC5%BllpZxddP}reb{jpYHgK8(O

A& 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 literal 0 HcmV?d00001 diff --git a/qlb-loan-preapproval-dmn/pom.xml b/qlb-loan-preapproval-dmn/pom.xml new file mode 100644 index 0000000..79da67d --- /dev/null +++ b/qlb-loan-preapproval-dmn/pom.xml @@ -0,0 +1,119 @@ + + + + 4.0.0 + + + com.redhat.demo.qlb + qlb-apps + 1.0 + + + qlb-loan-preapproval-dmn + + Quick Loan Bank :: preapproval DMN Decision Service + DMN implementation of qlb loan pre-approval demo. + + + + + org.kie.kogito + kogito-quarkus + + + io.quarkus + quarkus-resteasy + + + io.quarkus + quarkus-resteasy-jackson + + + io.quarkus + quarkus-smallrye-openapi + + + io.quarkus + quarkus-arc + + + + org.kie.kogito + kogito-scenario-simulation + + + io.quarkus + quarkus-junit5 + test + + + io.rest-assured + rest-assured + test + + + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + ${compiler.plugin.version} + + ${maven.compiler.release} + + + + + org.apache.maven.plugins + maven-surefire-plugin + ${surefire.plugin.version} + + + + io.quarkus + quarkus-maven-plugin + ${quarkus.version} + + + + build + + + + + + + + + + + + native + + + + io.quarkus + quarkus-maven-plugin + + + + native-image + + + + + + org.apache.maven.plugins + maven-failsafe-plugin + ${surefire.plugin.version} + + + + + + + + \ No newline at end of file diff --git a/qlb-loan-preapproval-dmn/src/main/resources/application.properties b/qlb-loan-preapproval-dmn/src/main/resources/application.properties new file mode 100644 index 0000000..2b3f427 --- /dev/null +++ b/qlb-loan-preapproval-dmn/src/main/resources/application.properties @@ -0,0 +1,30 @@ +# +# Copyright 2020 Red Hat, Inc. and/or its affiliates. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +#https://quarkus.io/guides/openapi-swaggerui +# Configure the http port +quarkus.http.port=8081 + +quarkus.http.cors=true + +# Configure the log level +quarkus.log.level=INFO +quarkus.log.console.level=INFO + +quarkus.smallrye-openapi.path=/docs/openapi.json +quarkus.swagger-ui.always-include=true + +kogito.service.url=http://localhost:8081 \ No newline at end of file diff --git a/qlb-loan-preapproval-dmn/src/main/resources/com/redhat/demo/qlb/loan-preapproval.dmn b/qlb-loan-preapproval-dmn/src/main/resources/com/redhat/demo/qlb/loan-preapproval.dmn new file mode 100644 index 0000000..5a93955 --- /dev/null +++ b/qlb-loan-preapproval-dmn/src/main/resources/com/redhat/demo/qlb/loan-preapproval.dmn @@ -0,0 +1,796 @@ + + + + + string + + + number + + [250..900] + + + + number + + + number + + + + + number + + + number + + 7, 10, 12, 15, 20, 25 + + + + + + boolean + + + string + + + + + + + + + + + + + + + + Loan.Amount + + + + + Loan.Duration + + + + + + + < 300000 + + + 7 + + + 0.47 + + + + + + + + [300000..600000] + + + 7 + + + 0.70 + + + + + + + + > 600000 + + + 7 + + + 0.98 + + + + + + + + < 300000 + + + 10 + + + 0.72 + + + + + + + + [300000..600000] + + + 10 + + + 0.90 + + + + + + + + > 600000 + + + 10 + + + 1.10 + + + + + + + + < 300000 + + + 12 + + + 0.87 + + + + + + + + [300000..600000] + + + 12 + + + 1.06 + + + + + + + + > 600000 + + + 12 + + + 1.31 + + + + + + + + < 300000 + + + 15 + + + 1.06 + + + + + + + + [300000..600000] + + + 15 + + + 1.20 + + + + + + + + > 600000 + + + 15 + + + 1.45 + + + + + + + + < 300000 + + + 20 + + + 1.25 + + + + + + + + [300000..600000] + + + 20 + + + 1.39 + + + + + + + + > 600000 + + + 20 + + + 1.65 + + + + + + + + < 300000 + + + 25 + + + 1.45 + + + + + + + + [300000..600000] + + + 25 + + + 1.65 + + + + + + + + > 600000 + + + 25 + + + 1.85 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Applicant.Age + + + + + true + + + + + "" + + + + + + not( [18 .. 70] ) + + + false + + + "Non eligible age" + + + + + + + + + + + + Debt Ratio + + + + + Loan.Amount + + + + + + Loan.Duration + + + + + + Interest Rate + + + + + + Applicant.Monthly Income + + + + + + + + + + Debt Ratio + + + + + true + + + + + "" + + + + + + > 30 + + + false + + + "High debt ratio (" + string(decimal(Debt Ratio,2)) + "%)" + + + + + + + + + + + + + Loan.Amount + + + + + true + + + + + "" + + + + + + < 1000 + + + false + + + "Loan amount too low (min is 1000)" + + + + + + + + > 1000000 + + + false + + + "Loan amount too high (max is 1000000)" + + + + + + + + + + + + + Loan.Amount + + + + + Applicant.Credit Score + + + + + true + + + + + "" + + + + + + - + + + < 300 + + + false + + + "Insufficient credit score (min required is 300)" + + + + + + + + [100000..300000) + + + < 400 + + + false + + + "Insufficient credit score (min required is 400)" + + + + + + + + [300000..400000) + + + < 500 + + + false + + + "Insufficient credit score (min required is 500)" + + + + + + + + [400000..500000) + + + < 600 + + + false + + + "Insufficient credit score (min required is 600)" + + + + + + + + [500000..1000000] + + + < 700 + + + false + + + "Insufficient credit score (min required is 700)" + + + + + + + + + + + all (Applicant Eligibility Check.Result , Debt Ratio Check.Result , Loan Amount Check.Result , Credit Score Check.Result ) + + + + + + union(Applicant Eligibility Check.Rejection Reasons, Debt Ratio Check.Rejection Reasons, Loan Amount Check.Rejection Reasons,Credit Score Check.Rejection Reasons) + + + + + {"Result" : Result , "Rejection Reasons" : Rejection Reasons[item != ""] } + + + + + + + + + + + + + + + + + ( ( interestRate * loanAmount / 100 ) + loanAmount ) / ( loanDuration * 12 ) + + + + + ( Monthly Repayment / monthlyIncome ) * 100 + + + + + + + + + + + + + + + 50 + 154 + 178 + 100 + 100 + + + 50 + 227 + 1104 + + + 50 + 182 + 100 + 228 + 524 + + + 50 + 159 + 875 + + + + 875 + + + 875 + + + 875 + + + 875 + + + 50 + 100 + 100 + 639 + 195 + + + 50 + 159 + 100 + 331 + 444 + + + 50 + 146 + 155 + 100 + 401 + 232 + + + 1104 + + + 1104 + + + 1104 + + + 50 + 180 + 707 + + + 707 + + + 707 + + + 50 + 957 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/qlb-loan-preapproval-dmn/src/test/java/testscenario/KogitoScenarioJunitActivatorTest.java b/qlb-loan-preapproval-dmn/src/test/java/testscenario/KogitoScenarioJunitActivatorTest.java new file mode 100644 index 0000000..5061ebe --- /dev/null +++ b/qlb-loan-preapproval-dmn/src/test/java/testscenario/KogitoScenarioJunitActivatorTest.java @@ -0,0 +1,11 @@ +package testscenario; + +/** + * KogitoJunitActivator is a custom JUnit runner that enables the execution of + * Test Scenario files (*.scesim). This activator class, when executed, will + * load all scesim files available in the project and run them. Each row of the + * scenario will generate a test JUnit result. + */ +@org.junit.runner.RunWith(org.kogito.scenariosimulation.runner.KogitoJunitActivator.class) +public class KogitoScenarioJunitActivatorTest { +} \ No newline at end of file diff --git a/qlb-loan-preapproval-dmn/src/test/resources/com/redhat/demo/qlb/loan-preapproval-test.scesim b/qlb-loan-preapproval-dmn/src/test/resources/com/redhat/demo/qlb/loan-preapproval-test.scesim new file mode 100644 index 0000000..83fbcfc --- /dev/null +++ b/qlb-loan-preapproval-dmn/src/test/resources/com/redhat/demo/qlb/loan-preapproval-test.scesim @@ -0,0 +1,563 @@ + + + + + + + + Index + OTHER + + + # + java.lang.Integer + + java.lang.Integer + # + 70 + NOT_EXPRESSION + + + + + Description + OTHER + + + Scenario description + java.lang.String + + java.lang.String + Scenario description + 300 + NOT_EXPRESSION + + + + + Applicant + + + Credit Score + + + + 1|2 + GIVEN + + + Applicant + Applicant + + number + Applicant + Credit Score + + 114 + NOT_EXPRESSION + + + + + Applicant + + + Age + + + + 1|3 + GIVEN + + + Applicant + Applicant + + number + Applicant + Age + + 114 + NOT_EXPRESSION + + + + + Applicant + + + Monthly Income + + + + 1|4 + GIVEN + + + Applicant + Applicant + + number + Applicant + Monthly Income + + 114 + NOT_EXPRESSION + + + + + Loan + + + Amount + + + + 1|5 + GIVEN + + + Loan + Loan + + number + Loan + Amount + + 114 + NOT_EXPRESSION + + + + + Loan + + + Duration + + + + 1|6 + GIVEN + + + Loan + Loan + + number + Loan + Duration + + 114 + NOT_EXPRESSION + + + + + Interest Rate + + + + 1|7 + EXPECT + + + Interest Rate + Interest Rate + + number + Interest Rate + value + + 114 + NOT_EXPRESSION + + + + + Pre Approval + + + Result + + + + 1|8 + EXPECT + + + Pre Approval + Pre Approval + + boolean + Pre Approval + Result + + 114 + NOT_EXPRESSION + + + + + + + + + Scenario description + java.lang.String + + + Description + OTHER + + Too large loan amount + + + + Applicant + Applicant + + + 1|2 + GIVEN + + 700 + + + + Applicant + Applicant + + + 1|3 + GIVEN + + 18 + + + + Applicant + Applicant + + + 1|4 + GIVEN + + 3000 + + + + Loan + Loan + + + 1|5 + GIVEN + + 2000000 + + + + Loan + Loan + + + 1|6 + GIVEN + + 7 + + + + Interest Rate + Interest Rate + + + 1|7 + EXPECT + + 0.98 + + + + Pre Approval + Pre Approval + + + 1|8 + EXPECT + + false + + + + # + java.lang.Integer + + + Index + OTHER + + 1 + + + + + + + + Scenario description + java.lang.String + + + Description + OTHER + + Underaged applicant + + + + Applicant + Applicant + + + 1|2 + GIVEN + + 700 + + + + Applicant + Applicant + + + 1|3 + GIVEN + + 17 + + + + Applicant + Applicant + + + 1|4 + GIVEN + + 3000 + + + + Loan + Loan + + + 1|5 + GIVEN + + 100000 + + + + Loan + Loan + + + 1|6 + GIVEN + + 7 + + + + Interest Rate + Interest Rate + + + 1|7 + EXPECT + + 0.47 + + + + Pre Approval + Pre Approval + + + 1|8 + EXPECT + + false + + + + # + java.lang.Integer + + + Index + OTHER + + 2 + + + + + + + + Scenario description + java.lang.String + + + Description + OTHER + + Too low loan amount + + + + Applicant + Applicant + + + 1|2 + GIVEN + + 700 + + + + Applicant + Applicant + + + 1|3 + GIVEN + + 18 + + + + Applicant + Applicant + + + 1|4 + GIVEN + + 3000 + + + + Loan + Loan + + + 1|5 + GIVEN + + 500 + + + + Loan + Loan + + + 1|6 + GIVEN + + 7 + + + + Interest Rate + Interest Rate + + + 1|7 + EXPECT + + 0.47 + + + + Pre Approval + Pre Approval + + + 1|8 + EXPECT + + false + + + + # + java.lang.Integer + + + Index + OTHER + + 3 + + + + + + + + + + + + 1|1 + GIVEN + + + Empty + java.lang.Void + + java.lang.Void + INSTANCE 1 + PROPERTY 1 + 114 + NOT_EXPRESSION + + + + + + + + + Empty + java.lang.Void + + + 1|1 + GIVEN + + + + + + + + src/main/resources/com/redhat/demo/qlb/loan-preapproval.dmn + DMN + http://www.qlb.com/dmn/_96E3B174-69BB-4689-A66B-3A8DAA10D45D + loan-preapproval + false + false + + + + + \ No newline at end of file diff --git a/qlb-ui/README.md b/qlb-ui/README.md index c4e8c0e..4c1e842 100644 --- a/qlb-ui/README.md +++ b/qlb-ui/README.md @@ -1,8 +1,8 @@ # QLB UI -This project use Vert.x and Quarkus, to render a React Application +This project use [Vert.x](https://quarkus.io/guides/vertx) and [Quarkus](https://quarkus.io/) , to render a React Application -If you want to learn more about Quarkus, please visit its website: https://quarkus.io/ . +![DMN model](docs/loan-preapproval_dmn.png) ## Running the application in dev mode @@ -31,6 +31,12 @@ The application is now runnable using: java -jar target/qlb-ui-1.0-runner.jar ``` +Open [http://localhost:8082](http://localhost:8082) to view it in the browser. + +![QLB home](docs/qlb-ui-home.png) + +![QLB pre-approval](docs/qlb-ui-preapproval.png) + ## Creating a native executable You can create a native executable using: diff --git a/qlb-ui/docs/qlb-ui-home.png b/qlb-ui/docs/qlb-ui-home.png new file mode 100644 index 0000000000000000000000000000000000000000..6f1802839f2b0e3071c699afa10afd8bb53d8195 GIT binary patch literal 67072 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 literal 0 HcmV?d00001 diff --git a/qlb-ui/docs/qlb-ui-preapproval.png b/qlb-ui/docs/qlb-ui-preapproval.png new file mode 100644 index 0000000000000000000000000000000000000000..06ae16960ea277b2238240793a1617972a56d10d GIT binary patch literal 83009 zcmb5WbzD{37B);tH%P~(Lqd@55;h^y-JR0i-O?eQ(%ni(cSuQhOLy}v&%Nj9x!?Q# z@$y@nwOD(`m}Ax$&v+(ba}U?2$~Ui?Y|d;}l~|9KXNq=kU~>pf6Th&cqzf78eU z_g_C?;PWfbf9_D(P=BX@(a(nd=eg)tQtUhD8{mdu3s!f4fI!0f^?`&)O~-?PfI>D` zQgc*$C&OcCW6h**WMg2=;|?2SR}Ol(ZA$psKWAP}FukqM82nD~FQ1Ap<8n>jk#@-Q>IxVSL6 zykWAjH)Uqw=H_O8&C1Nm$_S)jba4CNsPD@7!GYpGh5TKPn6ZPQy}7NUxy=XAuX6Pb zY@8hV$;p3J^v}}H}tFe`un7Os_2M0hj0Tvck7QVmg`Tu?OThc$Ws{fgloAuAEe|+^v)?c#l zC>T4~SULUDh4Ke;M*$$)|LOIAbMZ0%($^pQ`%mZm^%m$I0YpCLe|lN~@vD~TBm{&I zgru0Tk}Kpv#tS`c)$6NTy8xl8RmwmZ7Z+xo{3dMIQ-inRIN_Gn>lFn}xQN(=O}rh9 zX1+0j=w4ZKX)=YDb5?=x&W8JZJa$H#uhK^DM{0K#-;}^b>#CiAATj^vih&o?h=WFm zf%x|�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 literal 0 HcmV?d00001 diff --git a/qlb-ui/pom.xml b/qlb-ui/pom.xml index 96702b7..fd3bceb 100644 --- a/qlb-ui/pom.xml +++ b/qlb-ui/pom.xml @@ -1,57 +1,21 @@ - 4.0.0 - Quick Loan Bank :: User interface + + com.redhat.demo.qlb + qlb-apps + 1.0 + - com.redhat.demo.qlb qlb-ui - 1.0 + Quick Loan Bank :: User interface User interface for the qlb demo. - - ../packages/qlb-react-app - 1.4.1.Final - 0.10.1 - v11.6.0 - 6.10.3 - v1.19.1 - 1.9.1 - 2.22.1 - 3.8.1 - 3.1.0 - UTF-8 - 11 - - - - - - - org.kie.kogito - kogito-bom - ${kogito.version} - pom - import - - - io.quarkus - quarkus-bom - ${quarkus.version} - pom - import - - - - + io.quarkus quarkus-vertx-web @@ -73,9 +37,10 @@ - + + org.apache.maven.plugins maven-compiler-plugin @@ -84,6 +49,7 @@ ${maven.compiler.release} + io.quarkus quarkus-maven-plugin @@ -99,6 +65,7 @@ + org.apache.maven.plugins maven-surefire-plugin @@ -109,15 +76,17 @@ + com.github.eirslett frontend-maven-plugin - ${version.frontend.plugin} + ${frontend.plugin.version} ${path.to.frontend.app} + org.apache.maven.plugins @@ -142,9 +111,12 @@ + + + native @@ -176,6 +148,7 @@ native +