交大門评课社区上线 网址 xjtu.app/course

tl;dr

点击:课程点评 - 交大門


【以下信息已过时】

请使用导航栏 链接评课社区 打开独立站点。

基于 USTC 评课社区 源码,汇集不同课程以及不同老师的教学班的信息。


交大門评课社区 上线,和主站的用户系统打通。

欢迎提出建议,进行评价,以及改进/审计 代码

网址:任意域名后加 /course(单复数都行)

基本信息

  1. 课程名录齐全,包含全校 所有 课程
  2. ~200 选修课有成绩分布、最高、最低、平均分信息
  3. 250+ 选修课有评价信息
  4. 300+ 选修课有考核方式、授课模式、课程内容简介、使用教材及参考书信息

特色功能:

在 USTC 评课社区源码的基础上做了些许修改:

Outdated info hided

→ 为什么多此一举非要点一下登录按键呢?
→ 因为我本来是想开发 Discourse 插件,将本站的一个类别打造成评课社区。无奈 Ruby+Ember.js 的技术栈没有基于 USTC 评课社区代码 Python+Flask+Plotly 开发效率高。至于后面是否要切换成 Discourse 插件的方式还需要斟酌。

  • 区间分数可视化,以及显示均分、最高分、最低分。
    → 当然,现在这个图表做得还是很粗糙的,后续需要改进配色、文字位置等等细节。欢迎 PR

  • (Idea) 使用 NLP 对现有评论数据进行情感分析和理解,以对“课程难度、作业多少、给分好坏、收获大小”等 目前空缺的指标进行定性。
    → 把 USTC 评课社区的数据爬下来,训练一个情感/语义分析模型

更新:

  • 完善课程的自身属性:课程编号、开课单位、任课教师、学分(学时)、选修课板块类别、课程简介。去除了一些无用评价。(Idea)可以和现有的“导师信息”有机地结合起来,增加任课教师到交大門导师信息的链接。

  • (Ongoing) 调 gpt-3.5-turbo-16k 接口 summarize 某个课程/教学班的评论,类似本站总结话题的功能。

  • 可按选修课板块筛选

  • 完善在线编辑课程信息的功能,类似 https://course.sjtu.plus/ (上交评课网站,基于 Django)。

(Technical)运行方法

git clone https://github.com/xjtumen/course-review
cd course-review
# 把 USTC 重命名为 USTC
for suffix in py html js
do
    list1="USTC 科大 中国科学技术大学"
    list2="XJTU 交大 西安交通大学"
    array1=($list1)
    array2=($list2)

    count=${#array1[@]}
    for i in `seq 1 $count`
    do
        echo replace all ${array1[$i-1]} to ${array2[$i-1]} in all suffix files
        find ./ -type f -name "*.$suffix" -exec sed -i "s/${array1[$i-1]}/${array2[$i-1]}/g" {} +
        
    done

done

# 按照 README.md 进行数据库(MariaDB)的初始化作业
$ mariadb -u root -p 
MariaDB [(none)]>  CREATE USER 'dbuser'@'localhost' identified by 'MyPassword';
MariaDB [(none)]>  CREATE DATABASE icourse;
MariaDB [(none)]>  GRANT ALL ON icourse.* to 'dbuser'@'localhost';
MariaDB [(none)]> \q
Bye

# 创建环境
python -m venv ./venv
pip install -r requirements.txt

# 按需修改 config/default.py 里面的变量如域名

# 按照数据源修改数据导入脚本:tests/import_courses_jd.py
python -m tests.import_courses_jd

# 启动服务:
gunicorn jcourse.wsgi --bind 0.0.0.0:8000 --workers=5   

# 配置反向代理,可参考 `tests/conf/nginx-config`

由于是 \beta 测试,有可能由于功能更新/bug 修复造成短暂的服务中断,需要多刷新,敬请谅解。评价数据都能得到保留。

域名暂定为 c.xjtu.app

已经完成使用子目录反代,形式为 xjtu.app/coursexjtu.app/courses


前情提要:

6 Likes

好耶,之前看到过几个类似的网站,PKU(courses.pinzhixiaoyuan.com),境外的一个 (www.ratemyprofessors.com),CULPA(culpa.info),可以供参考。

另外 PKU 那边貌似出过一些问题,网站是匿名搭建的,但后来团委想抄(建一个受自己管理的),所以尝试了用爬虫爬下所有数据直接 copy,导致网站进行了一些访问限制,这个可能需要提前做下准备

2 Likes

感谢建议,rate limit 必须要有,再来点其他的反爬手段

问问楼主不打算在表白墙和校园集市宣传宣传吗,好像现在用的人不多,课程信息也有限,是因为还在测试阶段吗

站长一己之力让你交网络设施超过无数高校,再建 lug,pt 站,iptv,ntp,dns,直播系统,wallessxjtu,代码托管,网络启动,ftp,聚合博客,wiki,freeshell 就是中国第一了

1 Like

可以看看 mit 的 IT 服务 https://ist.mit.edu/services

@えしりなか 强强 :herb:

不是我想不想的问题。

都 4 个多月了,现在是 \zeta 测试了我估计。

根据后台日志,不少人是只看不发。

2 Likes

小伙子,英文半角 , 后面记得加空格。另外,专业的人干专业的事,像是 git 服务搭建门槛很低(gitlab, gitea),如果有人宣称可以提供免费的代码托管服务我是不敢用的(除了 github,gitlab)。