1. 立项背景和目标
面向居家养老服务机构的运营管理 SaaS 平台。机构日常需处理数百位长者的助餐、助浴、助洁、助医陪诊、康复护理、精神慰藉等上门服务工单派发与回访,纸质流转效率低、易遗漏。本系统打通"档案→派单→执行→结算→分析"全链路,让运营人员从表格里解脱出来。
2. 核心功能模块
客户档案:长者基础档案、健康档案、亲属联系、慢病用药
服务工单:派单/抢单、扫码签到、服务评价、改派
健康监测:血压/血糖/心率/体温录入与异常告警
膳食管理:食谱库、营养分析、按慢病推荐
合同结算:服务合同、计费规则、月度结算
员工排班:服务人员/医生/评估师/志愿者四类角色、班次考勤
物资库存:护理物资出入库、盘点、临期预警
应急告警:SOS、跌倒、夜间离床超时
第三方对接:短信网关、智能硬件、医保接口
经营驾驶舱:营收趋势、人员产能、未结工单多维看板
3. 业务路径
下单 → 派单 → 服务执行(扫码签到)→ 回填(含照片/量表评分)→ 客户评价 → 自动结算 → 数据沉淀到经营分析。异常告警从触发到通知家属闭环 3 分钟内完成。
1. 整体架构与多端技术栈
单一事实源后端 + 三端共享 API 与权限模型:
后端:Python + FastAPI + SQLAlchemy + PostgreSQL + Redis,统一 JWT 鉴权 + RBAC,按业务域自动生成 48 个 CRUD 模块
Web 管理端:React + Vite + TypeScript,配置驱动表单/列表/详情,覆盖 167 个真实功能点
服务端 App:React Native + Expo,现场扫码签到、服务回填、告警推送
长者/家属端:微信小程序,远程查看健康档案与服务记录、一键呼叫
部署:Docker Compose + Nginx 多阶段构建镜像,服务器无需 Node 环境
2. 我负责的模块与接口适配
注册表驱动架构:48 个业务模块单点定义,CI 阶段自动生成三端配置(Web JSON / 小程序 CommonJS / App JSON),零逐模块 UI 代码
JWT + RBAC 鉴权:access token 短期 + refresh token 长期,按角色严格控制菜单与接口;CI 自动拦截越权与配置漂移
配置驱动通用组件:表单/列表/详情/编辑全通用,新增模块只改注册表一行
种子数据生成器:基于字段语义联动生成 1200+ 行可信演示数据(本地化姓名/石家庄街道/三甲医院),首启即非空、真实感
6 套 160 项自动化校验(pytest / 后端 E2E / Web 一致性 / 小程序 / RN / 部署),拦截静默 422/403 与配置漂移
3. 难点与解决方案
配置漂移:注册表变化三端必须同步,否则前端拿到不可解析 schema 直接 422。方案:CI 强制字段比对 + 三端菜单命中校验
空表演示:原种子只有 2 行数据,客户验收时看到空表格会认定"功能没做"。方案:字段联动生成 + 4 项 e2e 检查(趋势非零线、状态 ≥3 种、非空表)
类型 coercion:PostgreSQL 下 ?age=abc 直接 500。方案:router 层统一转换,无法转换的过滤参数静默忽略
演示趋势零线:原硬编码日期基准,跨月部署必空。方案:基准改 runtime + 近期幂次偏斜
现场扫码包体积:BarCodeScanner 包大。方案:扫码独立单页,依赖按需引入,便于后续替换