【问题标题】:What method to use for storing data for a simple web app project?使用什么方法来存储简单的 Web 应用程序项目的数据?
【发布时间】:2020-07-06 19:18:21
【问题描述】:

我目前正在学习 javascript,我很想创建一个网络应用项目。

该网络应用程序的目的是为用户提供膳食计划数据库,他们可以根据单一食谱甚至成分(例如(土豆、汉堡包等))进行搜索

我首先想到将膳食计划存储为单个 pdf 文件,因为这样我编写它们会更容易,但我也想到了另一个可能对用户体验更好的选择,那就是制作适当的应用程序组件,例如作为列出的项目和下拉扩展组件。 我计划存储大量的膳食计划,因此我正在寻找一种相对简单的方法将数据放在应用程序上。

只是为了让您知道我的后端知识为零,这就是为什么我很困惑我应该使用哪种方法,这将是未来的证明。

如果你们指出我正确的方向并告诉我要做什么或学习什么来创建这个应用程序,我将不胜感激。

Web app ui/ux

【问题讨论】:

    标签: javascript database web-applications backend progressive-web-apps


    【解决方案1】:

    漂亮的设计。

    我强烈建议您使用真实的膳食数据库来确保数据的持久性。您使用什么堆栈(Node/Express、Python/Flask、PHP/Laravel)都不是我的问题,做适合您的工作,只需保留数据即可。

    您已经设计好 UI,接下来对数据进行建模。

    或者现在只在如下对象中使用假数据:

    {
        title: "3 meals 1 snack 2300 kcal",
        meals: [
            {
                meal: "meal 1",
                title: "Nandos chicken",
                ingredients: ["asdsad", "sdsds", "asdsadda"],
                instructions: "some instructions here like soo asdsa  asd",
                serving: 2,
                kcal: 452
            }
        ]
        
    },
    {
        title: "5 meals 1 snack 2300 kcal",
        meals: [
            {
                meal: "meal 1",
                title: "Nandos chicken",
                ingredients: ["asdsad", "sdsds", "asdsadda"],
                instructions: "some instructions here like soo asdsa  asd",
                serving: 2,
                kcal: 452
            }
        ]
        
    }
    

    【讨论】:

      【解决方案2】:

      后端选项似乎适合您。您可以在后端使用多种语言,例如 Python (FlaskDjango)、PHP (Laravel) 或 Node.js (Express)。我建议使用 Flask,因为它对我来说是最容易开始的。

      我建议为此使用Corey Schafer's tutorial on Flask。它教授了许多重要的 Flask 概念。

      除此之外,您还可以使用 SQL 数据库来存储您的用餐计划。然后,您可以自己实现一个搜索功能,或者使用Algolia等工具来实现它。

      【讨论】:

        【解决方案3】:

        您可能想要使用数据库,但如果 PDF 选项对您来说很有吸引力,我最近建立了一个搜索瑜伽 kriyas 的网站,该网站的功能与您的提议相似。可能会有一两个想法对您有所帮助。

        大部分 kriyas 都来自物理手册,所以我选择了可​​搜索的 PDF 作为文档格式。我将它们放在 AWS S3 上并使用 lambda 函数将 PDF 的签名 URL 返回到我的 Web 应用程序。这样我就可以处理更大的 PDF,而不必在 S3 上向公众公开整个数据集。

        为了进行搜索,我将从 PDF 中提取的文本放在 Algolia 上。这种架构消除了对数据库的需求。由于没有服务器,因此我托管它基本上也是免费的。我使用 PDF.js 在 Vue 应用中显示 PDF,并使用 Google 的 Firebase Auth 来保护客户端。

        在我的例子中,我使用了 S3,但还有其他云存储系统可以让您以非常低的成本存储像您这样的大型数据集。

        如果您选择此架构,以下几个链接可能会有所帮助:

        https://aws.amazon.com/s3/

        https://aws.amazon.com/lambda/

        https://www.algolia.com/

        https://vuejs.org/

        https://firebase.google.com/docs/auth/web/start

        【讨论】:

          猜你喜欢
          • 2012-05-30
          • 2013-11-19
          • 1970-01-01
          • 1970-01-01
          • 2017-06-16
          • 2013-02-19
          • 2011-12-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多