In one of our previous posts we talked about Engine features where we presented concepts behind the StormHub engine and what this solution can bring to our customers. This time we will dig deeper into actual components and problems Engine is aiming to solve.
User management is the most basic functionality and standard feature of all web and specially SaaS solutions. Beside user management control, with the StormHub Engine, you are getting all functionalities you need to provide to your end users to make their user experience nice, easy, and most important self-serviced. From registration, password resetting, to multi-factor authentication. It is all covered.
We already mentioned that one of the main Engine features is multi-tenancy which actual implementation comes with workspace management component. Each workspace is a tenant of its own and users can be assigned to one or more tenants in the same time. In combination with Translation components, workspaces can be called differently. For example, they can be organizations, companies, customers or just spaces.
One of the nice features of StormHub Engine is a possibility to have one or more applications as part of your solution. Those applications can also have different rights and can be implemented to be user or tenant based. Modularity of this component gives lots of freedom in implementation, where your solutions can be designed to support B2B, B2C or even both at the same time.
When we are taking about user experience, there is also space to design applications to be part of the same user interface where users can easily navigate between applications, or maybe separate applications where users are using the same data model and engine but look and feel is focused on certain application features.
While designing the access control system, beside security, the main requirement is a flexibility. This because of a huge range of use cases the Engine should be able to support. Following those objectives, global and workspace level of privileges are expected and self-explanatory, but if we talk about application or entity level, things can get very complex. For each application mentioned in the previous part, there is a possibility to have one or more entities on which you can implement access controls.
To give an example, imagine you want to build a project management solution with a couple of requirements. The application needs to be tenant based and each tenant needs to have a possibility to have one or more projects. Also, on each project a different team can be assigned. All these requirements, which on first can look complex and challenging to implement, with using the Engine, you can easily configure all actions and project entity trough UI and then just implement right checks in the application flow.
If you want to have a solution for different markets very often you need to provide applications in different languages. By using the Engine and translation component you are getting support for multiple languages not only for frontend, but also for all integration and API interfaces.
On top of that, the whole management of translations can be done thought solution web portal where you can always update the labels and text blocks for each enabled language.
When you are building a SaaS business, the communication with users is important and needs to be easy and accessible from both sides. With this component you can manage newsletter list, send newsletters, but also send notification and email messages to certain groups or individual solution users.
Notifications are real time and provide instant triggers visible when someone is using the web applications or push notifications in case there is a mobile application as part of the solution. Beside sending those notifications and messages directly, you can also integrate them as part of your business process.
Every solution sooner or later needs to have some actions and operations to be triggered in certain time. In the Engine there is a built-in solution for managing and scheduling those by using simple cron expressions. You can control your scheduled actions by starting or pausing execution and you have live tracking of executed (or not) actions.
Same as for the scheduling, queues are important mechanisms of controlling your application flows. In a decoupled architecture, where microservices needs to communicate and share data, queues are reliable tool which can improve stability and performance of the whole solution.
One of the biggest advantages of the modern web solutions is a possibility to connect and exchange information. The most common way of achieving this is trough API integrations. The same is possible by using Engine integration component, where you can manage API keys and their access level.
In the future, it will also be possible that you manage outbound integrations trough this component. By easily selecting to which system you want to integrate and by configuring integration parameters, your application can easily send and receive data.
The crucial part of running a successful business is to know how to promote and sell it to the market. A common strategy in the SaaS world is to have affiliate programs where others can do these two things for you, and you pay them certain percentage and amount of each sale they do.
With affiliate component, you can onboard your affiliates, assign a customized affiliate program, and let everything to automation. The Engine will handle automated calculations and the amount which you need to give to each affiliate.
Speed is one of the most important metrics for SaaS solutions. Users are used to have their applications and sites to work instantaneously and any delay in delivering content can be a bad experience which could push them to alternative or competing solutions.
That’s why caches, fast temporally storages, are important. In the Engine the caching is used broadly and can be easily used to optimize certain workflows. Also, there is a possibility to access and manually clean cached data trough UI.
When you are running a SaaS solution you want to have a constant insight in what is happening and what users are doing with it. This is especially important when it comes to the issues, problems, or bugs, which, let’s be honest, even the best solutions in the world have.
As one of the built-in components of the Engine, with logging and analytics you can easily get information about actions which users are performing, but also all automated operations which solution is doing. You can easily identify triggered errors, warnings, or even just informative operations. You can track operations through architecture and pinpoint root cause with enough information to speed up process of identifying and solving the problems.
In this article we covered all current components of the Engine with a small insight in what’s coming next. If you want to be up to date with our news and update, please subscribe to our newsletter.
Also, in case you have any questions, or you are looking for more information about the Engine, don’t hesitate and reach us as soon as possible: info@stormhub.cloud.