我从一开始就在开发应用程序。
我的申请要求是:
-
用于配置查看下载报告的webUI。报告类型包括:
一种。预定的预定报告会在后台定期运行,并向收件人发送电子邮件。电子邮件的内容应具有html格式的报告要点和完整的pdf附件报告。在这种情况下,用户还可以查看发送的最后n个计划报告。
b。用户使用报表过滤器定义的按需报表,用户可以将其制作为计划报表,也可以仅以pdf格式查看/下载
- Web UI将来应该会提供其他功能
现在,关于要求1,我正计划使用以下技术堆栈:
- 基于JS的前端:ReactJs
- 服务器端:基于SpringBoot的应用程序在专用容器中运行
- 服务器端的报告生成和电子邮件引擎:
- 我正计划使用webtemplate(html + css)格式化报告
- 用于生成报告图像(png)的Shell脚本。图像是从远程服务器导出的。这些导出的图像将被嵌入到需要的动态报告中。
- 使用Web模板,构建动态报告和处理电子邮件报告的Python脚本
因此,当应用程序启动时,SpringBoot服务器模块将启动ReportEgine。以后,如果用户配置new-report,则其定义将输入到ReportEngine。
现在我的问题是:
- 此分层堆栈(ReactJS + SpringBoot + Python + WebTemplates + ShellScript)是否可以有效地满足请求?或其他更好的方法效果很好?
- WebUI-ReactJS直接从服务器下载预建报告以查看和下载报告是一种好方法吗?
- 如果需要,我将来可以重用这些Web模板(在服务器端可用)吗?