如何搭建膳食计划应用:每周计划、购物清单与营养
膳食计划应用把“这周我们吃什么?”变成一份计划和一张购物清单。它的核心有三部分:你的菜谱、带有餐次格子的每周日历,以及根据计划自动生成的购物清单。其他功能,例如家庭共享、剩菜、储藏室管理、营养统计和 AI 建议,都是可选的,最好等基本流程在你自己的厨房里跑通之后再添加。
膳食计划需要什么
页面
- 周视图:七天,每天分早餐、午餐、晚餐、加餐,菜谱放入对应的格子中。这是主屏幕。
- 菜谱库:你的菜谱,可以搜索和打标签。
- 菜谱页面:食材、步骤、份量。
- 购物清单:根据本周计划生成,按货架分类,方便勾选。
- 设置:家庭人数、饮食偏好、每周开始的日期、计量单位。
数据
- 菜谱,其食材以独立的记录保存(数量、单位、名称)。我们关于如何搭建菜谱应用的指南解释了这种结构为什么很重要。
- 计划:所属家庭、每周开始日期。
- 计划条目:所属计划、日期、餐次、菜谱(或“外出就餐”之类的自由文本)、份量。
- 购物清单项目:所属家庭、食材、数量、单位、货架分类、是否已勾选、来源(来自计划或手动添加)。
- 储藏室物品(可选):你总是备有的东西,例如盐和油,不计入购物清单。
- 家庭与成员:谁可以共享这份计划。
权限
个人使用的计划只需要一个账户。如果是家人或室友共用,请创建一个家庭,由它拥有菜谱、计划和清单,成员通过邀请加入。家庭内的所有人都可以编辑,家庭之外的人看不到任何内容。
决策与权衡
固定餐次还是自由安排日期。 固定的早餐、午餐、晚餐格子容易搭建,也便于阅读。有些家庭只计划晚餐,应允许他们隐藏不需要的餐次。
购物清单要做得多智能。 要把“200 克洋葱”和“1 个洋葱”合并,就需要知道一个洋葱大约有多重——这会是个无底洞。好的第一版只合并单位相同的食材,其余的并列显示。这样做很诚实,而且仍然有用。
每项条目的份量。 如果你做的是四人份菜谱,但计划只给两人吃,购物清单就应该相应缩放。如果你为了吃剩菜而多做了一份,计划中应在另一天显示一个“剩菜”条目,但它不增加清单中的任何食材。
营养。 营养统计需要为每种食材提供营养数值。美国农业部的 FoodData Central 等公开数据库提供了这些数据,但要把自由输入的食材与数据库条目进行匹配需要大量工作,而且结果只是估算值。应把营养功能放在后期,并且绝不能将其当作饮食建议。
AI 膳食建议。 “帮我规划一周”是一个很自然的 AI 功能。但要保证安全:
- 只向模型发送家庭已有的菜谱,以及偏好(“不吃鱼,每周一个素食晚餐,工作日要做得快”)。
- 要求返回结构化的结果(每个餐次对应的菜谱 ID 列表),并用普通代码检查每个 ID 是否存在。
- 永远不要把过敏问题交给模型处理。在 AI 步骤之前和之后,都要用普通代码过滤掉含有已列出过敏原的菜谱。
- API 密钥保存在服务器上,并限制每位用户的调用频率。
参见如何为应用添加 AI 功能,了解具体的接入方式。
示例第一条提示词
为我的家庭搭建一个膳食计划网页应用,优先为手机设计。我们共用一个菜谱库:每个菜谱包含标题、照片、份量、标签、步骤,以及以独立记录保存的食材(数量、单位和名称)。主屏幕是一个周视图(从周一开始),每天有早餐、午餐和晚餐格子;我可以隐藏我们不用的餐次。我通过搜索把菜谱放入某个格子,可以设置该条目的份量,或添加“外出就餐”之类的自由文本。我可以把某顿饭标记为“多做一份”,这会在另一天生成一个剩菜条目,且不增加购物清单中的食材。购物清单根据本周计划生成:按份量缩放,合并相同单位的相同食材,跳过我标记为储藏室常备的食材,按货架分类,并允许我勾选条目,也可以手动添加额外的物品。家庭成员通过邀请链接加入,并共享所有内容。使用邮箱和密码登录,并使用数据库。预先填入十个示例菜谱。
搭建步骤
- 带示例菜谱的周视图。 让在手机上放置和移动菜谱的操作足够顺畅。
- 购物清单生成。 规划一周真实的饮食,然后将清单与你真正要买的东西进行对比。修正份量缩放和合并逻辑。
- 储藏室常备品。 标记你从来不需要购买的东西。
- 剩菜和外出就餐。 确保两者都不会向清单中添加食材。
- 家庭和登录。 邀请第二个账户,并在两个账户中都能编辑计划。参见如何为应用添加登录功能。
- 重复上一周的计划。 “复制上周”是一个很小但人们会经常使用的功能。
- 连续使用两周。 然后再决定是否值得添加营养统计或 AI 建议。
- 安装到手机上。 添加到主屏幕;参见如何搭建移动端友好的网页应用。
常见错误
- 把食材写成纯文本。 没有结构化的食材,就无法自动生成购物清单。
- 单位合并过度。 把“一把欧芹”猜成“30 克”会得出错误的清单。单位不同的食材应分开保存。
- 忽略份量。 不考虑计划份量的清单,会导致买多或买少。
- 让 AI 处理过敏问题。 过敏原必须每次都由普通代码过滤。
- 把营养数据说得过于精确。 应把总量标注为估算值,并注明来源。
- 没有离线清单。 购物时信号往往很差。至少要确保清单加载后可以正常阅读,并且不会丢失勾选状态。
- 第一周就规划太多功能。 一个能用的计划和清单,比十几个半成品功能更有价值。
何时选择现成的膳食计划应用更合适
许多膳食计划应用已经支持从网站导入菜谱、生成清单,并且在一些国家可以与生鲜配送服务同步。如果你只想以最少的精力规划自己的饮食,搭建之前不妨先试用几款。
当你的家庭有这些应用无法处理的规则,当你希望计划使用自己的菜谱库和结构,或者当你为特定群体构建应用时,就应该自己搭建——例如为客户规划餐食的备餐企业、分享食谱计划的营养师,或是养老院、运动队。这也是一个很有成就感的个人项目;更多想法参见可以用 AI 搭建的副业项目创意。
用 Mythex 搭建
Mythex 将膳食计划应用构建为网页应用:在聊天中描述你的计划,在实时预览的手机尺寸框架中试用周视图,然后发布到一个公开地址,让你的家人可以添加到主屏幕。当应用需要时,它会添加专用的 Postgres 数据库,并为菜谱照片提供文件存储。家庭登录采用自带方案:你选择认证方式,智能体负责接入。如需 AI 膳食建议,你需要自带 AI 服务商的 API 密钥,并将其保存为项目机密;为应用添加 AI 配方中有详细步骤。在 Pro 套餐中,Mythex 还可以将它封装为 Android 和 iPhone 应用,并提交到 Google Play 内部测试和 TestFlight。
常见问题
膳食计划应用需要哪些功能?
一个菜谱库、一个每周日历(可以把菜谱放入餐次格子中),以及根据本周计划生成的购物清单。家庭共享、剩菜、储藏室食材和营养统计是常见的附加功能。
AI 可以生成膳食计划吗?
可以。应用可以将你的菜谱、偏好和限制条件发送给语言模型,并请它安排一周的餐食。要求模型只能从你已有的菜谱中选择,用普通代码检查结果,并且永远不要指望它能确保不含过敏原。
膳食计划应用可以从哪里获取营养数据?
一些公开的食品成分数据库,例如美国农业部的 FoodData Central,提供每种食材的营养素数值。根据这些数据计算出的总量只是估计值,应清楚标注,不要把它当作医疗或饮食建议。
膳食计划应用适合作为第一个应用来开发吗?
适合。数据是大家熟悉的,你可以用自己每周的饮食来测试,而且它有一个令人满足的成果:购物清单会自动生成。先从菜谱、每周表格和清单开始,营养统计和 AI 功能可以之后再加。