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.
Runtime Boundaries
Section titled “Runtime Boundaries”- The app shell runs entirely in the browser.
- IndexedDB stores boards for the current origin.
config.jsonselects 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.
API Mode
Section titled “API Mode”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.
Hosting
Section titled “Hosting”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.