本文档介绍了 roadmap.sh 中的团队进度跟踪系统,该系统允许团队成员和管理员跟踪跨路线图的学习进度,并与队友共享进度。有关个人用户进度跟踪的信息,请参阅用户进度系统。
团队进度跟踪系统允许团队监控成员在不同资源(路线图、最佳实践和自定义路线图)上的学习历程。团队进度跟踪是一项核心功能,可实现
该系统集成了用户进度系统和路线图渲染组件,以提供协作式学习环境。
来源
团队进度跟踪系统依赖几个关键的数据结构来模拟团队成员、进度和活动。
来源
团队进度跟踪系统遵循特定的工作流,允许团队成员更新和查看其自身及其队友的进度。
来源
团队进度跟踪系统使用多个组件来可视化不同级别的进度
MemberProgressModal 是一个关键组件,用于显示成员在特定路线图上的进度。它渲染带有已完成、进行中和已跳过主题的视觉指示器的路线图 SVG。
当用户查看自己的进度时,他们可以从此模态框直接更新进度,使用
对于使用编辑器创建的自定义路线图,将使用功能类似的专用 `MemberCustomProgressModal`。
来源
TeamProgressPage 是团队进度可视化的主要入口点。它提供两种视图:
来源
团队进度跟踪系统通过多个 API 和辅助函数来管理进度数据。
该系统使用多个 API 端点来获取和更新进度数据
v1-get-team-progress/${teamId}:获取所有团队成员的进度v1-get-member-resource-progress/${teamId}/${memberId}:获取成员在特定资源上的进度v1-get-team-activity/${teamId}:获取团队活动流v1-update-team-resource-config/${teamId}:更新团队资源配置进度通过将 CSS 类应用于路线图 SVG 元素来可视化
done:已完成的主题learning:正在学习的主题skipped:已跳过的主题removed:已从路线图中移除的主题来源
当用户更新主题上的进度时,会发生以下序列
进度更新函数处理不同的状态类型
done:将主题标记为已完成learning:将主题标记为进行中skipped:将主题标记为已跳过pending:重置主题的状态来源
团队进度跟踪系统包含活动跟踪功能,用于显示团队成员的近期进度
活动按以下方式分组
这提供了一个团队进度的时间线视图,并鼓励协作和良性竞争。
来源
团队进度跟踪系统根据团队成员的角色实施权限控制
该系统遵守 `personalProgressOnly` 设置,启用该设置后,成员只能查看自己的进度。
来源
团队进度跟踪系统与仪表盘集成,以便快速访问团队进度。
此集成创造了一个统一的体验,让团队能够跟踪和管理学习进度。
来源
进度渲染系统采用以下方法:
wireframeJSONToSVG 或 renderFlowJSON (用于自定义路线图) 将 JSON 转换为 SVG。对于使用编辑器创建的自定义路线图,过程类似,但使用了来自 @roadmapsh/editor 的 ReadonlyEditor 组件。
来源
团队进度跟踪系统为团队提供了一个全面的解决方案,用于跟踪、可视化和管理各种资源的学习进度。该系统与用户进度系统、路线图渲染组件和团队管理功能紧密集成,以创造一个协作式学习环境。