This repository contains the code for a BPMN Real-Time Collaboration Challenge. The challenge is to create a web application that allows multiple users to collaboratively edit BPMN diagrams in real-time. The code generation is primarily done using LLMs available from Trae. Manual code editing was done to address some limitations of the LLM-generated code.
- Docker
- Docker Compose
-
Clone the repository:
git clone https://github.com/DaxServer/summ-ai.git cd summ-ai -
Build and run the application using Docker Compose:
docker compose up --build
-
Access the application:
- Frontend: http://localhost:5173
- Backend API: http://localhost:8000
- Render BPMN diagrams in the browser using bpmn.io (
bpmn-js) - Edit the diagram - changes should appear live for all connected users
- Show a simple āonline usersā indicator
- Store the current BPMN diagram in memory (no need for a DB)
- Bonus: Show a lock/marker when another user is editing a BPMN element
- The syncing of the diagram data involves a full sync of the diagram data to all connected users, except the one who triggered it
- This restricts locking selected elements
- The lock marker does not prohibit any user from editing the element
- The storage of diagram data inside the frontend application is intended for prototyping purposes only
- End-to-end type safety
- Tests in the frontend application are not implemented
A short Loom demo is available at https://www.loom.com/share/6e7e23f6da994028a51fcc064b81f976