Minghsin University of Science and Technology
Uedu Main Site
Explore Uedu
Student Console
Register as Member/Login
Research Informed Consent Center
Survey Center
Teacher Console
Course Setup
Support & Messages
Uptime Data

UeduGPTs

--

Jupyters

6

Local AI

--

Uedu Code

--

AI Reply Desktop Notifications

Show a desktop notification when the AI TA finishes replying

Chat Message Notifications

Notify me when classmates post messages in the forum

Sound notification

Play an alert sound whenever there is a new notification

METHODOLOGY

University Edition
University-Scoped Community Board

A university-based student community discussion board independent of any single course. It uses a dual anonymous mode, display-name snapshots, edit history and moderator review mechanisms, balancing students' freedom of expression with accountability in the academic community.

1. Design philosophy

Taiwanese Students have anonymous community cultures such as Dcard and PTT beauty boards, but these platforms lack academic context: in an anonymous post saying "Looking for a linear algebra teacher", the replies may come from passers-by, cram-school operators, or even AI spam. In the Uedu campus version, all participants must be teachers and Students certified by that university, which preserves the safety of anonymous posting while also ensuring the relevance of the conversation.

Difference from Dcard / PTT

Identity verification: participants on the Uedu campus version are already bound to their school identity through course enrolment records, so they need not publicly disclose their student ID to ensure they are from the same school.Academic first: moderators are appointed by Uedu system administrators, usually TAs or department office staff, and their review standard is academic ethics rather than purely online rules.Data governance: all posting and reaction data may be imported into the Educational Data Lake as research material for the Sociomics dimension.

2. System architecture

Primarily implemented in app_school_forum.py, including two sets of blueprints for the UI and API. The data model is centralised in sql/school_forum.sql and several incremental migration files.

Access control

  • The user must have at least one course enrolment record at that university (determined via the classroomgpt.school field)
  • System administrators can access all school edition data for cross-school trend observation
  • When the website is displayed at {subdomain}.uedu.tw (for example ntu.uedu.tw), it is bound by default to the school version corresponding to that subdomain

Route Prefix

  • UI:/school-forum/<university_code>/
  • API:/api/school-forum/<university_code>/

3. Data model

The university edition has 10 core data tables:

Data tablePurpose
school_forum_profilesNickname settings for each person and each school, with stepwise rename cooldowns (first→1 day→7 days→30 days)
school_forum_boardsBoard categories (e.g. "General Discussion", "Course Selection Experience", "Department Board Announcements"), grouped by university
school_forum_threadsMain post, including the anonymous flag and author_display_name (snapshot)
school_forum_repliesTwo-layer comments (main post reply + sub-reply)
school_forum_likes16 emoji reaction records
school_forum_bookmarksFavourites
school_forum_reportsViolation report, status: pending → dismissed / hidden / deleted
school_forum_moderatorsModerator assigned, authorised by the system administrator
school_forum_citationsAudit log of the Instructor quoting school edition content in the Course Forum
school_forum_edit_historyArchived raw version before editing

Content length limit

FieldMaximum
Main post title200 characters
Main post content100 KB
Reply content50 KB
Attachment size10 MB

Anti-spam: the same person must wait 10 seconds between posts on the same board.

4. Dual anonymisation mode

The university edition allows users to choose named or anonymous posting each time, but both modes are implemented with safeguards designed to avoid common anonymity loopholes:

Named mode: display name snapshot

When posting, the user's current school_forum_profiles.display_name will be written into school_forum_threads.author_display_name in a snapshot format. Even if the user later changes their nickname, historical posts will still display the name used at the time.

Why take a snapshot

If the profile is joined in real time directly, any nickname change by the user will synchronously alter all historical posts, effectively creating 'traceable time travel', which is easy to abuse (for example, changing one’s name to avoid responsibility and then changing it back). The snapshot approach ensures that the attribution at the time of posting is permanently auditable.

Anonymous mode: fixed code within a thread

Anonymous posts in the same discussion thread are assigned a consistent anonymous code (e.g. “Anonymous 1”, “Anonymous 2”). Calculation method:

  1. List all anonymous user_id appearances in order within the thread (thread_id)
  2. The Nth anonymous person is labelled "Anonymous N"
  3. The same user_id is always the same code within the same thread, no matter how many times they post

This design lets readers determine whether "the palindrome is from the same person" versus "different people each replied", without building up enough cross-thread fingerprinting to de-anonymise anyone.

Nickname change cooldown

  • First setup: take effect immediately
  • First rename: the next rename must wait 1 day
  • 2nd rename: next rename must wait 7 days
  • From the 3rd rename onwards: each rename must wait 30 days

