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.
ops
LibraryClear
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)
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)