项目实训开发日志(二)

# BabyMind 项目营养模块第二周周报

本周团队整体推进前后端骨架搭建和宝宝档案链路打通。我则在已有后端底座之上,完成营养模块的数据模型与阶段规则引擎设计,使营养推荐不再停留在需求文档层面,而是具备了可落地的代码结构。经过本周开发,营养模块已具备按月龄自动匹配喂养阶段、维护推荐食材列表的基础能力。

一、本周完成内容

1. 完成营养档案数据模型,定义位于 `backend/models/nutrition_profile.py`。表名 `nutrition_profiles`,通过 `(user_id, baby_id)` 联合唯一约束与宝宝档案关联,字段包括 `feeding_stage`、`allergens`、`avoided_foods`、`preferred_foods`、`dietary_notes`。

2. 在 `backend/services/nutrition_service.py` 中实现 `STAGE_RULES` 阶段规则引擎,共 5 个阶段,每阶段维护 `recommended`、`caution`、`avoid` 三类食材列表以及早/午/晚/加餐模板。每阶段推荐食材 10–12 种,覆盖 0 月龄至 24 月以上。

3. 实现月龄→阶段自动映射函数 `_get_stage_rule_by_age`,用户未手动指定 `feeding_stage` 时,系统根据宝宝出生日期推断当前阶段。

4. 设计过敏原过滤机制 `_restricted_terms`,合并三个来源:宝宝档案 `food_allergies`、营养档案 `allergens`、家庭忌口 `avoided_foods`。被过滤项写入 `filtered_reasons` 供前端展示。

5. 在 `tests/test_nutrition.py` 中编写首批 4 组用例:默认推荐、过敏原过滤、健康记录联动、用户隔离。

二、核心文件

- 数据模型:`backend/models/nutrition_profile.py`

- 业务逻辑:`backend/services/nutrition_service.py`

- 请求结构:`backend/schemas/nutrition.py`

- 测试:`tests/test_nutrition.py`

三、下周计划

1. 实现 `build_nutrition_recommendations` 及 `GET /api/v1/nutrition/{baby_id}/recommendations` 接口。

2. 接入健康记录 `affects_diet` 联动与疫苗接种期饮食提示。

3. 整理 `data/knowledge_base/nutrition/` 资料,配合 RAG 知识库建设。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值