chapeau/docs/modules.md

38 wiersze
1.3 KiB
Markdown

2020-10-02 20:25:01 +00:00
# Modules
2020-10-02 20:23:06 +00:00
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.
2020-10-02 20:25:01 +00:00
## trilby_api
2020-10-02 20:23:06 +00:00
Trilby implements [the Mastodon protocol](https://docs.joinmastodon.org/).
It also holds the microblogging data-- user details, statuses, and so on.
2020-10-02 20:25:01 +00:00
## bowler_pub
2020-10-02 20:23:06 +00:00
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.
2020-10-02 20:25:01 +00:00
## sombrero_sendpub
2020-10-02 20:23:06 +00:00
Sombrero delivers messages to other ActivityPub servers.
As part of this, it handles webfinger lookup.
2020-10-02 20:25:01 +00:00
## tophat_ui
2020-10-02 20:23:06 +00:00
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,
and possibly Atom feeds, for user pages (when these are requested by a
browser, via the `Accept` header).
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.
2020-10-02 20:25:01 +00:00
## busby_1st
2020-10-02 20:23:06 +00:00
Busby handles incoming webfinger lookups, as well as the other `.well-known` services
such as `host-meta`.