一个基于 Vue.js 开发的 PaddlePaddle 社区年度总结网站,以星系探索的方式展现贡献者在2024年的开源贡献历程。在这个数字星系中,每个贡献者都是独特的星光,共同构建了 PaddlePaddle 的开源宇宙。
-
个人成就展示
- PR、Issue、代码评审数据统计
- 代码贡献量可视化
- 个性化贡献者标签
-
时间记录
- 最大代码提交记录
- 最快PR合入时间
- 凌晨提交记录
- 代码优化统计
-
贡献趋势
- 月度贡献趋势图表
- PR、Issue、合入数据对比
- 交互式数据展示
-
分享功能
- 生成个性化海报
- 支持社交媒体分享
- 多平台适配
- 前端框架:Vue 3
- 状态管理:Pinia
- 路由管理:Vue Router
- 图表库:ECharts
- 数据处理:PapaParse
- 样式设计:CSS3 动画
- 构建工具:Vite
- 包管理器:pnpm
- Node.js >= 16.0.0
- pnpm >= 8.0.0
- 现代浏览器(支持 ES6+ 特性)
- 安装 Node.js
# 使用 nvm 安装 Node.js(推荐)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
nvm install 18
nvm use 18
# 或直接从官网下载安装:https://nodejs.org/
- 安装 pnpm
# 使用 npm 安装 pnpm
npm install -g pnpm
# 或使用其他方式安装:https://pnpm.io/installation
- 克隆项目
git clone https://github.com/yourusername/paddle-annual-report.git
cd paddle-annual-report
- 安装依赖
pnpm install
- 启动开发服务器
pnpm dev
- 构建生产版本
pnpm build
- 预览生产版本
pnpm preview
paddle-annual-report/
├── public/ # 静态资源
│ ├── paddle-logo.png
│ └── data/ # CSV数据文件
├── src/
│ ├── components/ # 组件
│ ├── store/ # Pinia状态管理
│ ├── views/ # 页面视图
│ ├── router/ # 路由配置
│ └── App.vue # 根组件
├── index.html # 入口 HTML
├── package.json # 项目配置
├── pnpm-lock.yaml # pnpm 依赖锁定文件
└── vite.config.js # Vite 配置
项目使用三个 CSV 文件存储数据:
-
userpaddle_summary_2024.csv
: 用户年度总结数据- 包含用户的 PR、Issue、代码量等基础统计信息
- 用于生成个人成就和贡献者标签
-
userpaddle_timerecord_contributions_2024.csv
: 时间记录数据- 记录用户的代码提交、PR合入等时间节点
- 用于展示特殊时间成就
-
userpaddle_monthly_contributions_2024.csv
: 月度贡献数据- 按月统计用户的各类贡献数据
- 用于生成贡献趋势图表
- 代码规范
# 运行代码检查
pnpm lint
# 运行代码格式化
pnpm format
- 提交规范
# 示例
git commit -m "feat: add new feature"
git commit -m "fix: resolve issue #123"
- 分支管理
- main: 主分支,用于发布
- develop: 开发分支
- feature/*: 特性分支
- fix/*: 修复分支
- Fork 本仓库
- 创建特性分支 (
git checkout -b feature/AmazingFeature
) - 提交更改 (
git commit -m 'feat: add some AmazingFeature'
) - 推送到分支 (
git push origin feature/AmazingFeature
) - 提交 Pull Request
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情