Currently, the architecture I am looking at is that the smart contract (SC) sits on the ethereum network, but it is a complex and multilevel contract system. Just navigating through the tiers of the smart contract platform is a lot of effort and I am considering making a node.js backend service that implements web3 to make the multi-level SC calls and return my needed data in a JSON RESTful response.
This was meant to reduce the amount of craziness that the frontend (vue.js) would have to handle in order to serve up the UI the data it needs.
Although, the blockchain has all the events created and I can use web3 to search back and populate the UI that way, but then I would also need to navigate through multi-level SCs to get the data I need.
Would it make more sense to have a fat Frontend UI that does event parsing and platform navigation, or to have a nodeJS backend that is opensource acting as a blockchain reader that handles that for me and then serves up everything in a pretty JSON for the UI?