4 ms·
PostgreSQL is used for storing channels (users posts, subscriptions, etc.) and metadata on media. Authentication is handled by the XMPP server - Prosody, ejabb
by imaginator 14y ago
PostgreSQL is used for storing channels (users posts, subscriptions, etc.) and metadata on media.
Authentication is handled by the XMPP server - Prosody, ejabberd, OpenFire, etc.
The XMPP protocol is documented on https://buddycloud.org/wiki/XMPP_XEP https://buddycloud.org/wiki/XMPP_XEP, and the HTTP API on https://buddycloud.org/wiki/Buddycloud_HTTP_API https://buddycloud.org/wiki/Buddycloud_HTTP_API.
Right now if you want to use a single technology I think the best would be to use nodejs: the channels server and HTTP API are running on it. The problem will be the XMPP server (I don't think node-xmpp can handle that). The media server is written in Java, so a complete rewrite would be needed (but the media server is optional). And I'd love to see all of that in Go, but last time I checked its XMPP libraries were not usable enough for what we'd need.