Skip to content

Latest commit

 

History

History
80 lines (55 loc) · 3.35 KB

File metadata and controls

80 lines (55 loc) · 3.35 KB

Apollon

npm version npm license

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/apollon React 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).

Use the library

npm install @tumaet/apollon

See the library README for the API.

Run the stack locally

git clone [email protected]:ls1intum/Apollon.git
cd Apollon
nvm install && nvm use
npm install
npm run dev

npm 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 .env files — defaults match the local setup.

Override ports via APOLLON_WEBAPP_PORT, APOLLON_SERVER_PORT, APOLLON_WS_PORT, or APOLLON_REDIS_PORT.

Tech stack

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)

Requirements

  • Node.js — version pinned in .nvmrc.
  • npm 7+ — for workspace support.
  • Docker — only when npm run dev needs to start a local Redis.

Documentation

Docs are migrating to Docusaurus; in the meantime browse the Markdown sources in docs/:

Contributing

Open an issue or a pull request at https://github.com/ls1intum/Apollon. Guidelines live in docs/contributing.md.

License

MIT — see LICENSE.