tl;dr
点击:课程点评 - 交大門
【以下信息已过时】
请使用导航栏 链接 → 评课社区 打开独立站点。
基于 USTC 评课社区 源码,汇集不同课程以及不同老师的教学班的信息。
交大門评课社区 上线,和主站的用户系统打通。
欢迎提出建议,进行评价,以及改进/审计 代码。
网址:任意域名后加 /course
(单复数都行)
基本信息
- 课程名录齐全,包含全校 所有 课程
- ~200 选修课有成绩分布、最高、最低、平均分信息
- 250+ 选修课有评价信息
- 300+ 选修课有考核方式、授课模式、课程内容简介、使用教材及参考书信息
特色功能:
在 USTC 评课社区源码的基础上做了些许修改:
- 支持 OAuth,也即只要你在 xjtu.men 登录,进入评课社区后自动同步交大門登录身份。
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/course
或 xjtu.app/courses
。
前情提要: