/github_freshman_helper

collect github good first issues and build analysis model to help github freshman to use github better

Primary LanguageTypeScript

github_freshman_helper

关于项目

我们利用 github openapi 收集了含有good first issue的issues,从三个维度共11个静态指标,试图研究哪些issues确实适合新手解决

你可以下载此pdf查看具体细节

技术选型

采用的技术框架为

前端 react + antd design

后端 nestjs

项目部署

前置工作

  • 安装python 3.x
  • 安装graphviz,需要dot命令环境
  • 安装node 16.x

启动项目

  1. 项目根目录下运行 npm install

  2. 项目运行需要一些配置信息,将项目根目录下的config.template.yaml文件补充完整,并重命名为config.yaml

    • project字段为项目运行的一些配置信息

      • server

        • url: server 服务启动地址

        • proxy: 项目中代理github page的代理地址

          location /proxy/githubIssue/ {
              proxy_pass https://github.com/;
              proxy_hide_header X-Frame-Options; 
              proxy_hide_header Content-Security-Policy;
            }
        • admin: 项目管理员账号名称

    • mysql字段为数据库配置信息

    • github字段为github相关的配置信息

      • tokens: 项目采用github openapi,此字段填写GitHub personal access token,填写越多,爬虫速度越快
    • qiniu字段为七牛云相关配置信息,项目采用七牛云作为资源托管平台,新人注册送10G免费空间

      • ak,sk: 七牛开发者aksk
      • bucket: 七牛云空间名
      • bucket_url: 七牛云空间加速域名
  3. 运行 npm run config

  4. 准备web,server,model运行环境

    • web
      • cd web
      • npm install
      • npm start
    • server
      • cd server
      • npm install
      • npm run dev
    • model
      • cd model
      • python -m pip install -r requirement.txt

展望

目前模型使用决策树进行分析,感兴趣的小伙伴可以使用其他算法,其他模型进行分析,在此项目基础上作拓展

效果预览

用户展示界面

show analysis

show gfi for freshman

管理员界面

show gfi issues

show datasets

show models

show abilities