what I'm trying to understand is if jsreport can be used to create dashboards and report for an application backed by a database..
yes, this is the normal flow. jsreport only cares about the data, not about the details, or handling something fancy like automatic datasource, you can extract the data from anywhere, using your own custom backend (and send it through http) or using the power of scripts and node.js. we don't have any built-in logic to extract data automatically, and this is a key design decision of jsreport, because we think this is usually part of your business, and it will depend of the kind of tech you use and the constraints you have, so it is something that we think it is better handled by yourself rather than a "smart" tool.
so, yes, you are in the right path, you just need to decide how to feed jsreport according to your needs.