Skip to content

Architecture

MikroCanvas is a browser app with local board storage by default, optional API-backed board snapshots, import/export tools, and a presentation layer for drawing and editing.

  • The app shell runs entirely in the browser.
  • IndexedDB stores boards for the current origin.
  • config.json selects local mode or API-backed snapshot publishing at startup.
  • In API mode, the browser loads and publishes snapshots through /api/boards/:id.
  • Import and export are explicit user actions.
  • No backend API is required for normal local-first drawing.

The optional Node server serves the built app, runtime config, health/openapi endpoints, and board snapshot reads/writes by ID. Board JSON is stored in SQLite.

The API does not expose a public board list. Opening a snapshot URL loads that board into the browser’s local board library.

Servers can be configured with an admin token for recovery deletion of remote snapshots.

Serve the extracted release archive from a stable origin. Browser storage is scoped to that origin, so moving the app to another domain gives the browser a separate board library.

For API-backed snapshots, run the bundled server and back up the configured SQLite database file.