Files
2025-12-13 14:46:06 +08:00
..
2025-12-13 14:46:05 +08:00
2025-12-13 14:46:05 +08:00
2025-12-13 14:46:05 +08:00
2025-12-13 14:46:06 +08:00
2025-12-13 14:46:06 +08:00

KinEcho 服务端

基于 Flask + SQLite 的日程同步服务,支持家人端和老人端的护理计划管理。

功能特性

家人端

  • 创建护理计划/日程
  • 查看所有日程列表
  • 更新日程信息
  • 删除日程
  • 支持重复日程(每日、每周、每月)

老人端

  • 查看今日日程
  • 获取即将到来的提醒
  • 标记提醒完成
  • 忽略提醒

技术栈

  • Python 3.8+
  • Flask 3.0 - Web 框架
  • SQLite - 数据库
  • Flask-CORS - 跨域支持

快速开始

1. 安装依赖

cd server
pip install -r requirements.txt

2. 配置环境变量

cp .env.example .env

3. 启动服务

python app.py

服务将在 http://localhost:8000 启动。

API 文档

家人端 API

获取所有日程

GET /api/family/schedules?family_id=xxx

创建日程

POST /api/family/schedules
Content-Type: application/json

{
  "family_id": "family_001",
  "title": "早晨服药",
  "description": "服用降压药1片",
  "schedule_type": "medication",
  "schedule_time": "2025-11-18 08:00:00",
  "repeat_type": "daily",
  "created_by": 1
}

更新日程

PUT /api/family/schedules/{schedule_id}
Content-Type: application/json

{
  "title": "早晨服药(已更新)",
  "description": "服用降压药2片"
}

删除日程

DELETE /api/family/schedules/{schedule_id}

老人端 API

获取今日日程

GET /api/elderly/schedules/today?family_id=xxx

获取即将到来的日程

GET /api/elderly/schedules/upcoming?family_id=xxx&elderly_id=xxx

完成提醒

POST /api/elderly/reminders/{reminder_id}/complete

忽略提醒

POST /api/elderly/reminders/{reminder_id}/dismiss

用户管理 API

创建用户

POST /api/users
Content-Type: application/json

{
  "user_type": "elderly",
  "name": "张奶奶",
  "phone": "13800138000",
  "family_id": "family_001"
}

获取家庭成员

GET /api/users/{family_id}

数据库结构

users 表

  • 用户信息(家人和老人)
  • 通过 family_id 关联

schedules 表

  • 日程/护理计划
  • 支持重复类型once, daily, weekly, monthly

reminders 表

  • 提醒记录
  • 追踪提醒状态pending, completed, missed, dismissed

日程类型

  • medication - 用药
  • exercise - 运动
  • meal - 饮食
  • checkup - 检查
  • other - 其他

重复类型

  • once - 单次
  • daily - 每天
  • weekly - 每周(需指定 repeat_days
  • monthly - 每月

开发说明

目录结构

server/
├── app.py              # 主应用
├── requirements.txt    # 依赖
├── .env               # 环境配置
├── kinecho.db         # SQLite 数据库(自动生成)
└── README.md          # 文档

健康检查

GET /api/health

返回服务状态和当前时间。

部署建议

  1. 生产环境建议使用 Gunicorn 作为 WSGI 服务器
  2. 使用 Nginx 作为反向代理
  3. 定期备份 SQLite 数据库
  4. 建议升级到 PostgreSQL/MySQL 以支持更大规模应用

License

MIT