Purpose: prevent identity confusion caused by frequent renaming in a short period, while allowing beginners room to experiment and learn from mistakes.

5. Emoji reaction system

The university edition supports 16 emoji reactions, using the same vocabulary as the Uedu course forum. It uses a toggle mechanism, so the same user can only react or unreact with the same emoji on the same post.

CategoryEmojiCommon uses
Positiveheart, thumbsup, eyes, rocket, confetti, fire, lightbulb, thinking, checkConsent, delight, inspiration, being seen
Otherangry, question, zzz, smile, grin, joy, clownQuestioning, humour, scepticism
Why not like / dislike directly

A single like cannot express the difference between "this contribution is constructive" vs. "this is interesting" vs. "this is questionable". A refined emoji vocabulary allows community sentiment to be quantified for research (for example, "which topics tend to receive thinking vs. clown"). The school version does not use ranking by "total likes"; all emoji are recorded equally, and the front end chooses how to present them.

6. Edit history

Users can edit their own main text and replies, but all changes will be fully recorded:

  • Add is_edited flag to the main post / reply form; the UI shows an "Edited" badge
  • The original content before editing (title + markdown / HTML) is written to school_forum_edit_history, including the editor and timestamp
  • Ordinary users only see the 'Edited' label and cannot see the history content
  • Moderators can access the full edit history for reference during review (for example, to check whether content reported at the time has since been changed)
Research Ethics Perspective

The design of edit history balances individual correction rights (such as correcting typos and misprints) and community accountability (such as not being able to secretly alter inflammatory remarks). This is compatible with the GDPR 'right to rectification' and with the academic community's 'version traceability'.

7. Moderator review process

Report

Any authenticated user may report a single main post or reply, with reasons attached. Reports are written to school_forum_reports, with initial status pending.

Moderator action

The school's moderator (appointed by the system administrator and stored in school_forum_moderators) can retrieve the pending review list at /api/school-forum/<code>/reports?status=pending. There are three ways to handle it:

ActionEffect
dismissedMarked as a false report; no content changes will be made
hiddenSoft-delete; hidden from ordinary users, can be restored in the moderator backend
deletedHard delete, and synchronise the parent post's reply_count

All processing actions are written to handle_note for audit. Moderators are assigned as system administrators to perform the actions manually, ensuring that power is not abused.

Email Notifications

At present, the university edition sends confirmation email only for profile creation / renaming (sent asynchronously via email_queue, with a netiquette reminder included). Other actions (handling reports, reply notifications) are not included in email to avoid excessive disruption.

8. Differences from the Course Forum

OrientationUniversity Edition (School Forum)Course Forum
ScopeAll students and instructors across the universitySingle Course
AnonymousSupports (dual mode)Not supported (mandatory naming)
Membership TypeSchool affiliation is sufficientClass enrolment identity
RatingDoes not count towards gradesMay count towards the grade (via the forum_scoring methodology)
BERT quality evaluationDo not useUse
Instructor review emojiN/AViewed (eyes = viewed)
Report reviewModerator (school level)Instructor and TA (class level)
Why not share the same methodology

The “Grading” and “BERT Quality Evaluation” functions in the course forum assume a teacher–student relationship: instructors have the right to give academic evaluation of Student contributions. The campus version is a peer community; introducing grading would distort motivation to post and stifle anonymous culture. The two require different incentive and governance designs.

9. Research applications

The university edition provides valuable material for the Sociomics dimension within the Uedu Educational Omics framework:

  • Campus issue hot-spot analysis: compares discussion topic distributions across different periods between universities
  • Anonymised vs named speech differences: compare lexical features, cognitive levels and emotion distributions under the two modes within the same university
  • Emoji reaction mode: the combinations of emoji received for different topics reflect the community's collective attitude towards that topic
  • Editing behaviour research: which content is easy to revise later? How much semantic drift occurs after revision?
  • Moderator review load and decision consistency: Differences in how moderators at different universities handle the same type of report
Privacy and research ethics

All public research must: (1) be de-identified (not disclose personal user_id); (2) keep anonymous speech anonymous, without reverse-engineering the mapping between code names; (3) not quote verbatim content involving sensitive topics (mental health, discrimination allegations). Researchers must pass IRB review (NTU-REC 202507EM058 is a reference example) and obtain Uedu export consent forms.

Citation recommendations

When citing this system, please cite: "Uedu School Forum: a university-scoped community board with dual-mode anonymity and snapshot display names (https://uedu.tw)" and state the university, period and de-identification method of the data used.