Coder Social home page Coder Social logo

ayazkhuraishi / camunda8-customer-onboarding-camunda-8-springboot Goto Github PK

View Code? Open in Web Editor NEW

This project forked from berndruecker/customer-onboarding-camunda-8-springboot

0.0 0.0 0.0 1.42 MB

A simple onboarding process example using BPMN, Camunda Cloud, Java, Spring Boot and REST

License: Apache License 2.0

Java 89.87% HTML 10.13%

camunda8-customer-onboarding-camunda-8-springboot's Introduction

Customer Onboarding Process

Process solution example for customer onboarding as used in the OReilly book Practical Process Automation.

Customer Onboarding

This following stack is used:

  • Camunda Platform 8
  • Java
  • Spring Boot

Todos

There are some things still to be done in this example:

  • A custom form for the user task to approve customer orders is not yet designed (it is using the generic form in the tasklist instead)
  • Automated JUnit tests need to be added

Intro

This simple onboarding process is meant to get started with process automation, workflow engines and BPMN.

The process model contains three tasks:

  • A service task that executes Java Code to score customers (using the stateless Camunda DMN engine)
  • A user task so that humans can approve customer orders (or not)
  • A service task that executes glue code to call the REST API of a CRM system

The process solution is a Maven project and contains:

  • The onboarding process model as BPMN
  • Source code to provide a REST endpoint for clients
  • Java code to do the customer scoring
  • Glue code to implement the REST call to the CRM system
  • Fake for CRM system providing a REST API that can be called (to allow running this example self-contained)

How To Run

Walkthrough

Create Camunda Platform 8 Cluster

The easiest way to try out Camunda is to create a cluster in the SaaS environment:

  • Login to https://camunda.io/ (you can create an account on the fly)
  • Create a new cluster
  • Create a new set of API client credentials
  • Copy the client credentials into src/main/resources/application.properties

Run Spring Boot Java Application

The application will deploy the process model during startup

mvn package exec:java

Play

You can easily use the application by requesting a new customer onboarding posting a PUT REST request to

curl -X PUT http://localhost:8080/customer

You can now see the process instance in Camunda Operate - linked via the Cloud Console.

You can work on the user task using Camunda Tasklist, also linked via the Cloud Console.

Extended Process

There is also an extended process model that adds some more tasks in the process:

Customer Onboarding

You can find that in another repository on GitHub: https://github.com/berndruecker/customer-onboarding-camundacloud-springboot-extended

camunda8-customer-onboarding-camunda-8-springboot's People

Contributors

berndruecker avatar falko avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.