GitHub template for initiating new projects with Miranum Connect, following the Hexagonal Architecture approach. This template builds upon the Miranum Connect Basic Template and incorporates the recommended hexagonal architecture design pattern.
The Hexagonal Architecture promotes a modular and flexible structure, enabling better separation of concerns and improved testability. It emphasizes the core domain logic, with ports and adapters facilitating interactions with external systems.
For a detailed introduction to the Hexagonal Architecture and its advantages compared to the traditional layered approach, refer to the Miranum Documentation.
This template inherits the key features of the Miranum Connect Basic Template and adds the following:
- Hexagonal Architecture: Implements the hexagonal architecture design pattern for better modularity and testability.
- Worker Creation: Implement the
doSomething
method in theMyWorker
class to perform actions on received commands. - Message Correlation: Implement the
correlateMessage
method in theMyMessageCorrelation
class to correlate messages with process instances. - Process Start: Implement the
startProcess
method in theMyProcessStart
class to initiate a process instance.
To run the engine-specific applications (example-camunda7
and example-camunda8
), you need to have a running
instance of Camunda Platform 7 or Camunda Platform 8 set up. This template includes the necessary dependencies for both
versions of Camunda.
To use this template, follow these steps:
-
Clone or download this repository to your local machine.
-
Update the necessary resources to match the name and description of your project:
- README (title, description)
- POM (artifact name, id, description)
- Application Core (implement)
- Engine-specific Applications (rename)
-
Ensure that you have a running instance of Camunda Platform 7 or Camunda Platform 8.
-
Build the project using the following command:
mvn clean package
-
Run the project by executing the generated JAR file.
java -jar example/example-camunda?/target/*.jar
-
Interact with the project's features, such as creating workers, correlating messages, and starting processes.
To run the tests for this project, execute the following command:
mvn clean test
This command will execute all the unit tests in the project and provide the test results.
For more detailed information and advanced usage of Miranum Connect, please refer to the Miranum Documentation.
To see an example of Miranum Connect in action, you can visit the Miranum Connect GitHub Repository or the Miranum Consulting Repository and explore the provided examples.
Contributions to this GitHub template are welcome! If you have any improvements or new features to suggest, please create a pull request.
This project is licensed under the MIT License.
For more information on Miranum and its features, please visit the Miranum Documentation.