This is an example integration between bpmn-visualization and PM4PY.
The application consists of two main components: the frontend written in JavaScript and the backend written in Python.
- The frontend uses bpmn-visualization to visualize the BPMN process model and the statistics data over it.
- The backend is built using pm4py which processes data to perform process discovery and conformance checking. The results are then communicated to the frontend through Flask and Fetch API.
In addition to bpmn-visualization and pm4py, the application also leverages two other libraries, d3 and BPMN layout generators.
- d3 is used to manipulate colors and add a legend to the visualized BPMN diagrams.
- BPMN layout generators is used to generate the layout of the discovered BPMN process models produced by pm4py.
⚠️ Please note that BPMN layout generators is still in an experimental version and may not produce optimal or visually appealing layouts.
You can skip this part if your system meets all the requirements listed below 👇
- Clone the project in your preferred IDE (e.g. VScode)
- Prepare the backend environment:
- Navigate to the
backendfolder:cd backend - Create a virtual environment for dependencies called
venvusing the following command:python -m venv venv
- Activate the created
venvby running:- Windows:
venv\Scripts\activate.bat
- Unix/MacOS:
venv/bin/activate
- Install the required libraries listed in
requirements.txtby running:pip install -r requirements.txt
- Navigate to the
- Prepare the frontend environment:
- Navigate to the
frontendfolder:cd ../frontend - Install the required libraries listed in
package.jsonby running:
npm install
- Navigate to the
- Navigate to the
backendfolder:cd backend - Run the application:
python app.py
- Open a new terminal and navigate to the
frontendfolder:cd frontend - Run the development web server:
npm run dev
- Access the web application on the displayed localhost: http://localhost:5173/