Skip to content
Pablo Ojanguren edited this page Jun 28, 2016 · 13 revisions

SwellRT

SwellRT is a real-time storage platform. The project includes a server runtime and a JavaScript API client for Web applications.

SwellRT enables real-time collaboration in Web applications: multiple users can share and edit JavaScript objects in real-time with transparent conflict resolution (eventual consistency). Changes are distributed in real-time to any user or App instance using a shared object.

Objects are stored in the server and can be query using the API.

SwellRT provides also out-of-the-box collaborative rich-text editing for Web applications (as Google Docs or Etherpad) through an extensible text editor Web component and API.

Live Demo

A full featured example of SwellRT app can be check out in the SwellRT Pad App.

Source code is available in GitHub

Basic concepts

Collaborative Objects

The main concept of SwellRT is the so-called collaborative object. They are special JavaScript objects that are persisted on the server's storage on every change.

In addition, when different instances of an app are working with the same collaborative object, the object's "view" in each instance will be updated on every remote change.

In other words, collaborative objects enable real-time communication.

You can create all the collaborative objects you need for your app. And you can query the objects stored in the server with MongoDB queries.

When an app instance opens an already existing collaborative object, it gets the latest stored version of the object into its local "view".

Users and access control

Access to collaborative objects can be controlled using users. Each object has a list of allowed users, of course, including the user's creator.

Alternatively objects can be created and accessed by any user (public objects). No "named" user accounts are required to use the platform (anonymous accounts).

Installation

To get updated installation steps, please checkout project's README

Table Of Contents

Contact and Support

Visit our Gitter Channel.

Clone this wiki locally