MightyNetwork - Perl implementation of mightynetwork, a simple ActivityPub proof of concept.
ActivityPub is complex. In order to make it easier to understand for everyone, having a sort of Rosetta stone is needed. Mightynetwork can be this Rosetta stone!
Narf, the developper of the original mightynetwork wrote a document explaining ActivityPub and its implementation in mightynetwork: https://frama.link/ActivityPubTech (french).
See MightyNetwork::Doc for documentation about ActivityPub.
MightyNetwork is written in Perl, uses Mojolicious as framework and PostgreSQL as database.
You can get the source code on https://framagit.org/framasoft/mighty-network/mightynetwork-perl.
/perldoc * perldoc => leads to this documentation
+/:module * module => shows the documentation of a module
/ GET "index" => index page, shows a form to post a note if logged in
/ POST "new_note" => post a note, needs to be authenticated
/register GET "register" => registering page
/register POST "register" => register request
/login GET "login" => login page
/login POST "login" => login request
/logout GET "logout" => logout request, redirects to /
/note.json GET "get_note"
/notifications GET "notifications"
/users * users
+/ GET "users"
+/ POST
+/actors GET actors
+/:username GET username
+/account/:id GET "account"
+/:username/note/:id GET usernamenoteid
+/users/:username/outbox GET "u_outbox"
+/:username/inbox GET "u_inbox"
+/:username GET "get_user"
/.well-known/webfinger GET wellknownwebfinger
/inbox GET "inbox"
This is the class hierarchy of MightyNetwork.