Writing schild.report I had to find a solution for printing PDF from some sort of template.
I chose to use quasar framework as the app's foundation and decided to use its simple electron feature so that the app works natively on any desktop.
Data comes in via a simple DB api that fetches data which makes it available to Svelte templates which are similar to vue templates. The difference is that Svelte templates are built while vue is evaluated at runtime. Besides that the syntax for svelte is slightly easier in my opinion. But that was just a matter of taste.
Since the app uses electron it makes webviews
available which let you run external web pages inside your app. These webpages can be anything from remote sites to local files. Here webview
is used to display the rendered template, i.e. reports. Data is fed into the reports and rendered as complete documents.