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.pyCourse 模型因 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