ANGJustinl-zulip_dev #28

Merged
moyin merged 6 commits from ANGJustinl/whale-town-end:ANGJustinl-zulip_dev into main 2025-12-31 16:08:12 +08:00
Owner

🔀 合并请求:Zulip模块架构重构和项目文档优化

分支: ANGJustinl-zulip_devmain
类型: 功能重构 + 文档优化
状态: 准备合并
测试: 507个测试用例全部通过


📋 合并概述

本次合并完成了Zulip模块的业务功能模块化架构重构,并对项目文档进行了全面优化。这是一次重要的架构升级,为项目的长期可维护性和开发者体验奠定了坚实基础。

🎯 核心目标

  • 架构清晰化: 实现业务层与技术层的清晰分离
  • 文档完善化: 建立完整的项目文档体系
  • 开发体验优化: 提供清晰的开发指南和架构说明

🏗️ 主要改进内容

1. Zulip模块架构重构

🔄 重构前后对比

重构前的问题:

src/business/zulip/services/
├── zulip_client.service.ts          # ❌ 技术实现混在业务层
├── zulip_client_pool.service.ts     # ❌ 连接池管理混在业务层
├── config_manager.service.ts        # ❌ 配置管理混在业务层
├── api_key_security.service.ts      # ❌ 安全服务混在业务层
├── error_handler.service.ts         # ❌ 错误处理混在业务层
└── session_manager.service.ts       # ✅ 业务逻辑(正确位置)

重构后的架构:

# 🎯 业务逻辑层 - 专注游戏业务规则
src/business/zulip/
├── zulip.service.ts                 # 业务协调服务
├── zulip_websocket.gateway.ts       # WebSocket业务网关
├── services/
│   ├── session_manager.service.ts   # 会话业务逻辑
│   ├── message_filter.service.ts    # 消息过滤业务规则
│   ├── session_cleanup.service.ts   # 会话清理业务逻辑
│   └── zulip_event_processor.service.ts # 事件处理业务逻辑
└── README.md                        # 模块架构说明

# ⚙️ 核心技术服务层 - 技术基础设施
src/core/zulip/
├── zulip-core.module.ts             # 核心服务模块
├── interfaces/
│   ├── zulip-core.interfaces.ts     # 核心服务接口定义
│   └── zulip.interfaces.ts          # 通用接口定义
├── services/
│   ├── zulip_client.service.ts      # Zulip API封装
│   ├── zulip_client_pool.service.ts # 客户端连接池管理
│   ├── config_manager.service.ts    # 配置管理服务
│   ├── api_key_security.service.ts  # API密钥安全服务
│   ├── error_handler.service.ts     # 错误处理服务
│   ├── monitoring.service.ts        # 监控服务
│   └── stream_initializer.service.ts # 流初始化服务
├── config/
│   ├── index.ts                     # 配置导出
│   └── zulip.config.ts              # Zulip配置定义
└── types/
    └── zulip-js.d.ts                # TypeScript类型定义

🔧 技术实现亮点

  1. 依赖注入解耦

    // 业务层通过接口依赖核心服务
    constructor(
      @Inject('ZULIP_CLIENT_POOL_SERVICE')
      private readonly zulipClientPool: IZulipClientPoolService,
      @Inject('ZULIP_CONFIG_SERVICE')
      private readonly configManager: IZulipConfigService,
    ) {}
    
  2. 清晰的职责分离

    • 业务层: 只关注游戏相关的业务逻辑和规则
    • 核心层: 只处理技术实现和第三方API调用
  3. 模块化设计

    • 每个服务职责单一,便于测试和维护
    • 通过接口抽象实现松耦合
    • 支持独立的单元测试

2. 项目文档全面优化

📚 文档体系重构

优化前:

  • README.md: 基础项目介绍
  • docs/ARCHITECTURE.md: 简单架构图
  • 文档分散,缺乏系统性

优化后:

