Build digital experiences like never before. With the Single Point of Object Framework.
In the Cloud.

Get started API Docs

Behaviour-driven objects served on an API


In real life, everything is an object. Every object has characteristics, behaviours and actions.
In SPOO, we have adopted the way real life objects work, making them available through our APIs.



Code Examples


Object Anatomy

Object operations

Interval-driven automations

React to changes

Intitalisation + User auth.


  See more in the API docs

// Objects are represented as JSON

{
    "_id": "5a8e80d0e1e1282f7d3121e9",
    "role": "object",
    "name": "my name",
    "type": "my type",
    "applications": [],
    "inherits": [],
    "properties": 
        {
            "my prop": {
                "type" : "shortText",
                "value" : "hello world",
        },
    "permissions": {},
    "onCreate": null,
    "onDelete": null,
}

                                                

// Initialize your client.
spoo = new Client("myworkspace").AppId("myapp");


// User login                                      
spoo.io().auth("username", "password", function(data, err)
{
   if(err) console.log("login failed")
   else console.log("login success")
}, true)

// User logout                                      
spoo.io().logout(function(data, err){
   if(err) console.log("logout failed")
   else console.log("logout success")
})

                                                

// Add an object
spoo.io().Object({
    name : "car",
    properties: {
        color:
        {
            type: "shortText",
            value: "blue"
        }
    }
}).add(function(data, err){
   console.log("ok")
})


// Update an object
spoo.io().Object("28rh8qhwf")
   .addProperty({
      "doors" : {
        type: "number",
        value: 4
      }
   }).
   .setPropertyValue("color", "black")
   .save(function(data, err){
      console.log("ok")
   })
                                                

// Add "inspection" automation

spoo.io().Object("28rh8qhwf")
   .addProperty({
      "inspection" : {
        type: "event",
        interval: "P2Y",
        action: "dsl.email('peter@griffin.com', 'Car Inspection', 'There is an upcoming inspection...')"
      }
   }).
   .save(function(data, err){
      console.log("ok")
   })

/*
The property of type "event" will be observed by SPOO. On due date, the action, here an email, will be triggered automatically.
*/
                                                

// Create a backup, when an object is changed

spoo.io().Object("28rh8qhwf")
   .setOnChange("self.object.type = 'backup'; dsl.Object(self.object).add()").
   .save(function(data, err){
      console.log("ok")
   })

/*
When changed, the action will create a new object, based on the current object, thus create a momentum backup.
*/
                                                

How it'll work


Application access SPOO Cloud via a REST API (or an SDK) in the context of a user's workspace and the app identifier:


// REST
'spoo.io/api/client/WORSPACE/app/YOURAPP/...'

// JS

spoo = new SPOO_Client("workspace").AppId("yourapp")

This works the same way for every workspace/user and every app, meaning that an application can be consumed from any workspace.



Develop on and for the SPOO Cloud Platform




Build a client for any platform

Make your SPOO application available via any client you want. Using our simple API.


API Doc

SPOO Cloud Web App Hosting

Lean back, while SPOO hosts your web application. Reach users everywhere. With your cross-platform WebApp, PWA or Service.


Coming soon...


Get started


1. Create a workspace


In order to develop and publish applications, you'll need a SPOO workspace.
Once you're singed up, you can use our tools to start creating the future.

Create a workspace

2. Start building


Open SPOO Console

What you'll get

Using the SPOO Platform in the cloud let's you focus on the use case.
Don't worry about infrastructure, architecture, databases or hosting.

Serverless


Scalable

API-driven

Powerful Tools

Click to ship

The difference


  • Choosing a development platform for your cloud applications can be really hard. You'll have to decide between the hard, but flexible or the simple but inflexible approach.


  • With SPOO, developing cloud apps is super flexible and simple. That's thanks to the natural object-driven approach.


  • But SPOO doesn't stop there. What's on top is the fact that your app can be made available for the entire spoo userbase at a click of a button.






SPOO beyond the Cloud

All the benefits of SPOO Cloud are also available on any other platform/infrastructure, even yours.




SPOO Framework


In the future, you'll be able to use the framework with your technologies, wherever you want.

(coming soon)


Managed. For you.


You can also have a dedicated SPOO environment especially for you, even on your infrastructure, taylored for your technical needs.


  Learn more about our services