Table of Contents
Space Cloud comes with a whole bunch of features to help you build realtime and scalable apps:
The database module is the core of Space Cloud. It allows you to perform CRUD operations on your database directly from the frontend.
Supported databases ❤️ :
Although the database module of Space Cloud is schemaless, it let’s you optionally provide a schema via Mission Control for these added benefits:
Space Cloud allows you to perform a wide variety of CRUD operations:
With Space Cloud, you can query your data in 3 ways:
Note: You can make views only on SQL databases (eg: PostgreSQL and MySQL)
You can also request data from multiple databases within a single request.
Space Cloud also supports slicing and dicing of the requested data with the following operations:
Mutations are used to make changes to your data. Following mutations are supported in Space Cloud:
The following operations are supported in
Subscriptions is used to sync data in realtime. You can subscribe to the data you are interested in by providing a filter and Space Cloud will notify you whenever anything changes in that result set.
With the file storage module your frontend can:
Supported storage mechanisms are:
Functions module allows you to write custom business logic in the form of simple functions like AWS Lambda. However, unlike AWS Lambda, these functions run as long lived microservices on the backend.
Notable features of Space Functions:
Eventing module is used to asynchronously trigger Space Functions or any other webhooks (eg: AWS Lambda functions) based on database and file storage events.
Right now the supported event triggers are the following database operations (
Note: In a future release, eventing would also work on file storage events like
All event triggers are:
You can use the pub sub module in Space Cloud backed by Nats. With the pub sub module you can:
Note: Subscriptions work on a prefix basis. (i.e. If you have subscribed for
/feeds, you will also get events for
All requests to the database, file storage, function and pub sub modules goes through the authorization layer.
The authorization layer decides whether the request should be allowed or not based on the security rules you have provided in Mission Control and the JWT token present in the request.
Security rules allow you to:
delete) level rules for each
collection / table(eg: delete operation in
delete) level rules for each path prefix.
subscribe) level rules for each path prefix.