Skip to content
This repository has been archived by the owner on Feb 13, 2024. It is now read-only.

Deprecated CommonsPub backend

License

Notifications You must be signed in to change notification settings

bonfire-networks/CommonsPub-Server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CommonsPub Federated Server

About the project

The CommonsPub server is currently being refactored into the Bonfire federated app ecosystem/

This was the main repository, written in Elixir (running on Erlang/OTP).

The federation API uses ActivityPub and the client API uses GraphQL.

There is a bundled front-end built with Phoenix LiveView (and an older React frontend in a seperate repo).


Documentation

Do you want to...


Forks and branches

Flavours

CommonsPub comes in different flavours, which are made up of a combination of extensions and probably some custom config and branding. Each flavour has its own branch in the CommonsPub repo:

  • flavour/commonspub - Contains the generic flavour of CommonsPub (currently packaged with all extensions)
  • flavour/zenpub - WIP ZenPub flavour (which will use ZenRoom for public key signing and end-to-end encryption
  • flavour/haha - WIP for HAHA Academy

Extensions

Features are being developed in seperate namespaces in order to make the software more modular (to then be spun out into individual libraries):

  • lib/activity_pub and lib/activity_pub_web - Implementation of the ActivityPub federation protocol.
  • lib/extensions/value_flows - WIP implementation of the ValueFlows economic vocabulary, to power distributed economic networks for the next economy.
  • lib/extensions/organisations - Adds functionality for organisations to maintain a shared profile.
  • lib/extensions/tags - For tagging, @ mentions, and user-maintained taxonomies of categories.
  • lib/extensions/measurements - Various units and measures for indicating amounts (incl duration).
  • lib/extensions/locales - Extensive schema of languages/countries/etc. The data is also open and shall be made available oustide the repo.
  • lib/extensions/geolocations - Shared 'spatial things' database for tagging objects with a location.

Please avoid mixing flavours!

For example, do not merge directly from flavour/commonspub-->flavour/zenpub.


Licensing

CommonsPub is licensed under the GNU Affero GPL version 3.0 (GNU AGPLv3).

Copyright © 2017-2020 by all contributors.

This repository includes code from:

  • CommonsPub, copyright (c) 2018-2020, CommonsPub Contributors
  • Reflow, copyright (c) 2020 Dyne.org foundation, Amsterdam
  • HAHA Academy, copyright (c) 2020, Mittetulundusühing HAHA Academy
  • MoodleNet, copyright (c) 2018-2020 Moodle Pty Ltd
  • Pleroma, copyright (c) 2017-2020, Pleroma Authors

For a list of linked libraries, including their origin and licenses, see docs/DEPENDENCIES.md