docs: Add a little diagram of how I think about Tilde Friends.
All checks were successful
Build Tilde Friends / Build-All (push) Successful in 18m50s

This commit is contained in:
2025-11-05 20:00:20 -05:00
parent a28d41e1ee
commit 62dc9d6cc0

32
docs/model.md Normal file
View File

@@ -0,0 +1,32 @@
# Model
A reasonable mental model of Tilde Friends is as a virtual computer. User
interace is through a web browser. Communication with the outside world is
through the Secure Scuttlebutt (SSB) network protocol. Persistence is through
an SSB store and an additional key-value store in an sqlite database.
The schema for the sqlite database is primarily a `messages` table and a
`blobs` table, which are what one would expect from the SSB specifications.
```dot
digraph {
web_browser -> tilde_friends_web_interface [dir=both];
web_browser [shape=rect,label="Web Browser"];
subgraph cluster_tilde_friends {
label = "Tilde Friends";
tilde_friends_web_interface -> example_app [dir=both];
subgraph cluster_sandbox {
label = "app sandbox";
example_app;
}
example_app -> tilde_friends_core;
tilde_friends_core -> example_app;
tilde_friends_web_interface -> tilde_friends_core;
tilde_friends_core -> "db.sqlite";
tilde_friends_core -> ssb;
"db.sqlite" [shape=cylinder];
}
ssb -> other_ssb_clients [label="Secure Handshake",dir=both];
other_ssb_clients [shape=rect,label="SSB Peers"];
}
```