An application for managing SIPOC diagrams (Supplier, Input, Process, Output, Customer) — also called "LIPOK" in the project (German: Lieferant, Input, Prozess, Output, Kunde) — for process improvement and business analysis.
A SIPOC captures a business process across five columns — from the suppliers who feed it, to the customers who receive its result. SIPOCs digitizes that structure and makes it searchable, linkable, and exportable.
SIPOCs turns structured process data — entered by hand, imported via CSV seeding, or pushed through the REST API — into a diagram your team can actually read and share.
Suppliers, inputs, process steps, outputs, and customers are created as business partners and attached to a Lipok — by hand in the UI, via the REST API, or seeded in bulk from CSV mock data.
Beyond the flat SIPOC columns, entries can be linked to each other — an input to the supplier/process step it comes from, an output to the process step and customer(s) it goes to — capturing the real flow, not just five parallel lists.
The frontend renders the Lipok as an interactive SIPOC diagram — reorderable via drag & drop, filterable, and exportable to Markdown for sharing outside the app.
From creating individual SIPOCs to exporting them as Markdown — the core building blocks of the application.
Create and edit SIPOC instances ("Lipoks") and populate them with ordered lists of suppliers, inputs, process steps, outputs, and customers.
Optionally link inputs to a supplier/process step and outputs to a process step/customer — beyond the flat column lists.
A single shared partner directory instead of fixed supplier/customer types — the same partner can play both roles on a given Lipok.
A hierarchical, parent/child taxonomy of business objects that can be attached to a SIPOC.
Export a single SIPOC, or all of them at once (as a ZIP), as structured Markdown files — via a UI button or the REST API.
An overview and statistics across all SIPOCs and business partners at a glance.
Reorder SIPOC tiles and column entries via drag & drop.
UI available in German and English via ngx-translate; domain content is typically maintained in German.
A fully documented REST API (springdoc-openapi) for driving the backend directly.
Two ways to run the application locally.
Requires Java 26 and Node.js/npm.
./sipoc.sh start # start backend + frontend, wait until both are up, seed mock data
./sipoc.sh status # check what's currently running
./sipoc.sh stop # stop backend + frontend
No local Java/Node toolchain required — just Docker.
docker compose up --build # build and start backend + frontend
docker compose down # stop and remove the containers
http://localhost:4200
Backend: http://localhost:8080
Swagger UI: /swagger-ui/index.html
| Area | Technology |
|---|---|
| Backend | Java 26, Spring Boot 4.1.0, Spring Data JPA, H2 (in-memory), springdoc-openapi |
| Frontend | Angular (standalone components), SAP UI5 Web Components, Tailwind CSS, ngx-translate |
| Build/Deploy | Maven Wrapper, npm, Docker Compose |