我正在学习我想要/正在尝试制作的与篮球相关的数据即网络应用程序的全栈开发。鉴于我拥有的技术技能,我有一个与解决我的数据问题的最佳方法有关的问题。
几个月前,我使用 R 创建了以下 R Shiny App。这个应用程序的堆栈/非常不完整的后端是:
- 我使用 R Shiny 启动应用程序,托管在带有 Shiny Server 的 EC2 实例上
- 在 R 中,我有一个名为 scraper.R 的脚本,它每天(每天一次)从MySportsFeed(一个很棒的体育 API)查询数据,并将新的每日数据更新为我拥有的 8 个 CSV 文件中的 1 个。(我的 Shiny 应用程序中的每个图表都有不同的 CSV 文件)
- 然后,我的 R Shiny 应用程序将 CSV 读入 app.R 文件,该文件包含整个应用程序的所有代码。
为了扩展这个应用程序并让它变得更好,我一直在学习全栈 JavaScript 开发,并且我即将开始将这个 Shiny 应用程序编码为一个 React 应用程序。
我当前的挑战/考虑是我应该如何管理我的 React 应用程序中的数据。尤其是:
我的 scraper.R 文件使用dplyr和其他 R 库进行了大量的数据操作。从 MySportsFeed 的 API 提供的表单中获取数据,到我的 Shiny App 所需的表单,对于我所有的图形和图表,都是相当多的。
话虽如此,我想继续使用 R 来调用 MySportsFeed API 并格式化数据。我当然想取消 CSV 文件,但这并不容易。8 个 CSV 文件中的每一个都包含数百次调用 MySportsFeed API 的结果。(对 MySportsFeed 的每个 API 调用可能会给我 1 场 NBA 比赛数据,而 CSV 文件已经更新了 1000 场 NBA 比赛数据)。
我相信我想替换 (a) 从 CSV 文件读取数据到 R Shiny 应用程序中 (b) 使用托管的数据源调用我自己的 API 端点(我可以在 R 或 Javascript 中创建 API 端点,R 的管道工很适合这个)
我相信我想将 (a) 将数据存储在 CSV 文件中替换为 (b) 将数据存储在 mongo 数据库中,该数据库可以轻松插入 React 应用程序。
那么我的问题是:是否有一种直观的方法可以将以下内容连接在一起:
- 我的 R 代码(它调用 MySportsFeed API,获取新数据,并将该数据处理成图表格式)
- 一个 API(无论是 R 管道工 API 还是包含我所有数据的 javascript API)
- mongo 数据库(保存我所有历史上报废的数据)。
提前致谢。
编辑 - 几个月前,我在一个RShiny应用程序上发了一个帖子,我想把它变成一个 React 应用程序。