Store & Sync data
in realtime.

Real infinite possibilities.

Orange Live is a hosted NoSQL solution which maintains all data synchronized and organized across all connected instances.

Self Clustered

Data is stored and replicated across three data centers, and the persistence is just validated when data is copied at least two of them. Furthermore, it provision more resources when needed, making your application high scalable, and self clustered.

Data Support

In addition to primitive types like Strings, Numbers and Boolean, Orange Live also supports Lists and JSON documents. Further, our database supports direct atomic operations in JSON's child nodes.

Realtime Binding

Data is automatically updated and ordered in all connected instances based on their indexes, if declared. Or just in determined instances based on table and instance rules.

Table rules are ACL's that defines who can read, save or remove data, and how and what attributes will be declared and feeded. It works together with authentication service to have data integrity and security.

All this services are enough to have just client-side applications, Orange Live database acts as a complete backend solution for your application.

Simple API

Orange Live uses a simple Javascript API to call all features. See some examples.

Declaration

Instances are ways to reference a table's collection or item. They are referenced using simple slash separated paths. To have a filtered set, is possible to declare some helpers methods.

Load Event

Load event is dispatched when the server loads data at first time. Each data is a real object with key(), value(), save(), and remove() methods. Collections also have pagination and count attributes, the former is used to paginate the results with prev() and next() methods, and the latter is a static value containing the number of attributes fetched.

Other Events

Some other events may be used, the main is fetch event. It is dispatched when some part of data is changed, at this way, when data is a collection, it will treat, update, and re-sort if needed, returning it already compiled. The save event returns just changed data (not all collection), when it is inserted or updated, at the same way, remove event returns just data's key.

Setter Operations

Orange Live has some useful methods to set values, like save(), saveWithCondition(), remove(), increment(), decrement(), pushList() and another ones. The saveWithCondition() method is used to have a valid transaction, it means, just update in some circunstance.

Rules

Rules are useful to keep the table's integrity, it means, we declare who, how and what the table can be changed. The rules are declared with JSON format via graphic console, and includes ACL's to read, save and remove, further, indexes declarations, and schema for that table. The only required set, is ACL, but is always good take care of your table.

Clone and have fun here and...

live demo here [:

I'm working hard, questions, feature request, or flaks talk to feliperohdee@gmail.com