Files
tildefriends/docs/model.md
Cory McWilliams 62dc9d6cc0
All checks were successful
Build Tilde Friends / Build-All (push) Successful in 18m50s
docs: Add a little diagram of how I think about Tilde Friends.
2025-11-05 20:00:20 -05:00

1.2 KiB

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.

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"];
}