Servable Parse Server Engine
npm install @servable/parse-server-engine> [!WARNING]
> Servable is still experimental and its api may change in the future.
!logo





Servable server is the core component of the Servable eco-system.
It orchestrates the server deployment, the protocols registration and execution and more.
Servable server is used by the Servable CLI to generate new projects.
bash
yarn add servable-engine
`
Quickstart
To make use of servable-engine you need generator-servable
The Yeoman generator will walk you through the steps required to create your app or protocol prompting for the required information.
`bash
yarn global add yo
yarn global add generator-servable
`To launch the generator simply type:
`bash
yo servable
``
Servable is a Node JS framework built on top of Express JS and Parse Server and tailored for protocols. It provides a concise, easy to use and scalable template to get the best of Parse Server and protocols.
Servable at its core is a server template that uses the servable-engine to orchestrate the different protocols used in an application. Servable streamlines the server development by separating every "groupable" logic to be a protocol, so that it is organically extracted from the base code and possibly migrated into its own package. By doing so, Servable enforces a clear separation of concerns pattern out of the box.
Main features:
- Quick start and Plug & Play Node JS framework
- Tailored for protocols
- Schema based classes and auto-migration
- Templates for classes
- Templates for custom protocols
Just like a docker image is made to be platform agnostic, a protocol is designed to be independant from the current environment it's being used in. A protocol might depend on other protocols, but it does not need to know which application it is used for, or call any of its API.
The Servable object acts as a central orchestrator. It holds references to objects every protocol can access (for example the current express app, the Parse Server instance, etc). It can also be used to register special methods provided by protocols and that might be used by other protocols, without knowing the source protocol of the method. For example, an emailable protocol if declared in a ServableApp object will register its implementation of a sendWithTemplate method in Servable.Emailing. This API will be used by other protocols to send emails by following its specific specification.
- You want to group the development of your server by capacity
- You want to reuse a capacity (protocol) over different models without copying it over and over
- You want to make that capacity available throughout your organization or publish it on the web
- You are building a new platform from scratch but you don't want reinvent the wheel for the usual suspects: social interactions, versionning, data consistency over deletion
...you love Parse Server
There is no reason not to use Servable if you have previously used a Parse Server.
...you care about productivity and developer experience
Servable provides a predetermined template that sets a clear developer's guideline
MIT © servable-core