MightyNetwork (source, CPAN)

CONTENTS

NAME

MightyNetwork - Perl implementation of mightynetwork, a simple ActivityPub proof of concept.

DESCRIPTION

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!

DOCUMENTATION

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.

SOFTWARE

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.

ROUTES

/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"

REFERENCE

This is the class hierarchy of MightyNetwork.

MightyNetwork
MightyNetwork::Controller
MightyNetwork::Controller::ActivityPub
MightyNetwork::Controller::ActivityPub::Follow
MightyNetwork::Controller::ActivityPub::Inbox
MightyNetwork::Controller::ActivityPub::Outbox
MightyNetwork::Controller::Auth
MightyNetwork::Controller::Index
MightyNetwork::Controller::Misc
MightyNetwork::Controller::Note
MightyNetwork::Controller::Notification
MightyNetwork::Controller::Users
MightyNetwork::Controller::WebFinger
MightyNetwork::DB
MightyNetwork::DB::ActivityPub
MightyNetwork::DB::ActivityPub::Activity
MightyNetwork::DB::ActivityPub::Actor
MightyNetwork::DB::ActivityPub::Collection
MightyNetwork::DB::ActivityPub::Follow
MightyNetwork::DB::Note
MightyNetwork::DB::Notification
MightyNetwork::DB::User
MightyNetwork::DefaultConfig
MightyNetwork::Doc
MightyNetwork::Doc::ActivityPub
MightyNetwork::Doc::ActivityPub::Activity
MightyNetwork::Doc::ActivityPub::Activity::Announce
MightyNetwork::Doc::ActivityPub::Activity::Create
MightyNetwork::Doc::ActivityPub::Activity::Delete
MightyNetwork::Doc::ActivityPub::Actor
MightyNetwork::Doc::ActivityPub::Collection
MightyNetwork::Doc::ActivityPub::Inbox
MightyNetwork::Doc::ActivityPub::SharedInbox
MightyNetwork::Doc::ActivityPub::Note
MightyNetwork::Doc::ActivityPub::Outbox
MightyNetwork::Doc::Glossary
MightyNetwork::Doc::JSON-LD
MightyNetwork::Doc::JSON-LD-signatures
MightyNetwork::Doc::HTTP-signatures
MightyNetwork::Doc::WebFinger
MightyNetwork::Plugin
MightyNetwork::Plugin::Helpers

SEE ALSO

Mojolicious