ข้ามไปยังเนื้อหาหลัก
TH EN
การจัดการความรู้ มหาวิทยาลัยอุบลราชธานี

ข่าวประชาสัมพันธ์

การพัฒนาระบบ UBU-Quizzi :ระบบโหวตและตอบคำถามแบบเรียลไทม์สำหรับห้องเรียน

  • ผู้โพสต์: สายใจ จันเวียง
  • วันที่: 9 ตุลาคม 2569, 16:28:21
  • จำนวนผู้อ่าน: 62
แชร์ข่าวนี้

การพัฒนาระบบ UBU-Quizzi :ระบบโหวตและตอบคำถามแบบเรียลไทม์สำหรับห้องเรียน
สกัดองค์ความรู้ KM: การพัฒนาระบบ UBU-Quizzi :ระบบโหวตและตอบคำถามแบบเรียลไทม์สำหรับห้องเรียน
 
ผลงาน UBU KM FAIR 2026 | ประเภทผลงาน: สายสนับสนุน | การพัฒนาระบบสารสนเทศ
 
ชื่อผลงาน: การพัฒนาระบบ UBU-Quizzi :ระบบโหวตและตอบคำถามแบบเรียลไทม์สำหรับห้องเรียน
 
ชื่อเจ้าของผลงาน: นายณัฐพล มารุตะพันธ์ สำนักเทคโนโลยีดิจิทัลและทรัพยากรการเรียนรู้
 
สรุปเป็นสาระสำคัญในมิติต่างๆ ได้ดังนี้
1. วัตถุประสงค์หลัก:
    1. พัฒนาระบบตอบสนองผู้เรียนในชั้นเรียน (Audience Response System: ARS) สำหรับโหวตและตอบคำถามแบบเรียลไทม์ที่เข้าถึงได้สะดวกผ่านเว็บเบราว์เซอร์ โดยเชื่อมต่อกับระบบยืนยันตัวตนและ  โครงสร้างพื้นฐานภายในมหาวิทยาลัย
    2. สร้างเครื่องมือสนับสนุนรูปแบบกิจกรรมที่หลากหลาย พร้อมการสรุปผลแบบเรียลไทม์
    3. ทดสอบการรองรับผู้ใช้จำนวนมากเพื่อเป็นทางเลือกใช้งานภายในองค์กร
 
2. กระบวนการใช้งานและฟังก์ชันหลัก
    1. การแบ่งบทบาทผู้ใช้งาน:
       - ผู้สอน: ยืนยันตัวตนผ่านระบบ Single Sign-On (UBU OAuth 2.0)
       - สามารถสร้างแบบทดสอบด้วยตนเอง หรือใช้ฟังก์ชัน AI Generate (GPT-5.1) ผ่าน AI Gateway ของมหาวิทยาลัย
      - สามารถควบคุมลำดับคำถาม หยุดรับคำตอบ ซ่อน/แสดงเฉลย และดูผลสรุปหลังจบเซสชัน
      - ผู้เรียน: เข้าใช้งานผ่านเว็บเบราว์เซอร์บนสมาร์ตโฟนหรือคอมพิวเตอร์โดยไม่ต้องติดตั้งแอปพลิเคชัน และไม่ต้องลงชื่อเข้าใช้ เพียงกรอกรหัส PIN 6 หลัก หรือสแกน QR Code
    2. รูปแบบคำถาม (3 โหมดหลัก):
        - Standard: คำถามปรนัยแบบไม่จำกัดเวลา
        - Timer: คำถามปรนัยแบบจับเวลา ซึ่งระบบจะคำนวณคะแนนตามเวลาที่ใช้ตอบ
        - Open-ended: คำถามตอบอิสระที่ระบบประมวลผลสรุปเป็น Word Cloud แบบเรียลไทม์
    3. กลไกความต่อเนื่อง (Rejoin): ระบบจดจำคำตอบเดิมและสถานะเซสชันของผู้เรียน ช่วยให้สามารถกลับเข้าร่วมกิจกรรมได้ทันทีเมื่อสัญญาณเครือข่ายขัดข้อง
 
3. สถาปัตยกรรมระบบและเทคโนโลยี (Tech Stack)
    1. การประมวลผล (Application Layer): พัฒนาแบบ Server-Side Rendering ด้วย Nuxt 4, Nitro และ Node.js 18 ทำงานผ่าน PM2 Cluster จำนวน 16 workers และจัดการคำขอผ่าน Nginx Reverse Proxy
    2. ระบบฐานข้อมูลและแคช: ใช้ PostgreSQL เป็นฐานข้อมูลหลัก (รองรับ Connection Pool สูงสุด 96 connections) และใช้ Redis สำหรับเก็บสถานะเซสชัน รายชื่อผู้เข้าร่วม heartbeat และผลโหวตรายข้อ
    3. กลไกการสื่อสาร: เลือกใช้ HTTP Polling แทน WebSocket เพื่อให้ทำงานร่วมกับ Reverse Proxy ได้ง่ายและขยายระบบแบบ Stateless โดยผู้เรียนจะดึงข้อมูลคำถามทุก 1 วินาที และผู้สอนปรับจำนวนผู้ตอบทุก 2–3 วินาที
    4. ความมั่นคงปลอดภัย: ยืนยันตัวตนผู้สอนด้วย JWT (HS256) อายุ 24 ชั่วโมง มีระบบป้องกัน XSS ด้วยการกรอง HTML ใน Rich Text Editor ตรวจสอบชนิดและความยาวข้อมูลนำเข้า และแปลงไฟล์ภาพเป็น WebP
 
4. ผลการทดสอบประสิทธิภาพและภาระงาน (Load Test)
    1. การรองรับผู้ใช้: ผ่านการทดสอบบนระบบจริง (Production HTTPS/Nginx) รองรับผู้ใช้งานพร้อมกันได้ถึง 1,500 คนต่อห้อง
    2. เสถียรภาพและความหน่วง: อัตราความผิดพลาด (Error Rate) เท่ากับ 0.0% และมีค่าความหน่วงในระดับ Percentile 95 (P95 Latency) เพียง 16 มิลลิวินาที
    3. Safety Margin: มีระดับความปลอดภัยรองรับภาระงานสูงกว่าการใช้งานปกติในห้องเรียนมหาวิทยาลัย (ขนาด 50–300 คน) ถึง 30–50 เท่า
 
5. ข้อจำกัดและแนวทางการพัฒนาต่อยอด
    1. การรักษาความปลอดภัยเพิ่มเติม: มีแผนเปิดใช้การตรวจสอบใบรับรอง TLS ของ UBU OAuth, การตรวจสอบ Magic Bytes ของไฟล์ภาพ และการกำหนด Rate Limiting สำหรับการส่งคำตอบ
    2. การประเมินผล: เอกสารฉบับนี้ยังไม่ได้รายงานผลประเมินด้านผลสัมฤทธิ์ทางการเรียนและความพึงพอใจของผู้ใช้งานโดยตรง ซึ่งเป็นประเด็นที่ควรดำเนินการประเมินเพิ่มเติมในระยะยาว
    3. ผลกระทบและความคุ้มค่า (Impact): การพัฒนาระบบแบบ Self-hosted ช่วยให้มหาวิทยาลัยสามารถกำกับดูแลข้อมูลภายในองค์กรได้เอง ปรับแต่งฟังก์ชันตามบริบทได้ และลดการพึ่งพาบริการเชิงพาณิชย์จากภายนอกในระยะยาว

ไฟล์แนบ

แชร์ข่าวนี้

กลับหน้าแรก