Socialhome is best described as a federated personal profile with social
networking functionality. Users can create rich content using Markdown and
even HTML/JS/CSS (if set as trusted user).
All content can be pinned to the user profile and all content will federate to
contacts in the federated social web.
Currently federation happens using the Diaspora protocol with future plans to
include at least ActivityPub as well. Federating using existing protocols means
Socialhome users can interact with tens of thousands of other users.
Please check the official site for more information about features. Naturally,
the official site is a Socialhome profile itself.
At the lowest level we have the database (PostgreSQL) and Redis based cache/queue
storage. Search is currently powered by Django-Haystack + Whoosh.
On top of this we have the background jobs, which are powered by RQ.
In the middle sits Django.
To provide data for the frontend we have 3 solutions - WebSockets
(powered by Channels), a REST API powered by Django REST framework and Django
template engine itself.
For the frontend, we will have 3 solutions.
Currently everything is Django templates.
We will want to keep some of the pages as Django templates. For the streams
(and possibly other pages), we want to create a Vue.js app.
socialhome A federated personal profile with social ¶
See also
https://socialhome.network/
https://jasonrobinson.me/
https://twitter.com/jaywink
https://github.com/jaywink
https://socialhome.readthedocs.io/en/latest/index.html
https://socialhome.readthedocs.io/en/latest/contributing.html
https://socialhome.readthedocs.io/en/latest/community.html#feedback-and-community-chat
https://socialhome.readthedocs.io/en/latest/changelog.html
https://git.feneas.org/socialhome/socialhome
https://git.feneas.org/socialhome/socialhome/boards
https://git.feneas.org/socialhome/socialhome/boards/18
https://git.feneas.org/socialhome/socialhome/boards/31?label_name[]=bug
https://git.feneas.org/socialhome/socialhome/boards/32?label_name[]=newcomer
https://feneas.org/
https://git.feneas.org/feneas/association
https://git.feneas.org/feneas/association/boards
https://feneas.org/activitypub-well-its-not-that-bad/
https://feneas.org/federation-testsuite/
https://git.feneas.org/feneas/federation/testsuite
https://feneas.org/author/jaywink/
https://github.com/jaywink/federation
https://github.com/jaywink/shcli
Jason Robinson ¶
See also
https://jasonrobinson.me/
https://twitter.com/jaywink
https://github.com/jaywink
https://github.com/jaywink/federation
Jason Robinson, author of Socialhome, previously core team member of Diaspora, invited expert at the W3C SocialWG.
Open source advocate, Pythonista and Djangonaut. Federated social web hacker.
Description ¶
Socialhome is best described as a federated personal profile with social networking functionality. Users can create rich content using Markdown and even HTML/JS/CSS (if set as trusted user).
All content can be pinned to the user profile and all content will federate to contacts in the federated social web.
Currently federation happens using the Diaspora protocol with future plans to include at least ActivityPub as well. Federating using existing protocols means Socialhome users can interact with tens of thousands of other users.
Please check the official site for more information about features. Naturally, the official site is a Socialhome profile itself.
Architecture ¶
At the lowest level we have the database (PostgreSQL) and Redis based cache/queue storage. Search is currently powered by Django-Haystack + Whoosh.
On top of this we have the background jobs, which are powered by RQ.
In the middle sits Django.
To provide data for the frontend we have 3 solutions - WebSockets (powered by Channels), a REST API powered by Django REST framework and Django template engine itself.
For the frontend, we will have 3 solutions.
Currently everything is Django templates.
We will want to keep some of the pages as Django templates. For the streams (and possibly other pages), we want to create a Vue.js app.
Additionally, mobile apps would be provided.
git clone https://git.feneas.org/socialhome/socialhome.git ¶
Code Layout ¶