An integration of Amazon Alexa and Camunda BPM Platform.
I use Camunda BPM Platform integrated in Micronaut (micronaut-camunda-bpm).
The following image shows a pizza delivery service process. I took it from the book of Rücker &
Freund. However, we are only looking on the "service view" of the process. So we collapse the customer pool.
Also, we split the task "Bake pizza" in two different tasks and add a gateway which gives a
discount if the pizza got a bit burned.
Source: Replicated from Page 98, Rücker, B., & Freund, J. (2019). Praxishandbuch BPMN 2.0: Mit Einführung in DMN. Carl Hanser Verlag GmbH Co KG.
All of these steps will take place within the kitchen. For the moment, we assume that there is only one pizza chef. And of course there is no computer with a display that the chef can use. So we place an Amazon Alexa in his kitchen and use the Skill-Generator to create an Alexa Skill based on the above BPMN model.
- Git
- IntelliJ (or other IDE)
- Node + NPM
- Java (which you can also get via IntelliJ)
- Clone the repository with
git clone https://github.com/NovatecConsulting/camunda-voice-control.git
. - Open a terminal in the cloned folder and enter
npm install
. - Open the subfolder
pizza-service
withIntelliJ
. The gradle build process should automatically start. It may take a while to download all dependencies. - After a successful build, start the application within IntelliJ. You should be able to open the camunda webapps in your browser on
http://localhost:8080
. Do that and log in withusername:admin
andpassword:admin
. - Create an account at ngrok and download the software. Unzip and place it within the root folder of the cloned project. Also, rename the folder to
ngrok
. - Add the ngrok auth-token (see instruction on their website).
- Open a terminal there, run
npm run ngrok
. The service should provide you ahttp
and ahttps
endpoint. Open thehttps
endpoint in a browser. You should see the camunda welcome screen. - Open a terminal in the subfolder
skill-generator
and enternpm install
. - Start the Skill-Generator with
npm run dev
and open it athttp://localhost:3000
in your browser. - Create yourself an alexa developer account here. (You can also use your amazon account. If you own an alexa device, your skills will automatically be available on your device).
- Everything is ready to go. Create a process model, run it through the Skill-Generator and follow its instructions for deployment. Enjoy!
I use conventional commit messages. You can install it with:
npm install
npx husky install
// Active hooksnpx husky add .husky/commit-msg 'npx --no-install commitlint --edit $1'
// Add hook
Otherwise, see here.
npm install -g bpmn-to-image
npm run generate-bpmn-png