Giter VIP home page Giter VIP logo

zenpub-client's Introduction

ZenPub Client

About the project

This app is based on CommonsPub, a project to create a generic federated server, based on the ActivityPub and ActivityStreams web standards).

This is the front-end, written in Typescript that uses Apollo to fetch and update contents against a Graphql API.

This codebase was forked from MoodleNet.


Documentation

Do you wish to run the client on your local machine? Read the Getting started.


Forks and branches

Flavours

CommonsPub comes in different flavours, which are made up of a combination of extensions and probably some custom branding. Each flavour has its own branch in the CommonsPub repo regularly merged back-and-forth with its own repository.

  • flavour/commonspub - Contains the generic flavour of CommonsPub (currently packaged with all extensions except for extension/valueflows).
  • flavour/moodlenet - The original MoodleNet flavour (with only extension/activitypub).
  • flavour/zenpub - WIP ZenPub flavour (with all extensions), which will use ZenRoom for public key signing and end-to-end encryption.

Extensions

New functionality should be developed in seperate namespaces in order to make the software more modular (there are future plans for a plugin system). Each "extension" has its own branch in the CommonsPub repo. Here are some examples of extensions:

  • extension/valueflows - WIP implementation of the ValueFlows economic vocabulary, to power distributed economic networks for the next economy.
  • extension/organisation - Adds functionality for organisations to maintain a shared profile.
  • extension/taxonomy - WIP to enable user-maintained taxonomies and tagging objects with tree-based categories.
  • extension/measurement - Various units and measures for indicating amounts (incl duration).
  • extension/locales - Extensive schema of languages/countries/etc. The data is also open and shall be made available oustide the repo.
  • extension/geolocation - Shared 'spatial things' database for tagging objects with a location.

Commit & merge workflow

Please commit your work to the appropriate extension branches (and your WIP to new feature/fix branches as needed).

Avoid commiting directly to flavour/commonspub or any of the flavours.

Merging completed work

If you made changes to an extension used by a flavour, merge it into the appropriate flavour branche(s).

If you made changes to core functionality (MoodleNet[Web].* namespaces), merge those (and only those) into flavour/moodlenet.

Please avoid mixing flavours!

For example, DO NOT merge from flavour/commonspub-->flavour/moodlenet.

The only exception to this rule being that we DO merge changes from flavour/moodlenet-->flavour/commonspub since upstream MoodleNet development is still happening directly in core modules.

Merging with upstream

Regularly merge-request changes from flavour/moodlenet to MoodleNet's develop branch.

Regularly merge changes from MoodleNet's develop branch to flavour/moodlenet.


Copyright and License

Copyright © 2018-2019 by Git Contributors.

Contains code from MoodleNet, Pleroma https://pleroma.social/ and CommonsPub https://commonspub.org/

Licensed under the GNU Affero GPL version 3.0 (GNU AGPLv3).

zenpub-client's People

Contributors

aleclofabbro avatar mayel avatar sdgluck avatar gmosx avatar jjl avatar antoniskalou avatar alexcastano avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.