Apollon is an open-source UML modeling editor for the web. Draw 13 UML and modeling diagram types — including class, component, activity, BPMN, and SFC — in the browser, collaborate in real time, and export to SVG, PNG, PDF, or JSON.
This monorepo contains every piece of the Apollon platform:
library/— the embeddable@tumaet/apollonReact component (npm).standalone/— standalone web app (server + webapp) built on the library.vscode-extension/— the Apollon VS Code extension.docs/— documentation sources (migrating to Docusaurus).
npm install @tumaet/apollonSee the library README for the API.
git clone [email protected]:ls1intum/Apollon.git
cd Apollon
nvm install && nvm use
npm install
npm run devnpm run dev starts three processes together:
- Library build watch (auto-rebuilds on changes).
- Server (
tsx watch) on a printed local HTTP port with a matching WebSocket relay port. - Webapp (Vite HMR) on a printed local dev URL.
The launcher handles the boring parts:
- Resolves port collisions for the webapp, server, WebSocket relay, and Redis.
- Reuses an existing local Redis if one is running; otherwise starts a Redis container on a free host port (Docker required only in that case).
- Needs no
.envfiles — defaults match the local setup.
Override ports via APOLLON_WEBAPP_PORT, APOLLON_SERVER_PORT, APOLLON_WS_PORT, or APOLLON_REDIS_PORT.
| Component | Technology |
|---|---|
| Library | React, TypeScript, React Flow (@xyflow/react), Yjs, Zustand, Vite |
| Server | Express 5, Redis (RedisJSON), WebSocket relay |
| Webapp | React, TypeScript, Vite, MUI, Tailwind |
| Storage | Redis with RedisJSON (diagrams expire after 120 days via native TTL) |
| Reverse proxy | Traefik v3 (production) |
- Node.js — version pinned in
.nvmrc. - npm 7+ — for workspace support.
- Docker — only when
npm run devneeds to start a local Redis.
Docs are migrating to Docusaurus; in the meantime browse the Markdown sources in docs/:
- Getting started
- Project structure & development
- Mobile (iOS / Android via Capacitor)
- Deployment (GitHub Actions, Docker)
- Administration — legal pages & TUM DSMS
- Troubleshooting
Open an issue or a pull request at https://github.com/ls1intum/Apollon. Guidelines live in docs/contributing.md.
MIT — see LICENSE.