Skip to main content
Version: Next

Anatomy of a Servable service

Project structure​

├── index.js
├── app
├── ├── ...
├── protocols
├── ├── ...
├── servable.config.js
├── .env
└── package.json
  • The servable config is servable.config.js
  • The servable app entry point is index.js
  • The app protocol is in /app
  • The local protocols are in /protocols

Anatomy of a protocol

Any protocol respects the following root folder structure:

┌── main.js
├── target
├──── class
├──── triggers
├── schema
├── config
├── models
├── jobs
├── seed
├── services
├── lib
├── assets
├── docs
├── livemodels.js
└── main.json

System design of a full-fledged local servable app​

A fully functional servable deployment will use a few other components to run alongside a main servable app. These components are installed and run automatically when using the quick start CLI command. They are defined in the app protocol system's docker-compose file.

Servable service​

The actual servable app Mandatory

Servable dashboard​

Servable Dashboard is a standalone dashboard for managing Servable services.

  • Create, edit and delete schema (not available with Servable)
  • Create, edit and delete security rules (not available with Servable)
  • Create, edit and delete data

Github Optional

App database​

The mongodb or PostGreSQL database Mandatory

Minio​

Mandatory An S3 like bucket server for storing files

Utils database​

An utilitary database used by the arbiter to store migration status and current instances Mandatory

Redis cache​

Optional

Live Query Server​

Optional