Question T22612
Visible to All Users

Multi tenancy support

created 10 days ago

Hi team,
we are looking to integrate a survey solution into our existing SaaS platform.
I understand we need at least a Pro license, which is fine.
What i fail to understand, after reading a lot of your docs is the best way of integrating SurveyJS library, creator, dashboard into our platform.
Since we offer multi-tenancy and data privacy is an issue we want to install everything in our datacenter, no surprise.
We are running on PHP, JavaScript and MongoDB, i know there are packages and libraries available for all of them, no problem.
But we some guidance to evaluate if what SurveyJS offers fits our solution and expectations.

Basically we want to create a central repository (Survey creator) that defines and streamlines the structure for all tenants.
Meaning all tenants should have the same backend, but certainly their own separated data, to create their surveys (with Survey JS form library) which will then be published only to their selected users. And using their separated Survey JS form library means each tenant can adjust a defined set of styles (color, font…) to reflect their corporate design inside the borders we defined for all tenants.

Is this how it should be and can be done?
If so, which resource, even a paid one, can we utilize to plan our integration properly.
We want to avoid mistakes during the planning phase and assure a smooth and time efficient integration.
Looking forward to your advise and support on that.
Thanks
Michael Fritz

Answers approved by surveyjs Support

created 9 days ago

Hello Michael,
Thank you for reaching out and considering SurveyJS for your business needs.

SurveyJS offers a suite of client-side JavaScript libraries that allow you to build a self-hosted survey and form management system.
SurveyJS libraries can be integrated with any backend and database combination. Provided that you're running on PHP, JavaScript and MongoDB, you'll be able to integrate SurveyJS components within your infrastructure.

With SurveyJS, you can:

SurveyJS components run entirely on the client side. To store and manage survey data securely within your infrastructure, you will need to host SurveyJS components within your system and connect them to your backend to handle survey definitions and user responses. You'll also require to implement access control and user permissions as required for multi-tenancy.

For more details on integrating SurveyJS with your backend, refer to this guide: Integrate SurveyJS Libraries with Backend.

Although SurveyJS does not offer production-ready backend solutions, you can refer to the following free examples that can be used as a starting point to implement a full-cycle survey management system on your premises:

PHP Form Builder: Configure client-server interaction of SurveyJS components with a PHP backend.

Node.js + MongoDB
Integrate SurveyJS components with a Node.js server that uses a MongoDB database.

Regarding the appearance customization: survey creators can adjust the appearance of survey elements via the integrated Theme Editor. You can store user-created themes to your database and apply theme to specific surveys. For more information on how to save and load custom themes, please refer to the following help topic and demo:

I hope this information helps. Please take your time exploring SurveyJS online documentation and demos. If you have any additional questions or require further assistance, please feel free to contact us at any time.