📚 完整的文档层次结构
├── 🏠 项目总览 (README.md)
│   ├── 🎯 项目简介和特性
│   ├── 🚀 快速开始指南
│   ├── 📁 文件结构总览 ⭐ 新增详细结构说明
│   ├── 🛠️ 技术栈说明
│   └── 📚 文档导航链接
│
├── 🏗️ 架构设计 (docs/ARCHITECTURE.md) ⭐ 完全重写
│   ├── 📊 整体架构图
│   ├── 📁 目录结构详解(800+行详细说明)
│   ├── 🏗️ 分层架构设计
│   ├── 🔄 双模式架构说明
│   ├── 📦 模块依赖关系
│   └── 🚀 扩展指南
│
├── 📖 文档中心 (docs/README.md)
│   ├── 📋 文档导航
│   ├── 🏗️ 文档结构说明
│   └── 📝 文档维护原则
│
└── 📝 文档维护 (docs/DOCUMENT_CLEANUP.md) ⭐ 新增
    ├── 📋 清理过程记录
    ├── 🎯 维护原则
    ├── 📈 改进效果
    └── 📅 清理记录

🎨 文档特色

  1. 总分结构设计

    • 先总览后详细,便于快速理解
    • 层次分明的信息组织
    • 图标化展示,视觉友好
  2. 开发者友好

    • 详细的文件结构说明
    • 实用的开发和扩展指南
    • 完整的架构设计文档
  3. 维护性强

    • 明确的文档维护原则
    • 清晰的更新策略
    • 完整的变更记录

📊 技术细节

🔧 架构设计原则

  1. 单一职责原则

    • 每个模块只负责一个特定的功能领域
    • 业务逻辑与技术实现完全分离
  2. 依赖注入

    • 使用NestJS的依赖注入系统
    • 接口抽象实现松耦合
    • 便于单元测试和Mock
  3. 分层架构

    • 表现层 → 业务层 → 服务层 → 数据层
    • 清晰的数据流向和职责划分

📦 模块依赖关系

ZulipModule (业务模块)
├── 依赖: ZulipCoreModule (核心服务)
├── 提供: 游戏业务逻辑服务
└── 导出: ZulipService, ZulipWebSocketGateway

ZulipCoreModule (核心模块)
├── 提供: 技术基础设施服务
├── 导出: 所有核心服务接口
└── 配置: 依赖注入Token映射

🧪 测试覆盖

  • 单元测试: 所有服务都有对应的测试文件
  • 集成测试: E2E测试覆盖完整业务流程
  • 测试结果: 507个测试用例全部通过

📈 改进效果

🎯 开发者体验提升

  1. 快速理解

    • 通过总分结构和详细文档快速掌握项目架构
    • 清晰的文件结构说明,新人上手更容易
  2. 准确信息

    • 文档与实际代码结构完全一致
    • 避免过时信息误导开发者
  3. 实用指导

    • 提供具体的开发和扩展指南
    • 详细的架构设计说明

🏗️ 代码质量提升

  1. 架构清晰

    • 业务层与技术层职责明确
    • 模块化设计便于理解和维护
  2. 易于测试

    • 依赖注入便于Mock和单元测试
    • 每个服务职责单一,测试覆盖完整
  3. 可扩展性

    • 清晰的扩展指南支持功能迭代
    • 模块化设计便于添加新功能

📚 项目可持续性

  1. 知识传承

    • 完整的文档体系便于团队协作
    • 详细的架构说明支持知识传递
  2. 规范统一

    • 统一的架构原则和设计模式
    • 一致的文档风格和组织方式
  3. 维护友好

    • 明确的文档维护原则
    • 清晰的代码组织结构

🔄 Git提交记录

本次合并包含3个符合项目Git提交规范的提交:

1. docs:优化项目文档结构和架构说明 (5140bd1)

- 优化主README.md的文件结构总览,采用总分结构设计
- 大幅改进docs/ARCHITECTURE.md,详细说明业务功能模块化架构
- 新增docs/DOCUMENT_CLEANUP.md记录文档清理过程
- 更新docs/README.md添加新文档的导航链接

本次更新完善了项目文档体系,便于开发者快速理解项目架构

2. refactor:重构Zulip模块按业务功能模块化架构 (2d10131)

