thingsboard / thingsboard

Open-source IoT Platform - Device management, data collection, processing and visualization.
https://thingsboard.io
Apache License 2.0
15.92k stars 4.87k forks source link

Development Environment in Dashboards #10781

Open nicovon24 opened 2 weeks ago

nicovon24 commented 2 weeks ago

Hello, I am encountering an issue within my current company regarding the absence of a development environment in Thingsboard. Unlike my previous experiences in various courses and companies where I had the opportunity to work with development environments, Thingsboard lacks this crucial feature.

My current workflow involves creating both production and development dashboards. However, this approach is inefficient and prone to errors. I find myself having to manually transfer changes from the development to the production environment, often resulting in oversights or missed updates in the process.

This inefficiency was recently highlighted when presenting the application developed with Thingsboard to a respected tester. He expressed dissatisfaction with our approach, particularly our use of client dashboards in the production environment.

Given that popular platforms like GitHub and many open-source projects provide development environments, I strongly believe that Thingsboard should offer a similar feature. Such an environment would greatly streamline our workflow, ensuring smoother transitions from development to production and less errors with our clients.

In addition to that, it would also provide a more modern software development environment and more people would be interessed in the platform, we have more than 700 devices and 20 really relevant dashboards and an error in production could cost my company a client, in a thing which could be detected in development and testing side

Thanks!

devaskim commented 2 weeks ago

Hi @nicovon24 In general, I agree with you that it is very serious questions. However it is not clear at least for me what you want to get from the TB development environment. So maybe try to describe your ideas in details

nicovon24 commented 2 weeks ago

Hello! Currently the platform is not using Agile methologies for developers of the application, it is using "live development" which is when you work always in production. Which leaded us to many errors with clients. I suggest implementing a branching system similar to GitHub for dashboards, allowing for separate development and production versions. While I understand that this feature is currently only available for backup recovery in the platform using GitHub, having it directly in the dashboard and others like rule chains, this functionality would be beneficial. Thanks!