Zwave school project

I’m in the process of designing a project for school, using a z-wave network for home security system and any other addons we want. I’m currently using Homeassistant as the base to our software to just get zwave devices connected. We want to create our own website so to speak however that receives or transmits data to homeassistant and then to our zwave devices. I’m trying to figure out the best method to do this however, I didn’t know if I should use python to update a MariaDB database to store the device status and change the device value when we send it from our website, or if anyone else has a better method of doing these things. I am a little lost on where to store the python scripts as well, I’m using Hassbian, and didn’t know if the scripts should be stored in the /homeassitant folder or the /homeassistant/.homeassistant folder.

I would use homeassistant as our base interface, but our professor wishes us to try and create our own interface. Does anyone have any tips or suggestions?

Home Assistant has an API: https://home-assistant.io/developers/rest_api/ I’m currently using it to control zwave devices from http POST requests, maybe start there?

HA also has a websocket API: https://home-assistant.io/developers/websocket_api/ which might be a better option as it will stream events rather than you having to poll the RESTful API for changes. So for example if you have a motion sensor as part of your security setup, when the sensor is triggered that event can be pushed to your website to display the current state of the device.

I knew about the API, never could find a guide page on it. Thank you for that I will definitely be looking into that more. I had no idea about the websocket API thats actually pretty cool and I will look into that more as well. Thank you very much guys for the info I really appreciate it!