Starter project architecture and best practices

Hello everyone, I really appreciate in advance your help and guidance.

I’m trying to create a full web application where BPMN processes are driving the design. I need standard web application features like a database back-end, transaction management, custom user interface and so on.

Now I am not sure how to prepare my project? Do I start with a blank maven project and define processes in it and then deploy the generated war file into the pre-packaged distribution? or do I download the whole pre-packaged distro as the code base (to commit into my repository)?

Please note:

  • I want to reuse the existing webapps (cockpit, task, admin)
  • I want to add my custom logic and database / domain

Can I do all of this with a standalone application? Or must I integrate Camunda with a web framework to get full functionality? If I must integrate, how do I handle the existing webapps (cockpit, task, admin)?

I guess I’m just trying to wrap my head around the basics? I want to create a repository to start working, and I want to know what is the preferred deployment strategy? My project is not complex, so I prefer the simplest possible approach.

Again, thank you for any help provided.



I think your request is so broad it is hard to know what to offer.

Perhaps start by deploying the pre-built example app. Then add a database. Then start writing business processes. Then play with the REST interface.

My gut feeling is that you could deploy the pre-built app linked to below, add a database, and then communicate with the camunda instance over REST and meet all your needs. But I’m on my first cumunda implementation so take that with several grains of salt.

Thank you Tim, yeah my question is broad because I’m trying to grok architecture.

When you said start with the pre-built app and then add a database, does that mean I will have two databases, one for camunda for its apps, and one for my custom domain? Also, if I create a transaction (e.g. create a new customer activity) where do I apply a transaction? Does camunda offer it or do I need to roll my own transaction manager?