如何使用Claude构建后端?
13 分
传统的后端开发通常需要大量的编码、基础设施管理和显著的开发资源。然而,利用现代的后端即服务平台可以显著简化这个过程。 back4app通过提供一整套旨在加速工作流程的工具来简化这个过程。 这些工具之一是 back4app的模型上下文协议(mcp)服务器 , 它允许您仅使用自然语言从像claude这样的llm构建整个后端。 在本教程中,您将学习如何使用back4app mcp服务器通过claude构建个人开支跟踪器的后端和用户界面(ui),并将其部署在back4app容器上。 关键要点 您可以通过 此链接 查看本教程中构建的实时个人开支跟踪器。 了解如何使用claude提示和mcp服务器在几分钟内搭建后端。 查看云代码钩子的实际应用,它们如何确保仅限所有者的写入,并在没有额外基础设施的情况下保持每月摘要的准确性。 学习如何快速构建一个响应式前端,通过javascript sdk连接到您的parse api,所有这些都是由claude生成的。 探索使用back4app容器的一键部署,将您的github仓库推送到生产环境,零运营开销。 前提条件 要遵循本教程,您需要具备以下条件: 一个 back4app 账户。您可以 免费注册 如果您还没有账户。 在您的系统上安装 claude 桌面应用。 对后端开发概念有基本的了解。 项目概述:个人开支追踪器 您将构建一个开支追踪后端,claude 可以实时查询和更新。 您的费用跟踪器可以按类别记录您的费用,并提供每月和每年的消费习惯摘要。 该项目有4个数据模型: 用户 此表存储每个人的账户凭证和整体每月消费限额。字段包括电子邮件、密码、每月预算和时间戳。 费用: 此表存储每笔购买:日期、金额、类别指针和描述。 类别: 此表存储用户定义的标签以便对费用进行分组。字段包括id、用户id、名称和时间戳。 每月摘要: 此表缓存预聚合的总数,以便快速仪表板和预算检查。字段包括 用户id , 月份 , 总支出 , 和 时间戳 每次您记录一笔费用时,一个 beforesave 云代码触发器会查找(或创建)该月份的每月摘要,并增加其总数并从您的每月预算中扣除该金额。 这是一个实体关系图,帮助您可视化架构: 现在您对将要构建的内容有了大致的了解,在下一部分中,您将使用claude desktop设置back4app mcp服务器,并开始编写将创建本节中描述的应用程序的提示。 连接back4app和claude desktop 要将back4app mcp服务器连接到claude桌面,首先您需要一个back4app账户密钥。 要检索它,请登录到您的back4app账户,在您的用户仪表板上,点击导航栏上的下拉菜单并选择 账户密钥 。 在 账户密钥 页面上,为您的账户密钥命名,复制生成的密钥,并安全存储。 接下来,您需要修改claude桌面配置文件,以包含back4app mcp服务器。 默认情况下,claude桌面配置文件在您的系统上不存在。您可以通过导航到系统上的claude桌面设置,选择 开发者 选项,并点击 编辑配置 按钮来创建配置文件,或者您可以遵循 本指南 。 这将在(如果您还没有的话)创建一个配置文件: macos /library/application support/claude/claude desktop config json windows %appdata%\\\claude\\\claude desktop config json …并将在您的文件系统中显示该文件。 使用您选择的任何文本编辑器打开配置文件,并添加以下配置: { "mcpservers" { "back4app" { "command" "npx", "args" \[ " y", "@back4app/mcp server back4app\@latest", " account key", "\<account key>" ] } } } 将 \<account key> 替换为您的账户密钥,保存文件并重启claude桌面。如果您在windows机器上遵循本教程,请将命令键的值更改为npx cmd。 在这些配置到位后,您准备好开始使用back4app mcp服务器和claude桌面构建您的back4app后端。 使用claude desktop创建后端 要创建前面描述的项目的后端,您必须在back4app上创建一个新应用,并在该应用上创建适当的数据库表。 您可以使用claude桌面和一个提示来实现这一点。您的提示应指示claude创建一个名为“个人开支追踪器”的新应用,定义四个mongodb类( user、category、expense和monthlysummary),并包含所需字段、指针关系、默认值和访问控制,并嵌入cloud code钩子,以便在每次开支更改时更新月度摘要,阻止未经授权的写入,并防止用户的重复类别名称。 下面提供了一个实现此目的的示例提示: create a new back4app app named “personal expense tracker” class \\\\ user email string, required, unique passwordhash string, required monthlybudget number, required, default 0 (smallest currency unit) add a unique index on email class category user pointer<\\\\ user>, required (owner) name string, required acl public read, owner write add a compound unique index on {user, name} class expense user pointer<\\\\ user>, required category pointer\<category>, optional amount number, required currency string (length 3), required, default “usd” spentat date, required note string, optional isdeleted boolean, required, default false acl public read, owner write add indexes on {user, spentat} and {user, isdeleted} class monthlysummary user pointer<\\\\ user>, required month date, required (store the first day of the month) totalspent number, required acl public read, owner write add a unique index on {user, month} cloud code 1\ aftersave on expense if isdeleted is false, upsert the matching monthlysummary row (month = first day of spentat) and increment totalspent by amount if an expense is soft deleted (isdeleted toggled to true), decrement totalspent accordingly 2\ beforesave on expense reject writes when the authenticated user is not equal to user 3\ beforesave on category enforce the per user unique {user, name} combination create all classes, fields, indexes, clps, and cloud code hooks exactly as specified 当您发送提示时,您将收到一系列来自claude的弹出窗口,请求执行特定任务的权限,例如创建应用。 这些弹出窗口提供了审查和授权每个潜在不可逆操作的机会,例如创建新应用或添加类,确保在您明确同意之前,没有任何内容被部署、计费或暴露。 它们充当防止意外更改的保护措施,确保您对back4app资源保持控制。 接下来,通过给claude一系列提示来实现应用程序中的用户身份验证,指示它添加基于令牌的注册和登录云功能,移除对 user类的公共访问,保持category、expense和monthlysummary的公共读取但仅限所有者写入,并创建beforesave保护,以拒绝任何未经过身份验证的写入请求。以下是每个功能的示例提示列表: 注册 update the back4app application “personal expense tracker” to include a cloud code function called signupuser inputs email, password, monthlybudget (optional, default 0) if a user with the same email already exists, throw an error otherwise create the user record with those values and return the session token 此提示创建注册云代码。 登录 update the back4app application “personal expense tracker” to include a cloud code function called loginuser inputs email, password call parse user login with those credentials and return the session token on success 此提示为云代码创建相应的登录。 类级别权限: update class level permissions for the personal expense tracker \ keep public read but owner only write on category, expense, and monthlysummary 此提示确保只有category、expense和monthlysummary的所有者可以修改它。 执行这些提示结束了您所有的后端逻辑。在下一部分中,您将为您的后端生成前端。 生成前端 由于claude创建了您的back4app后端,它记住了架构和响应的样子。 利用这个上下文,您可以要求它创建一个与所创建应用的架构相匹配的用户界面。 下面提供了一个示例提示: generate a minimal frontend that matches the schema and implements all the functionality of the personal expense tracker on my back4app account and connect the frontend to the backend using the javascript parse sdk 您应该得到一个完整的用户界面。将提供的代码复制到像vs code这样的ide中,并将代码推送到github。 在下一部分中,您将把前端部署到back4app容器上。 在back4app容器上部署您的应用 back4app 容器允许您使用 dockerfile 和 github 存储库轻松部署您的应用程序。 要在 back4app 容器上部署您的应用程序,您需要首先在您的存储库中包含一个 dockerfile。您可以要求 claude 使用以下提示生成一个: generate a docker file for the ui of my personal expense tracker 或者您可以使用下面提供的 dockerfile: \# start from the official lightweight nginx alpine image from nginx\ alpine \# remove default content run rm rf /usr/share/nginx/html/ \# copy your static site (html, css, assets) into the container copy /src /usr/share/nginx/html/ \# expose port 80 expose 80 \# start nginx in the foreground cmd \["nginx", " g", "daemon off;"] 在添加 dockerfile 并将其推送到 github 后,导航到您的 back4app 应用程序仪表板,点击 仪表板 下拉菜单,选择 web 部署平台 选项。 在部署页面,点击“部署 web 应用”按钮,并给予 back4app 访问您想要部署的存储库的权限。 选择您希望部署的应用程序,填写部署详细信息,然后点击 部署 按钮。 点击按钮开始部署过程,完成后您将获得应用程序的实时 url。 您可以使用 此链接 查看本教程中构建的实时个人开支跟踪器。 结论 在本文中,您构建了一个使用 back4app mcp 服务器和 claude 跟踪开支的应用程序,然后使用 back4app 容器进行了部署。 这展示了 back4app 的完整工具套件,使您能够从构思到发布构建应用程序,且开销最小。 作为下一步,您可以通过添加诸如定期开支模板、csv 导入或预算超支的推送通知等功能来扩展项目。 所有这些增强功能自然融入同一 back4app 工作流程:使用 claude 定义新类或云函数,使用 beforesave 钩子进行安全保护,并通过 back4app 容器推出更新。 这种方法使您能够在不干扰用户或更改托管提供商的情况下改进您的应用程序。

