As a starting point, you may want to look at https://github.com/jgraph/drawio , as it seems to cover much of what you intend. The usable site is https://app.diagrams.net/.
What other technology frameworks can be used?
The backend could be almost anything. Pretty ...