- 将技术实现服务从business层迁移到core层
- 创建src/core/zulip/核心服务模块,包含API客户端、连接池等技术服务
- 保留src/business/zulip/业务逻辑,专注游戏相关的业务规则
- 通过依赖注入实现业务层与核心层的解耦
- 更新模块导入关系,确保架构分层清晰

重构后的架构符合单一职责原则,提高了代码的可维护性和可测试性

3. chore:更新配置文件和项目文档 (faf93a3)

- 更新tsconfig.json配置以支持新的模块结构
- 添加REFACTORING_SUMMARY.md记录重构过程
- 更新git_commit_guide.md完善提交规范
- 添加相关图片资源

这些配置和文档更新支持项目架构重构后的正常运行

合并前检查清单

🧪 测试验证

  • 所有单元测试通过 (507/507)
  • 集成测试通过
  • E2E测试通过
  • 代码构建成功
  • 类型检查通过

📁 文件变更

  • 新增文件: src/core/zulip/ 完整模块
  • 新增文件: docs/DOCUMENT_CLEANUP.md
  • 新增文件: src/business/zulip/README.md
  • 重构文件: src/business/zulip/ 业务逻辑优化
  • 更新文件: docs/ARCHITECTURE.md 完全重写
  • 更新文件: README.md 结构优化
  • 配置文件: tsconfig.json, src/app.module.ts

🔧 架构一致性

  • 模块依赖关系正确
  • 依赖注入配置正确
  • 接口定义完整
  • 文档与代码一致

🚀 合并操作指南

方式一:直接合并(推荐)

# 1. 切换到主分支
git checkout main

# 2. 拉取最新代码
git pull origin main

# 3. 合并功能分支
git merge ANGJustinl-zulip_dev

# 4. 推送到远程
git push origin main

方式二:Squash合并(保持历史简洁)

# 1. 切换到主分支
git checkout main

# 2. 拉取最新代码
git pull origin main

# 3. Squash合并
git merge --squash ANGJustinl-zulip_dev

# 4. 提交合并
git commit -m "feat: 完成Zulip模块架构重构和项目文档优化

- 重构Zulip模块实现业务功能模块化架构
- 优化项目文档结构,采用总分设计
- 完善架构文档和开发者指南
- 所有测试通过,代码质量提升"

# 5. 推送到远程
git push origin main

合并后验证

# 运行测试确保功能正常
pnpm test

# 检查构建
pnpm run build

# 启动开发服务器验证
pnpm run dev

📝 合并后建议

🔄 团队同步

  1. 通知团队成员 架构变更和新的文档结构
  2. 分享架构文档 让团队了解新的开发规范
  3. 更新开发环境 确保所有人使用最新代码

📚 文档维护

  1. 定期更新 保持文档与代码同步
  2. 收集反馈 根据使用情况优化文档
  3. 持续改进 基于实际开发经验完善架构

🚀 后续开发

  1. 遵循架构原则 按照新的分层架构进行开发
  2. 使用扩展指南 参考文档中的扩展指南添加新功能
  3. 保持测试覆盖 确保新功能有完整的测试

🎉 总结

这次合并为项目带来了以下重要价值:

🏗️ 架构价值

  • 清晰的分层架构 - 业务逻辑与技术实现完全分离
  • 高内聚低耦合 - 模块化设计提高代码质量
  • 易于扩展 - 为后续功能开发奠定良好基础

📚 文档价值

  • 完整的文档体系 - 从快速开始到深度架构全覆盖
  • 开发者友好 - 总分结构便于快速理解和上手
  • 可持续维护 - 明确的维护原则和更新策略

🎯 团队价值

  • 知识传承 - 详细的架构文档支持团队协作
  • 开发效率 - 清晰的结构和指南提高开发速度
  • 代码质量 - 规范的架构设计保证代码质量

这次重构为Whale Town项目建立了坚实的架构基础,为后续的功能开发和团队协作提供了强有力的支持! 🐋


📅 创建时间: 2025年12月31日
👤 创建者: moyin
🔗 相关分支: ANGJustinl-zulip_dev
📋 状态: 准备合并

