keshrath / webofneeds

Finding people to cooperate with. Protocol, not platform. Decentralized. Linked Data. Open Source.

Home Page:http://researchstudio-sat.github.io/webofneeds/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

webofneeds

Finding and cooperating with people. Protocol, not platform. Decentralized. Linked Data. Open Source.

Join the chat at https://gitter.im/researchstudio-sat/webofneeds

This software is for people who need something, have something to offer, want to discuss something etc. - in short: who wish to connect with others for some reason.

  1. They publish a posting about it online
  2. They get recommendations on matching postings created by other people
  3. They start chatting with some of the creators of these other postings
  4. Maybe they'll meet. Maybe one will buy from the other. Maybe they will start a company, plant a tree, get married, found a party...

That's it, basically. Try our demo on matchat.org! And then run your own servers!

interaction-diagram

Overview

The Web of Needs is a decentralized infrastructure that allows people to publish documents on the Web which make it possible to contact each other. The document may contain a description of a product or service required or offered, a description of a problem to be solved with the help of others, an invitation to social activities, or anything else users may think of. Some concrete use cases are described here. On the abstract level of description, the document can be said to represent an interest in or a need for some kind of interaction with others.

As this document or entity is the central and indivisible building block of the system, we refer to it as an atom. Each atom has a globally unique identifier and an owner, i.e., a person or other entity that creates and controls it. When atom owners want to communicate with each other, a connection object is created for each atom involved.

Web of Needs is built out of three main components. Owner applications enable users to create and manage their atom objects. They can be any type of UI application like web applications or mobile apps for example. Owner applications publish atoms as RDF documents to won nodes on the Web. When atoms are published on the Web, independent matching services can crawl them (or subscribe for atom updates at won nodes) and look for suitable matches. A protocol is in place to inform the won nodes and atom owners of possible matches using hint messages. Based on this process atom owners can initiate connections to other atoms and start communication and other transactions.

Anyone can run any of these components. They can all talk to each other.

Demo

A demo deployment of the Web of Needs with a simple owner application, one won node and one matching service can be tested at www.matchat.org

Deployment

If you want to set up your own deployment of Web of Needs components, here you find requirements for getting started:

  • follow the instructions here to set up all the neccessary components of web of needs locally

Further resources

Papers and further Information

About

Finding people to cooperate with. Protocol, not platform. Decentralized. Linked Data. Open Source.

http://researchstudio-sat.github.io/webofneeds/

License:Apache License 2.0


Languages

Language:Java 54.9%Language:JavaScript 33.3%Language:HTML 5.5%Language:CSS 2.7%Language:Elm 1.2%Language:Python 0.7%Language:XSLT 0.7%Language:Shell 0.5%Language:PLpgSQL 0.3%Language:Dockerfile 0.2%Language:TypeScript 0.1%Language:Perl 0.0%