examples/live-notes Public
Architecture
From .rebasely/architecture/system.yaml at d21dfdd: 4 components, 3 connections.
Select a component to see what it talks to.
Components
- api Worker
The Worker. Routes /notes/:id to that note's room and serves the editor page as static assets.
- Owns
- src/index.ts, src/routes.ts
- Talks to
- note-room (rpc)
- note-room Durable Object
One per note, picked by name. Orders every edit, keeps the note and its op log in SQLite, and holds the editors' WebSockets.
- Owns
- src/note-room.ts, src/room.ts
- Binding
- NOTES
- Talks to
- ops (import)
- Used by
- api (rpc)
- ops Library
Insert and delete operations, their transform, and the messages on the socket. The same code runs in the room and in the browser.
- Owns
- src/ops.ts, src/protocol.ts
- Used by
- note-room (import), client (import)
- client Library
The editor page and its script, compiled by tsc into public/js.
- Owns
- client/**, public/index.html
- Talks to
- ops (import)