I'm using SCADA-like system that is easily cloned and upgraded already into 5 projects, with ESP8266 and ESP32 controllers, firmware is B4R based.
But the server side is PHP + MySQL (MariaDB) based, as tied to the cheapest and popular web-hostings, it's easy cloning and installable.
Functions that are needed (in addition to design solutions for all these kinds of information):
- some localization way, allowing user to choose the language at login
- DB structure based on the customer\location\objects that can be tied the sensors and actuator devices.
- users subsystem: storing password hash in a DB table with a salt (+ global salt string); account page to change the password, email, notification settings\options; the user roles (admin, manager, readonly at least); user rights (to the objects)
- grid web-framework allowing to show any DB table with the editable pagination, optional buttons for CRUD functions that are conditionally activated for user's role. Allowing to use several tables on a single web-page
- chart subsystem allowing to generate the graphic charts of any needed data in a code loop with SQL-requesting the selected fields based on the chosen time interval and limited chart points qty
- admin setting web-pages for the customers\locations\objects and sensors
- summary data page where the table shows GROUP BY based data of the system
- statistics chapter with various data web-pages
- users and admins alert subsystem about the sensor events, system errors...
- internal API for sensors sending data into the DB
- external API for exporting data into the external services by the requested time interval
- public system log, with important events
- the archive where the storing data should be moved to according to some conditions + the archived data viewer
- background periodical service running checking\analyzing... tasks and alerting the users
If it's possible to develop such server side in B4J - it would be good, for a VDS hosting, but note that development non-stop will need 3-4 years at least.