-
Notifications
You must be signed in to change notification settings - Fork 1
Description
Problem
Currently, NTHUMods lacks a direct way for students in the same course to connect and communicate. Not every class has a dedicated chat room, making it difficult for students to collaborate, ask questions, or share resources. This gap hinders the platform’s goal of enhancing the student experience.
Proposed Solution
Since NTHUMods already tracks the courses students are taking, we can leverage this data to create course-specific chat rooms. Building a custom chat system from scratch is resource-intensive and impractical given the scope of the project. Instead, we propose integrating with Discord, a developer-friendly platform widely used by students, to extend NTHUMods’ functionality.
Implementation Plan
-
NTHUMods Discord Server Setup
- Create an official NTHUMods Discord server to host all course-related chats.
- Organize the server with categories named by semester (e.g., "Fall 2025", "Spring 2026").
-
Channel/Thread Structure
- Due to Discord’s 500-channel limit per server, we should use threads instead of individual channels for each course to maximize scalability.
- Structure:
- Category: Semester (e.g., "Fall 2025")
- Channel: Either one per department (e.g., "CS Courses") or a single "Courses" channel per semester
- Thread: One per course, titled with
{Course Title} {Course ID}(e.g., "Introduction to AI CS-101")
- This keeps the server organized and avoids hitting the channel cap.
-
Joining Course Chats
- Add a "Join Course Chat" button on the NTHUMods course page for each enrolled course.
- Behavior:
- If the thread doesn’t exist, clicking the button creates it under the appropriate semester category and channel.
- If it exists, the user is granted permission to view and participate in the thread.
- Permissions are managed via Discord roles or user-specific access to ensure only enrolled students can join.
-
User Verification
- Require users to link their NTHUMods account to their Discord account.
- Implement a simple verification method:
- Users log into NTHUMods, navigate to a settings page, and enter their Discord username/ID.
- A bot sends a verification code via NTHUMods (e.g., displayed on the site) that users must DM to the NTHUMods Discord bot to confirm the link.
- Once verified, the bot syncs the user’s enrolled courses with their Discord permissions.
-
Technical Details
- Use Discord’s API (via a bot) to manage thread creation, user permissions, and server organization.
- Store Discord IDs and verification status in the NTHUMods database, linked to user profiles.
- Ensure the bot checks course enrollment data from NTHUMods before granting access.
Benefits
- Ease of Use: Students get instant access to course-specific chats without manual setup.
- Scalability: Threads allow for thousands of courses without hitting Discord’s limits.
- Community Building: Encourages collaboration and peer support within classes.
- Low Overhead: Leverages Discord’s existing infrastructure, minimizing development effort.
Challenges to Address
- Privacy: Ensure only enrolled students access their course threads (handled via verification).
- User Adoption: Some students may not use Discord; we could survey interest first.
- Moderation: Decide if course threads need moderators or if they’ll be self-managed.
- Channel Limit Workaround: If thread usage becomes unwieldy, consider splitting into department-specific channels or multiple servers.
Next Steps
- Gauge community interest via a quick poll (e.g., on Instagram or NTHUMods site).
- Prototype the Discord bot and test with a small set of courses.
- Document the setup process for contributors in the repo.
What do you think? Any feedback or suggestions to refine this further?