Skip to content

LearningOS/2023S-OS-uCore-Classroom-Rank-list

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

介绍

该项目可用于快速部署一个 classroom 排行榜网站

trigger web

其是根据 Github Classroom 里同学们的提交记录,结合 github pages 来生成一个排行网站,可以查看当前每一个作业的完成情况,搜索到自己和其他学生的排名,方便大家更快的了解到课堂的整体进度,提高同学们的参与度,督促自己的成长和进步。

shortcut

如何快速部署

1. Fork 项目

注意在 fork 时,需要将下面的 Owner 设置为 classroom 所在的组织下。

fork

2. 添加环境变量

由于 action 在部署执行过程中会获取作业的最新数据,而更新的方式需要调用 Github APIclassroom 的相关接口,因此需要配置以下两个变量获取访问接口的权限。

2.1 设置 AUTH_TOKEN

a. 首先获取组织中任意 Owner 成员的 Personal access tokens (详细参考)

pat

b. 回到项目 setting 中, 把上一步获取的 Personal access tokens 配置给 action 的环境变量 AUTH_TOKEN

pat

2.2 设置 SESSION_TOKEN

该变量的值是取登录到 classroom.github.com 网站中的 cookie._github_classroom_session 字段

pat

3 打开 workflow 开关

因为项目的 action 中有一个执行定时任务的 workflow, 需要手动开启。 该任务每小时会刷新一次排行榜数据。

fork

为什么需要手动打开 workflow

4. 配置 gh-pages

项目的 setting 中进行 pages 设置

fork

5. 修改配置

在 spider 文件夹下 src/config/index.ts 的相关配置

export const organiztion: string = 'os-autograding';            // 组织
export const fullOrganization: string = '113154735-os-autograding-classroom-a857a2'; // classroom名称
export const assignment = 'oskernel';   // assignment
export const works = ['default', 'main']; // assignment 的不同情况 对应latest.json中的

eg: fullOrganization 要进入 github classroom 后从url 获取

完整的 classroom 名称

config

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 74.2%
  • Less 23.1%
  • HTML 1.7%
  • Other 1.0%