Part of the issue is that home automation setups in Node-RED tend to get complex and rather specific to the originator over time. So they are hard to share.
If you want a simple setup with less admin, use Home Assistant or something similar. If you want fun, control, adaptability and flexibility and to learn how things work - then you are in the right place here
If you decide to join the fun, there are a few things to think about ...
How will you manage your sensor and controller devices and link them to locations around your house. The easy way to start is not to worry about it and jump straight in. Add some sensors and build a dashboard. And you may find that is all you ever need to do. But at some point you will probably reach the point where you no longer want to rejig flows every time you want to change a sensor or controller. At that point you will find yourself unpicking your spaghetti and disaggregating source sensors from target controllers and setting up small data structures for doing things like mapping your device ID's to real locations around the house.
I really would encourage you to set up a couple of sensors and maybe a couple of light switches so that you can have an initial play with things. Then start to think about how you want to manage the devices, what metadata you want to manage in relation to the devices. That is also the time to start thinking about historic data - do you want to track sensors and switches over time? If so, you will probably want to start learning about InfluxDB and Grafana.
Best advice I can give is to keep inputs and outputs on separate flows (disagreggated).
Capture inputs and normalise the data as far as possible so that inputs use common property names and value types and you add timestamps where the sensor doesn't provide them.
Feed those through to MQTT using a standard topic naming convention such as
DEVICES/<deviceid> and maybe a copy to InfluxDB where you want the historic data. You could also accumulate that data into a global variable as well for later use though I'd probably hold off on that until you actually need it. That is one distinct set of flows. You now have the data available for whatever processing you want to do.
Next set up flows to output data to controllers (switches, etc). But don't connect them directly to any input flows even if you intend to use a sensor (e.g. light or heat) to control the output later. Drive them from the MQTT topics or CRON+/Inject nodes instead. That will let you more easily add other processing later when you need to.
You should now be able to see how easy it will be to add more sensors and controllers with minimal effort - sometimes no effort at all.
You might at this stage, also want to build a generic flow to output to other alerting tools such as Telegram, email, SMS or whatever is convenient. That way you can pass whatever data you like using standard msgs, let the flow reformat the data to the required output format. Reusable.
Then you can add more complex control flows - such as building some alerting/alarm features by listening for certain sensor events and outputting to both your alerting tools and to a controller (e.g. lights or a sounder).
Then you can start to build other flows that get data from other sources such as weather or news. Now you can weave that into your output flows as needed or simply send to your dashboard for information.
Node-RED is so flexible and has so many options for inputs, outputs and processing that there really isn't one way of doing things. You have the joy of building something that both works for you specifically and gives you the enjoyment of the design and build not just the using.