diff --git a/server/README.md b/server/README.md new file mode 100644 index 0000000..4da090c --- /dev/null +++ b/server/README.md @@ -0,0 +1,190 @@ +# KinEcho 服务端 + +基于 Flask + SQLite 的日程同步服务,支持家人端和老人端的护理计划管理。 + +## 功能特性 + +### 家人端 +- ✅ 创建护理计划/日程 +- ✅ 查看所有日程列表 +- ✅ 更新日程信息 +- ✅ 删除日程 +- ✅ 支持重复日程(每日、每周、每月) + +### 老人端 +- ✅ 查看今日日程 +- ✅ 获取即将到来的提醒 +- ✅ 标记提醒完成 +- ✅ 忽略提醒 + +## 技术栈 + +- **Python 3.8+** +- **Flask 3.0** - Web 框架 +- **SQLite** - 数据库 +- **Flask-CORS** - 跨域支持 + +## 快速开始 + +### 1. 安装依赖 + +```bash +cd server +pip install -r requirements.txt +``` + +### 2. 配置环境变量 + +```bash +cp .env.example .env +``` + +### 3. 启动服务 + +```bash +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