# 🔀 合并请求:Zulip模块架构重构和项目文档优化 > **分支**: `ANGJustinl-zulip_dev` → `main` > **类型**: 功能重构 + 文档优化 > **状态**: ✅ 准备合并 > **测试**: 507个测试用例全部通过 --- ## 📋 合并概述 本次合并完成了Zulip模块的业务功能模块化架构重构,并对项目文档进行了全面优化。这是一次重要的架构升级,为项目的长期可维护性和开发者体验奠定了坚实基础。 ### 🎯 核心目标 - **架构清晰化**: 实现业务层与技术层的清晰分离 - **文档完善化**: 建立完整的项目文档体系 - **开发体验优化**: 提供清晰的开发指南和架构说明 --- ## 🏗️ 主要改进内容 ### 1. Zulip模块架构重构 #### 🔄 重构前后对比 **重构前的问题**: ``` src/business/zulip/services/ ├── zulip_client.service.ts # ❌ 技术实现混在业务层 ├── zulip_client_pool.service.ts # ❌ 连接池管理混在业务层 ├── config_manager.service.ts # ❌ 配置管理混在业务层 ├── api_key_security.service.ts # ❌ 安全服务混在业务层 ├── error_handler.service.ts # ❌ 错误处理混在业务层 └── session_manager.service.ts # ✅ 业务逻辑(正确位置) ``` **重构后的架构**: ``` # 🎯 业务逻辑层 - 专注游戏业务规则 src/business/zulip/ ├── zulip.service.ts # 业务协调服务 ├── zulip_websocket.gateway.ts # WebSocket业务网关 ├── services/ │ ├── session_manager.service.ts # 会话业务逻辑 │ ├── message_filter.service.ts # 消息过滤业务规则 │ ├── session_cleanup.service.ts # 会话清理业务逻辑 │ └── zulip_event_processor.service.ts # 事件处理业务逻辑 └── README.md # 模块架构说明 # ⚙️ 核心技术服务层 - 技术基础设施 src/core/zulip/ ├── zulip-core.module.ts # 核心服务模块 ├── interfaces/ │ ├── zulip-core.interfaces.ts # 核心服务接口定义 │ └── zulip.interfaces.ts # 通用接口定义 ├── services/ │ ├── zulip_client.service.ts # Zulip API封装 │ ├── zulip_client_pool.service.ts # 客户端连接池管理 │ ├── config_manager.service.ts # 配置管理服务 │ ├── api_key_security.service.ts # API密钥安全服务 │ ├── error_handler.service.ts # 错误处理服务 │ ├── monitoring.service.ts # 监控服务 │ └── stream_initializer.service.ts # 流初始化服务 ├── config/ │ ├── index.ts # 配置导出 │ └── zulip.config.ts # Zulip配置定义 └── types/ └── zulip-js.d.ts # TypeScript类型定义 ``` #### 🔧 技术实现亮点 1. **依赖注入解耦** ```typescript // 业务层通过接口依赖核心服务 constructor( @Inject('ZULIP_CLIENT_POOL_SERVICE') private readonly zulipClientPool: IZulipClientPoolService, @Inject('ZULIP_CONFIG_SERVICE') private readonly configManager: IZulipConfigService, ) {} ``` 2. **清晰的职责分离** - **业务层**: 只关注游戏相关的业务逻辑和规则 - **核心层**: 只处理技术实现和第三方API调用 3. **模块化设计** - 每个服务职责单一,便于测试和维护 - 通过接口抽象实现松耦合 - 支持独立的单元测试 ### 2. 项目文档全面优化 #### 📚 文档体系重构 **优化前**: - README.md: 基础项目介绍 - docs/ARCHITECTURE.md: 简单架构图 - 文档分散,缺乏系统性 **优化后**: ``` 📚 完整的文档层次结构 ├── 🏠 项目总览 (README.md) │ ├── 🎯 项目简介和特性 │ ├── 🚀 快速开始指南 │ ├── 📁 文件结构总览 ⭐ 新增详细结构说明 │ ├── 🛠️ 技术栈说明 │ └── 📚 文档导航链接 │ ├── 🏗️ 架构设计 (docs/ARCHITECTURE.md) ⭐ 完全重写 │ ├── 📊 整体架构图 │ ├── 📁 目录结构详解(800+行详细说明) │ ├── 🏗️ 分层架构设计 │ ├── 🔄 双模式架构说明 │ ├── 📦 模块依赖关系 │ └── 🚀 扩展指南 │ ├── 📖 文档中心 (docs/README.md) │ ├── 📋 文档导航 │ ├── 🏗️ 文档结构说明 │ └── 📝 文档维护原则 │ └── 📝 文档维护 (docs/DOCUMENT_CLEANUP.md) ⭐ 新增 ├── 📋 清理过程记录 ├── 🎯 维护原则 ├── 📈 改进效果 └── 📅 清理记录 ``` #### 🎨 文档特色 1. **总分结构设计** - 先总览后详细,便于快速理解 - 层次分明的信息组织 - 图标化展示,视觉友好 2. **开发者友好** - 详细的文件结构说明 - 实用的开发和扩展指南 - 完整的架构设计文档 3. **维护性强** - 明确的文档维护原则 - 清晰的更新策略 - 完整的变更记录 --- ## 📊 技术细节 ### 🔧 架构设计原则 1. **单一职责原则** - 每个模块只负责一个特定的功能领域 - 业务逻辑与技术实现完全分离 2. **依赖注入** - 使用NestJS的依赖注入系统 - 接口抽象实现松耦合 - 便于单元测试和Mock 3. **分层架构** - 表现层 → 业务层 → 服务层 → 数据层 - 清晰的数据流向和职责划分 ### 📦 模块依赖关系 ``` ZulipModule (业务模块) ├── 依赖: ZulipCoreModule (核心服务) ├── 提供: 游戏业务逻辑服务 └── 导出: ZulipService, ZulipWebSocketGateway ZulipCoreModule (核心模块) ├── 提供: 技术基础设施服务 ├── 导出: 所有核心服务接口 └── 配置: 依赖注入Token映射 ``` ### 🧪 测试覆盖 - **单元测试**: 所有服务都有对应的测试文件 - **集成测试**: E2E测试覆盖完整业务流程 - **测试结果**: 507个测试用例全部通过 ✅ --- ## 📈 改进效果 ### 🎯 开发者体验提升 1. **快速理解** - 通过总分结构和详细文档快速掌握项目架构 - 清晰的文件结构说明,新人上手更容易 2. **准确信息** - 文档与实际代码结构完全一致 - 避免过时信息误导开发者 3. **实用指导** - 提供具体的开发和扩展指南 - 详细的架构设计说明 ### 🏗️ 代码质量提升 1. **架构清晰** - 业务层与技术层职责明确 - 模块化设计便于理解和维护 2. **易于测试** - 依赖注入便于Mock和单元测试 - 每个服务职责单一,测试覆盖完整 3. **可扩展性** - 清晰的扩展指南支持功能迭代 - 模块化设计便于添加新功能 ### 📚 项目可持续性 1. **知识传承** - 完整的文档体系便于团队协作 - 详细的架构说明支持知识传递 2. **规范统一** - 统一的架构原则和设计模式 - 一致的文档风格和组织方式 3. **维护友好** - 明确的文档维护原则 - 清晰的代码组织结构 --- ## 🔄 Git提交记录 本次合并包含3个符合项目Git提交规范的提交: ### 1. docs:优化项目文档结构和架构说明 (5140bd1) ``` - 优化主README.md的文件结构总览,采用总分结构设计 - 大幅改进docs/ARCHITECTURE.md,详细说明业务功能模块化架构 - 新增docs/DOCUMENT_CLEANUP.md记录文档清理过程 - 更新docs/README.md添加新文档的导航链接 本次更新完善了项目文档体系,便于开发者快速理解项目架构 ``` ### 2. refactor:重构Zulip模块按业务功能模块化架构 (2d10131) ``` - 将技术实现服务从business层迁移到core层 - 创建src/core/zulip/核心服务模块,包含API客户端、连接池等技术服务 - 保留src/business/zulip/业务逻辑,专注游戏相关的业务规则 - 通过依赖注入实现业务层与核心层的解耦 - 更新模块导入关系,确保架构分层清晰 重构后的架构符合单一职责原则,提高了代码的可维护性和可测试性 ``` ### 3. chore:更新配置文件和项目文档 (faf93a3) ``` - 更新tsconfig.json配置以支持新的模块结构 - 添加REFACTORING_SUMMARY.md记录重构过程 - 更新git_commit_guide.md完善提交规范 - 添加相关图片资源 这些配置和文档更新支持项目架构重构后的正常运行 ``` --- ## ✅ 合并前检查清单 ### 🧪 测试验证 - [x] 所有单元测试通过 (507/507) - [x] 集成测试通过 - [x] E2E测试通过 - [x] 代码构建成功 - [x] 类型检查通过 ### 📁 文件变更 - [x] 新增文件: `src/core/zulip/` 完整模块 - [x] 新增文件: `docs/DOCUMENT_CLEANUP.md` - [x] 新增文件: `src/business/zulip/README.md` - [x] 重构文件: `src/business/zulip/` 业务逻辑优化 - [x] 更新文件: `docs/ARCHITECTURE.md` 完全重写 - [x] 更新文件: `README.md` 结构优化 - [x] 配置文件: `tsconfig.json`, `src/app.module.ts` 等 ### 🔧 架构一致性 - [x] 模块依赖关系正确 - [x] 依赖注入配置正确 - [x] 接口定义完整 - [x] 文档与代码一致 --- ## 🚀 合并操作指南 ### 方式一:直接合并(推荐) ```bash # 1. 切换到主分支 git checkout main # 2. 拉取最新代码 git pull origin main # 3. 合并功能分支 git merge ANGJustinl-zulip_dev # 4. 推送到远程 git push origin main ``` ### 方式二:Squash合并(保持历史简洁) ```bash # 1. 切换到主分支 git checkout main # 2. 拉取最新代码 git pull origin main # 3. Squash合并 git merge --squash ANGJustinl-zulip_dev # 4. 提交合并 git commit -m "feat: 完成Zulip模块架构重构和项目文档优化 - 重构Zulip模块实现业务功能模块化架构 - 优化项目文档结构,采用总分设计 - 完善架构文档和开发者指南 - 所有测试通过,代码质量提升" # 5. 推送到远程 git push origin main ``` ### 合并后验证 ```bash # 运行测试确保功能正常 pnpm test # 检查构建 pnpm run build # 启动开发服务器验证 pnpm run dev ``` --- ## 📝 合并后建议 ### 🔄 团队同步 1. **通知团队成员** 架构变更和新的文档结构 2. **分享架构文档** 让团队了解新的开发规范 3. **更新开发环境** 确保所有人使用最新代码 ### 📚 文档维护 1. **定期更新** 保持文档与代码同步 2. **收集反馈** 根据使用情况优化文档 3. **持续改进** 基于实际开发经验完善架构 ### 🚀 后续开发 1. **遵循架构原则** 按照新的分层架构进行开发 2. **使用扩展指南** 参考文档中的扩展指南添加新功能 3. **保持测试覆盖** 确保新功能有完整的测试 --- ## 🎉 总结 这次合并为项目带来了以下重要价值: ### 🏗️ 架构价值 - **清晰的分层架构** - 业务逻辑与技术实现完全分离 - **高内聚低耦合** - 模块化设计提高代码质量 - **易于扩展** - 为后续功能开发奠定良好基础 ### 📚 文档价值 - **完整的文档体系** - 从快速开始到深度架构全覆盖 - **开发者友好** - 总分结构便于快速理解和上手 - **可持续维护** - 明确的维护原则和更新策略 ### 🎯 团队价值 - **知识传承** - 详细的架构文档支持团队协作 - **开发效率** - 清晰的结构和指南提高开发速度 - **代码质量** - 规范的架构设计保证代码质量 **这次重构为Whale Town项目建立了坚实的架构基础,为后续的功能开发和团队协作提供了强有力的支持!** 🐋✨ --- **📅 创建时间**: 2025年12月31日 **👤 创建者**: moyin **🔗 相关分支**: `ANGJustinl-zulip_dev` **📋 状态**: ✅ 准备合并
moyin added 6 commits 2025-12-31 16:07:59 +08:00
* **新增 Zulip 模块**:包含完整的集成服务,涵盖客户端池(client pool)、会话管理及事件处理。
* **新增 WebSocket 网关**:用于处理 Zulip 的实时事件监听与双向通信。
* **新增安全服务**:支持 API 密钥加密存储及凭据的安全管理。
* **新增配置管理服务**:支持配置热加载(hot-reload),实现动态配置更新。
* **新增错误处理与监控服务**:提升系统的可靠性与可观测性。
* **新增消息过滤服务**:用于内容校验及速率限制(流控)。
* **新增流初始化与会话清理服务**:优化资源管理与回收。
* **完善测试覆盖**:包含单元测试及端到端(e2e)集成测试。
* **完善详细文档**:包括 API 参考手册、配置指南及集成概述。
* **新增地图配置系统**:实现游戏地点与 Zulip Stream(频道)及 Topic(话题)的逻辑映射。
* **新增环境变量配置**:涵盖 Zulip 服务器地址、身份验证及监控相关设置。
* **更新 App 模块**:注册并启用新的 Zulip 集成模块。
* **更新 Redis 接口**:以支持增强型的会话管理功能。
* **实现 WebSocket 协议支持**:确保与 Zulip 之间的实时双向通信。
* main: (31 commits)
  docs:更新README中的测试说明
  chore:整理API测试脚本
  test:添加验证码冷却时间清除功能测试
  feat:集成验证码冷却时间自动清除机制
  feat:添加验证码冷却时间清除功能
  api:更新登录验证码接口Swagger注解
  docs:更新登录验证码邮件模板修复相关文档
  test:添加登录验证码邮件发送测试
  fix:修复登录验证码邮件模板错误
  feat: 邮箱冲突检测优化 v1.1.1
  docs: 更新API文档,反映HTTP状态码修复
  fix: 修复用户注册冲突错误的HTTP状态码问题
  chore: 升级版本到1.1.0
  feat(docs): 更新OpenAPI文档,添加验证码登录和完整接口定义
  fix(docs): 修正API文档中的错误码和验证码说明
  docs: 完善API文档,添加验证码登录功能说明
  fix:修复注册逻辑和HTTP状态码问题
  fix:修复API状态码和限流配置问题
  chore: 清理旧文件和更新项目配置
  refactor: 更新核心服务和应用配置
  ...
