This project is a single container using:
Java 17
MAVEN 3.8.4
Spring boot 2.6.4
The structure of the project is divide in package by feature strategy:
- riskcalculator feature
- riskengine feature
I decide to choose it thinking in future split in new microservices. It can be easier to apply strangler pattern when we are using package by feature layers.
To build the project use:
mvn clean install
The test strategy was developing using spring embedded container. Following this strategy, its possible test all integrations between layers.
To execute all tests, just use:
mvn test
You can run this project as a desktop application:
where: {abosolute_path} = the absolute path dir.
obs: You need path the absolute dir to application find input and output repository.
java -jar -Dsanlo.riskRating=/Users/eduardo.silva.br/sanlo/sanlo-risk-calculator/input/risk_rating_data.csv -Dsanlo.ltvCacRatio=/Users/eduardo.silva.br/sanlo/sanlo-risk-calculator/input/ltv_cac_ratio.csv -Dsanlo.paybackIndicator=/Users/eduardo.silva.br/sanlo/sanlo-risk-calculator/input/payback.csv -Dsanlo.metricsFilePath=/Users/eduardo.silva.br/sanlo/sanlo-risk-calculator/input/app-financial-metrics.csv -Dsanlo.companyFilePath=/Users/eduardo.silva.br/sanlo/sanlo-risk-calculator/input/app-companies.csv -Dsanlo.ratingFilePath=/Users/eduardo.silva.br/sanlo/sanlo-risk-calculator/output/rating build/sanlo-risk-calculator.jar
An example using my path to execute it:
java -jar -Dsanlo.riskRating=/Users/eduardo.silva.br/sanlo/sanlo-risk-calculator/input/risk_rating_data.csv -Dsanlo.ltvCacRatio=/Users/eduardo.silva.br/sanlo/sanlo-risk-calculator/input/ltv_cac_ratio.csv -Dsanlo.paybackIndicator=/Users/eduardo.silva.br/sanlo/sanlo-risk-calculator/input/payback.csv -Dsanlo.metricsFilePath=/Users/eduardo.silva.br/sanlo/sanlo-risk-calculator/input/example-app-financial-metrics.csv -Dsanlo.companyFilePath=/Users/eduardo.silva.br/sanlo/sanlo-risk-calculator/input/example-app-companies.csv -Dsanlo.ratingFilePath=/Users/eduardo.silva.br/sanlo/sanlo-risk-calculator/output/rating build/sanlo-risk-calculator.jar