diff --git a/docs/modules.md b/docs/modules.md index 5107a34..441c5eb 100644 --- a/docs/modules.md +++ b/docs/modules.md @@ -1,24 +1,26 @@ +# Modules + Like any Django system, kepi consists of a set of interacting modules. (Django calls these "apps", confusingly.) In theory, it should be possible to pull any of these modules out and use them in another project. -== trilby_api == +## trilby_api Trilby implements [the Mastodon protocol](https://docs.joinmastodon.org/). It also holds the microblogging data-- user details, statuses, and so on. -== bowler_pub == +## bowler_pub Bowler implements [the ActivityPub protocol](https://www.w3.org/TR/activitypub/). It receives incoming messages from other servers, validates them, and acts upon them. It's also responsible for fetching ActivityPub objects from other servers. -== sombrero_sendpub == +## sombrero_sendpub Sombrero delivers messages to other ActivityPub servers. As part of this, it handles webfinger lookup. -== tophat_ui == +## tophat_ui Tophat handles the web UI. At present, we don't have much of a web interface: Tophat produces only the root page. Eventually it will produce HTML pages, @@ -29,7 +31,7 @@ It should also have a general web UI as an alternative to using a client program Given the fact that we implement the Mastodon protocol, it's possible we can just merge in Mastodon's entire web UI. -== busby_1st == +## busby_1st Busby handles incoming webfinger lookups, as well as the other `.well-known` services such as `host-meta`.