What is Restspace

Restspace is a new kind of tool with a new approach to building and integrating back ends for web and mobile rapidly and flexibly.

The Restspace world contains several elements:

  • The Restspace runtime is a Node server that can run on any platform (or in a serverless function). It manages a domain, routing requests to the paths in that domain to a set of tiny web services.
  • To define and configure the web services, a single generally quite small JSON file is used (services.json).
  • The web services often can manage their own data: in this case they sit on a base path and manage requests to all URLs starting with this base path. URLs map to data items
  • Generally one of the services on the domain will serve an administration front end, a React application that lets site administrators set up and change the configuration of the domain and work with data controlled by the services in the domain.

Your Restspace server

For now, we will set you up a Restspace server as part of the closed beta. You can choose presets from our list of common use cases if you wish, and once set up you can log in to the admin interface to configure your services and work with your data. Restspace will later be available hosted on a virtual server or as a serverless application. We are also considering open-sourcing the runtime so you can run it wherever you wish. To learn more about how Restspace is structured, see Architecture.

services.json

You can manage services.json from your admin interface either directly in JSON or through a forms-based interface. Changes to your service configuration take place immediately with no downtime.

Your services

See Service configuration  to find out the common parameters you have available when setting up a Restspace service. These include setting the base url path for the service, and which user roles can have access to it directly via its url. See the Services section on the left for a list of all the services available and links to the detailed documentation. A wide range of services let you perform tasks such as storing data and files, processing and transforming data, and connecting to external APIs. The special Pipeline service lets you create processing pipelines with other services and also 3rd party services, making it possible to write complex applications with little or no code.

The Admin UI

See the Admin Interface heading on the left to learn more about how the provided UI works to make Restspace much more than just an API. The Admin interface is a modular system which can show a number of editors or administrative screens for each service. Forms are provided for non-technical users to enter or read information. Technical users can get access to all configuration and the full power of directly editing files, and they can configure how the interface appears for non-technical users. This then provides the features of a CMS, a backend for reading user-entered data, and an administrative system.