ai-edu-api / memory-bank /progress.md
geqintan's picture
update
5d3d013
# 进度 (progress.md)
## 已完成的工作
- **FastAPI 应用启动**: 成功运行 FastAPI 应用。
- **CORS 配置**: 解决了跨域请求问题。
- **用户注册接口**:
- 实现了 `/api/auth/register` 接口。
- 用户 ID 使用 UUID 生成。
- 用户名、密码和用户 ID 存储到 SQLite 数据库的 `users` 表。
- 处理了用户名重复的错误。
- 响应数据结构符合要求。
- **用户登录接口**:
- 实现了 `/api/auth/login` 接口。
- 验证用户名和密码。
- 登录成功返回用户 ID 和用户名。
- 登录失败返回自定义错误码和信息。
- 优化了错误捕获和日志输出。
- **类型提示兼容性修复**: 修复了 `app.py``Course` 模型因 Python 版本导致的类型提示错误。
- **课程表字段扩展**: 在 `courses` 表中增加了 `page_info` 字段(TEXT 类型,用于存储 JSON)。
- **课程接口功能增强**:
- `Course` Pydantic 模型已更新,包含 `page_info` 字段。
- `add_course` 接口现在支持 `page_info` 字段的 JSON 序列化存储。
- `get_course_details` 接口现在支持 `page_info` 字段的 JSON 反序列化。
- **文件系统**:
- **创建了 `upload/images` 目录。**
## 待完成的工作
- **安全性增强**:
- **密码哈希**: 实现用户密码的哈希存储,而不是明文存储。
- **会话管理/JWT**: 实现用户登录后的认证机制,确保后续请求的安全性。
- **更多业务接口**: 根据 AI-EDU H5 的具体需求,逐步添加其他 API 接口。
- **数据库抽象**: 考虑引入 ORM(如 SQLAlchemy)来更好地管理数据库操作。
## 已完成的工作
- **课程管理接口**:
- 实现了 `courses` 表的创建。
- 实现了 `/api/course/add` 接口,用于添加课程。
- 实现了 `/api/course/details/{course_id}` 接口,用于获取课程详情。
## 当前状态
- 基本的用户认证功能已实现并可运行。
- 数据库集成已完成。
- 接口响应格式已统一。
## 已知问题
- 密码明文存储,存在安全风险。
## 项目决策演变
- 从简单的 `{"Hello": "World!"}` 接口逐步扩展到完整的用户认证流程。
- 从模拟 `user_id` 到使用 `uuid` 确保唯一性。
- 从默认的 404 错误到自定义的业务错误响应。
- 从未处理 CORS 到添加 `CORSMiddleware`