A few years ago there was a discussion here about using Node-RED as a CMS.
I think the more interesting question is slightly different: is Node-RED a good platform for building process-driven web applications?
I've been using it this way for some time now, including our company's public website and an intervention-management web application, both running in a DMZ.
I use my own flows for user management and application structure, with Liquid templates for rendering, while Node-RED handles business logic, databases, APIs and workflows.
As a real-world example, the intervention-management application currently gets:
Personally, I wouldn't use Node-RED as a traditional CMS. But for complex web applications where the complexity lies in business processes and integrations, I find its flow-based model particularly well suited.
I'm curious how many others are using Node-RED this way, and how far you've taken it.
It was actually one of the first things I created with Node-RED: it was called RedBack - Node-Red as Backend and lead to one of my favourite comments here at the forum:
So it has the potential to get misundertstood when using a web application to create another web application, even if you think it's amazing to create a visual web application with Node-RED.
EDIT:
I continued on and my blog on Node-RED is running NR with the content actually being the flows, i.e., articles are flows, there is no database backend to store content.
For some time, I had been looking for a system that would let me handle devices communicating over different protocols such as Modbus, store the data in a database and visualize it all in one place.
Node-RED has worked very well for me in this role. Dashboard 2 did not really fit my needs, so I started building my own frontend module based on React.
At this point I already have more than a dozen different tabs and applications running in production and their use cases are quite different. Some are only used to visualize data from MSSQL, while others are based almost entirely on direct communication with devices. They read parameters, change setpoints, set temperatures and control parts of the process.
What I also like is how flexible this approach is. Today I need one feature, next week someone asks for another one and then something else needs to be changed. I just open the React editor inside the flow, make the changes and click Deploy.
With a typical standalone React application and a separate backend there is usually more involved. You need to build the application, create a new Docker image, replace the image, restart the container and so on. Of course this can all be automated, but in my case Node-RED simply gives me a much faster development and deployment cycle.
That is why it works so well for this kind of application. I do not really see Node-RED as a traditional CMS. For me it is more of a platform for building process driven applications where a large part of the logic is related to devices, databases, communication and control, and where requirements can change very quickly.