查菜名
从菜谱查看每人份食材、制作步骤和营养信息,调整人数后同步缩放实际用量。
独立全栈 / AI 协作开发
面向个人与家庭的智能备餐与膳食规划平台。它把菜谱发现、按食材推荐、多天菜单、营养计算、采购清单和家庭协作串成完整闭环,让“今天吃什么”进一步变成按人数可执行的准备方案。
备餐的成本不只在做饭,还在决定菜品、估算人数用量、检查营养和整理采购。Meal4u 用统一的份量与营养口径连接这些步骤,让不同入口最终都能落到菜单和清单。
从菜谱查看每人份食材、制作步骤和营养信息,调整人数后同步缩放实际用量。
根据手头食材寻找可做菜品,展示匹配与缺失信息,并将结果加入待规划清单。
按人数、天数和餐次组织菜品,支持替换、移除、调整份数与营养模板提示。
同时输出跨菜谱总量和按菜拆分用量,让采购汇总与具体备餐都能直接执行。
计划可设为个人、家庭只读或家庭可编辑,成员权限与隐私资料授权分别控制。
通过公开邀请收集客人偏好和菜品投票,关闭收集后把结果带入正式规划流程。
产品用“待计划清单”统一承接菜谱列表、详情页和食材推荐中的临时选择,避免每个入口形成一套孤立状态。用户确认后进入多天规划,保存计划并生成采购清单。
食谱配方统一以每 1 人份记录,食材营养以每 100g 或 100ml 为基准。食材单位先换算到质量或体积基准,再汇总热量、蛋白质、碳水与脂肪;人数变化时,用量和营养沿同一条计算链缩放。
后端采用 FastAPI 模块化单体,将 HTTP 边界、业务规则、数据访问和后台任务分层。耗时工作不阻塞请求:API 创建持久化 Job 后交给 Celery,客户端轮询 PostgreSQL 中的任务状态,Redis 主要承担消息代理职责。
React H5、管理后台与 Astro 营销网站,分别服务用户闭环、内容运营和产品介绍。
API、Schema、Service 与 Repository 分层,集中处理认证、权限和领域规则。
保存用户、食材、食谱、计划、权限与 Job 状态,并通过 Alembic 管理迁移。
承接营养重算、AI 草稿、内容审核等耗时工作,并将结果写回持久化状态。
请求线程完成校验、写库和建 Job 后立即返回;任务状态可恢复、可查询,不依赖浏览器长连接等待。
食谱与食材关系以 PostgreSQL 为事实源,同时支持“食谱到食材”和“食材到候选食谱”两类查询。
账号认证可复用,但用户端与管理端分别校验角色;公开、个人和家庭数据按资源范围控制访问。
管理端维护食材、分类、标签与食谱,CSV 导入按白名单和 ID 更新,关系类数据保持更谨慎的变更策略。
技术栈 React 19 · TypeScript · Astro · FastAPI · Pydantic · SQLAlchemy · Alembic · PostgreSQL · Celery · Redis · Docker · Nginx
家庭空间将成员关系、资料授权和计划权限拆开管理。计划拥有者可以选择只读或可编辑范围,服务端校验实际家庭成员关系;身体数据等敏感资料只有显式授权后才向其他成员展示。
创建家庭、邀请成员、退出或移除成员等操作具有明确权限和状态变化。
保存时选择仅自己、家庭只读、家庭可编辑或公开只读,并可在之后调整。
昵称与偏好可按家庭场景展示,身高、体重和目标等资料需要单独授权。
AI 能力用于辅助创建食谱和内容处理,但模型输出始终被视为不可信输入。服务端要求结构化结果,通过 Schema 与领域规则校验后形成可编辑草稿,只有用户确认才进入正式数据;超时、失败和重试都通过 Job 状态管理。
用户可以创建食材和公开或私有食谱。公开传播内容进入更严格的审核范围,私密家庭内容保持弱干预;图片跟随所属内容治理,后台提供审核、媒体资产和敏感词等运营能力。
公开食材、公开食谱、公开邀请和分享计划进入治理范围,未通过前不扩大传播。
私有食谱、家庭内部计划、成员备注和客人私密回复不会默认进入人工审核队列。
公开计划使用不可猜测 Token;撤回后旧链接失效,再次公开时生成新的访问凭证。
自动化用于初筛、风险分级和审核提示,最终发布状态仍由明确规则和人工操作控制。
项目以产品规则和阶段规格控制复杂度。每一项能力先明确数据口径、可见性、失败处理和验收条件,再由 AI 协助检索影响范围、实现局部功能、补充测试和同步文档;产品取舍、系统设计、安全边界和最终验收由我负责。
先锁定份量、营养、家庭权限与公开范围,再让前后端围绕同一套业务语义实现。
用阶段计划、验收清单和生产反馈拆分工作,避免一次修改跨越过多业务边界。
数据库变更配合 Alembic、部署 Runbook 和生产冒烟清单,降低代码与数据版本错配风险。
发生规格与代码差异时回到实际 Schema、迁移和测试核验,不把 AI 输出直接视为事实。