交大門评课社区がオンラインで開始 URL xjtu.app/course

tl;dr

Click: 课程点评 - Tomb


【The following information is outdated】

Please use the navigation bar LinkCourse Review Community to open the standalone site.

Based on the source code of the USTC Course Review Community, it aggregates information about different courses and different teachers’ class sections.


XJTU Gate Course Review Community is live and integrated with the main site’s user system.

We welcome suggestions, reviews, and improvements/audits of the code.

URL: add /course (singular or plural) to any domain name

Basic Information

  1. Complete course catalog, covering all courses of the university
  2. ~200 elective courses have grade distribution, highest, lowest, and average scores information
  3. 250+ elective courses have review information
  4. 300+ elective courses have assessment methods, teaching modes, course summaries, and textbook/reference book information

Featured Features:

A few modifications were made on top of the USTC Course Review Community source code:

Outdated info hidden

→ Why bother clicking the login button?
→ Because I originally wanted to develop a Discourse plugin to turn a category on this site into a review community. Unfortunately, the Ruby + Ember.js stack is less efficient than the Python + Flask + Plotly stack used by the USTC code. Whether to switch to a Discourse‑plugin approach later still needs consideration.

  • Interval score visualization, showing average, highest, and lowest scores.
    → Of course, the current chart is still quite rough; future improvements will address colors, text placement, and other details. Contributions via PR are welcome.

  • (Idea) Use NLP to perform sentiment analysis on existing comments, qualitatively assessing currently missing metrics such as “course difficulty, amount of homework, grading generosity, learning outcomes,” etc.
    → Crawl the USTC review data and train a sentiment/semantic analysis model.

Updates:

  • Enrich each course’s attributes: course code, offering department, instructor, credits (hours), elective category, and course description. Remove some irrelevant reviews. (Idea) Integrate with existing “mentor information” to link instructors to XJTU Gate mentor profiles.

  • (Ongoing) Use the gpt-3.5-turbo-16k API to summarize comments for a specific course/class, similar to the site’s topic‑summarizing feature.

  • Filter by elective category.

  • Improve the online editing of course information, similar to https://course.sjtu.plus/ (SJTU review site, based on Django).

(Technical) Installation Steps

git clone https://github.com/xjtumen/course-review
cd course-review
# Rename USTC references to XJTU
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

# Initialize the database (MariaDB) according to README.md
$ 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

# Create virtual environment
python -m venv ./venv
pip install -r requirements.txt

# Modify variables in config/default.py as needed (e.g., domain name)

# Adjust data import script according to data source: tests/import_courses_jd.py
python -m tests.import_courses_jd

# Start the service:
gunicorn jcourse.wsgi --bind 0.0.0.0:8000 --workers=5   

# Configure reverse proxy; see `tests/conf/nginx-config` for reference

Because this is a \\beta test, brief service interruptions may occur due to feature updates/bug fixes; please refresh multiple times. All review data will be retained.

The provisional domain is c.xjtu.app.

Subdirectory reverse proxy has been set up, accessible as xjtu.app/course or xjtu.app/courses.


Background:

「いいね!」 6

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

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

「いいね!」 2

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

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

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

「いいね!」 1

可以看看 mit 的 IT 服务 Our Services | Information Systems & Technology

@えしりなか 强强 :herb:

不是我想不想的问题。

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

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

「いいね!」 2

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