Single-page BPMN canvas viewer built with bpmn-js and Tailwind CSS 4.
- Display .bpmn files using bpmn-js viewer
- List .bpmn files in /process-models directory
- Click on a model path to load and display it on the canvas
- Auto-center diagrams with 40px margin
- Responsive layout with sidebar navigation
- Node.js (v14 or higher)
npm install-
Add your .bpmn files to the
process-models/directory -
Build the application:
npm run build- Start the development server:
npm run dev- Open http://localhost:3001 in your browser
bpmn-viewer/
├── src/
│ └── app.js # Main application logic
├── process-models/ # Place .bpmn files here
├── dist/ # Built files (generated)
├── index.html # Main HTML file
├── server.js # Development server
└── package.json
This is a fully static site that generates a file list at build time:
build-file-list.jsscans/process-modelsand createsdist/files.jsonesbuildbundles the app intodist/app.js- The static site can be served from any web server or GitHub Pages
No server-side logic is required at runtime!
- bpmn-js - BPMN 2.0 rendering library
- Tailwind CSS 4 - Utility-first CSS framework (via CDN)
- esbuild - JavaScript bundler
- Node.js - Build tooling and dev server
This project includes a GitHub Actions workflow that automatically builds and deploys to GitHub Pages on every push to the main branch.
To enable GitHub Pages:
- Go to your repository Settings → Pages
- Under "Build and deployment", set Source to "GitHub Actions"
- Push to the
developbranch to trigger deployment
The site is available at: https://afomi.github.io/bpmn-viewer/