Getting started

Before starting with one of our get started guides, you should read the requirements section, to be sure that you have installed and prepared all the required stuff to use the Orion.

You can follow one of our guides to get started with the Orion: How to create plugins.

Smartpoint Cloud SDK architecture

The Framework, named Orion, is a set of modules which have been created to build simple and complex web applications with a plugin-based architecture.

Almost all the modules which compose the Orion are kernels. Each Kernel is an isolated module which can depend or not on other Kernels and is used to define, configure and run a set of functionalities in a logical dependency order.

These kernels are composed by a managers and helpers and are bundled in packages. e.g., Inside the @orion/i18n package exists:

  • A manager is a class which manages all the logic related to a specific functional area which manages the internationalization of the application (translation, dates, numbers...). It only exist one instance of each manager in the application. So, each manager is the only source of truth for their respective functional area.

  • A helper is a class which is paired to its respective manager and exposes an API to communicate the plugins with the manager which exposes an API to the plugin to allow them to use the internationalization features which the i18n-manager provides. Each plugin in the application has a different instance of each helper it needs, this way, helpers are not shared between plugins for security reasons. As each plugin has its own instances of each helper, Orion can be able to provide a different API to the plugins depending on the permissions that the plugins can have. It also avoid that plugins use the helpers as a clandestine channel to interact with other plugins by mutating the instance of the helper.

As a plugin developer, you will only need to know about helpers, but it is good to have an understanding of the Orion architecture and know about the existence of the managers and why helpers are not shared between plugins.