This template can be used to start your own Jexxa application
- Java 21+ installed
- IDE with maven support
- [Optional] Docker or Kubernetes if you want to run your application in a container. See here for more information.
- [Optional] A locally running developer stack providing a Postgres database, ActiveMQ broker, and Swagger-UI
-
Checkout the new project in your favorite IDE
-
Without running developer stack:
mvn clean install -P '!integrationTests' java -jar "-Dio.jexxa.config.import=src/test/resources/jexxa-local.properties" target/myjexxaproject-jar-with-dependencies.jar
-
[Optional] With running developer stack:
mvn clean install java -jar "-Dio.jexxa.config.import=src/test/resources/jexxa-test.properties" target/myjexxaproject-jar-with-dependencies.jar
-
Now you can use
curl
to access your application, or open http://localhost:7503/BoundedContext/isRunning in your browser:curl -X GET http://localhost:7503/BoundedContext/isRunning
Response should look as follows
true
-
[Optional] See here how to use the application with Swagger-UI
To continuously build and deploy your application, we recommend using GitHub as described here.
To organize our code we recommend the following package structure that is based on the concepts of Domain Driven Design:
(com.github.jexxaproject)
applicationservice
domain
| <use case 1>
| ...
| <use case n>
domainservice
infrastructure
| drivenadapter
| | persistence
| | messaging
| drivingadapter
| | messaging
MyJexxaProject.java
After successfully set up your new project, you should clean up the text of README as described here