- Standardize author attribution across 27 files in the Zulip integration module
- Maintain consistent code documentation and authorship tracking
- 优化主README.md的文件结构总览,采用总分结构设计
- 大幅改进docs/ARCHITECTURE.md,详细说明业务功能模块化架构
- 新增docs/DOCUMENT_CLEANUP.md记录文档清理过程
- 更新docs/README.md添加新文档的导航链接

本次更新完善了项目文档体系,便于开发者快速理解项目架构
- 将技术实现服务从business层迁移到core层
- 创建src/core/zulip/核心服务模块,包含API客户端、连接池等技术服务
- 保留src/business/zulip/业务逻辑,专注游戏相关的业务规则
- 通过依赖注入实现业务层与核心层的解耦
- 更新模块导入关系,确保架构分层清晰

重构后的架构符合单一职责原则,提高了代码的可维护性和可测试性
- 更新tsconfig.json配置以支持新的模块结构
- 添加REFACTORING_SUMMARY.md记录重构过程
- 更新git_commit_guide.md完善提交规范
- 添加相关图片资源

这些配置和文档更新支持项目架构重构后的正常运行
moyin merged commit bbf3476d75 into main 2025-12-31 16:08:12 +08:00
moyin deleted branch ANGJustinl-zulip_dev 2025-12-31 16:08:12 +08:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: datawhale/whale-town-end#28