菜单

概述

相关源文件

本文档介绍了 roadmap.sh 仓库,这是一个旨在为开发者提供交互式学习路径和技能可视化的平台。它概述了项目的目的、主要组成部分和核心系统架构,以帮助新贡献者和用户理解代码库的整体结构。

有关系统架构的详细信息,包括组件交互和数据流,请参阅系统架构

项目目的

Roadmap.sh 是一个由社区驱动的平台,为不同技术和角色的开发者提供交互式路线图、指南和教育资源。该平台旨在帮助开发者:

  • 通过结构化路线图规划职业发展路径
  • 跟踪跨技能和主题的学习进度
  • 与团队协作共享学习路径
  • 获取精选的最佳实践和指南
  • 利用人工智能生成定制化路线图和课程

来源:readme.md1-120 contributing.md1-20

核心系统架构

下图展示了 roadmap.sh 平台的高级架构:

来源:readme.md1-90 src/components/Roadmaps/RoadmapsPage.tsx1-50

关键组件

内容系统

内容系统是 roadmap.sh 的核心,包括:

  1. 路线图:按角色(例如,前端开发者)或技能(例如,JavaScript)组织的交互式可视化指南
  2. 最佳实践:精选的推荐方法集合
  3. 问题:用于知识评估的交互式问题集
  4. 指南:针对特定主题的深度文章

内容主要以 Markdown 和 JSON 格式编写,然后在构建时进行处理以生成交互式组件。

来源:src/components/Roadmaps/RoadmapsPage.tsx50-475 readme.md25-90

路线图类别

路线图分为以下主要类别:

类别描述示例
基于角色的针对特定职位的综合指南前端开发者、后端开发者、DevOps 工程师
基于技能的针对特定技术的专注路径JavaScript、Python、React、Docker
初学者针对新手的简化路线图前端初学者、后端初学者
最佳实践针对特定领域的推荐方法前端性能、API 安全

来源:src/components/Roadmaps/RoadmapsPage.tsx34-493 src/pages/get-started.astro45-100

进度跟踪系统

进度跟踪系统允许用户将主题标记为:

  • 已完成
  • 学习中
  • 已跳过

所有用户的进度都存储在本地存储中,并为已认证用户同步到后端,从而实现跨设备的持久进度和团队进度共享。

来源:src/components/Roadmaps/RoadmapsPage.tsx496-562

团队协作系统

团队协作系统支持:

  • 创建和管理团队
  • 邀请具有不同角色(管理员、经理、成员)的团队成员
  • 共享定制化路线图
  • 跟踪团队进度
  • 查看成员活动

团队可以使用默认路线图,也可以通过删除不相关的主题来创建定制化版本。

来源:src/components/Roadmaps/RoadmapsPage.tsx532-562

AI 生成内容

该平台包含人工智能驱动的功能,用于生成:

  • 基于用户查询的定制路线图
  • 个性化学习课程

这些功能对已认证用户开放,并根据账户类型设有使用限制。

来源:src/components/Roadmaps/RoadmapsPageHeader.tsx1-44

构建与部署

该平台采用静态网站生成方法,使用:

  • Astro 进行页面生成
  • React 组件用于交互元素
  • GitHub Actions 用于 CI/CD
  • 自定义构建脚本用于处理路线图内容

来源:.github/workflows/refresh-roadmap-content-json.yml1-52 .github/workflows/upgrade-dependencies.yml1-51

贡献 Roadmap.sh

Roadmap.sh 是一个开源项目,欢迎以下形式的贡献:

  • 向现有路线图添加内容
  • 创建新路线图
  • 建议对现有路线图进行更改
  • 报告错误和问题

项目遵循结构化的贡献流程,并提供内容格式和质量指南。

来源:contributing.md1-147 readme.md109-150

开发环境设置

在本地设置项目以进行开发:

git clone git@github.com:kamranahmedse/developer-roadmap.git
cd developer-roadmap
npm install
npm run dev

为了更快地克隆和更小的仓库大小

git clone --depth=1 https://github.com/kamranahmedse/developer-roadmap.git

来源:readme.md119-134 contributing.md128-142

许可

roadmap.sh 内容受版权保护,使用条款具体如下:

  • 允许个人使用
  • 再分发需要事先同意
  • 允许为贡献目的的 GitHub fork

该许可模式旨在防止滥用,同时鼓励合法的贡献。

来源:license1-20 readme.md152-154