ข้ามไปยังเนื้อหาหลัก
ผลงานทั้งหมด

โปรเจกต์ส่วนตัว·2025

HRCL 2025 Seminar Booking

ระบบลงทะเบียนและจองที่นั่งงานสัมมนาแบบเรียลไทม์

HRCL 2025 Seminar Booking
บทบาท
Full Stack Developer
ทีม
Solo Project
ปี
2025

ตัวเลขสำคัญ

190
ผู้ลงทะเบียนจริง
3
ผู้ดูแลระบบ
เรียลไทม์
สถานะที่นั่ง
ม.เกษตรศาสตร์ กำแพงแสน
ใช้งานจริงที่

เว็บแอปพลิเคชันสำหรับลงทะเบียนเข้าร่วมและจองที่นั่งงานสัมมนาแบบเรียลไทม์ พร้อมหน้าจอสำหรับผู้จัดงานเพื่อตรวจสอบผังที่นั่ง รายชื่อผู้เข้าร่วม และผู้ที่นั่งในแต่ละตำแหน่งได้ทันที ระบบถูกนำไปใช้งานจริงในงานสัมมนาคณะอุตสาหกรรมบริการ สาขาการโรงแรมและภัตตาคาร มหาวิทยาลัยเกษตรศาสตร์ กำแพงแสน (วันพุธที่ 1 ตุลาคม 2568 เวลา 08:00–12:00 น.) โดยมีผู้ลงทะเบียน 190 คน และผู้ดูแลระบบ 3 คน ระบบรองรับการใช้งานพร้อมกันได้อย่างราบรื่น (มีข้อขัดข้องเล็กน้อยในช่วงเริ่มต้น และแก้ไขได้ทันที).

โจทย์และปัญหา

  1. 01ผู้จัดงานประเมินจำนวนที่นั่งและสถานะการลงทะเบียนได้ไม่แม่นยำ ทำให้การวางแผนและการยืนยันสิทธิ์หน้างานมีความเสี่ยง
  2. 02ต้องการการยืนยันผลการจองแบบทันทีเพื่อให้ผู้เข้าร่วมมั่นใจว่าได้รับการลงทะเบียนและมีที่นั่งแน่นอน
  3. 03ผู้จัดงานต้องการข้อมูลผู้เข้าร่วม (เช่น รหัสนักศึกษา) เพื่อบันทึกและนำไปใช้งานต่อ แต่กระบวนการเดิมตรวจสอบยากและอัปเดตไม่ทันสถานการณ์

วิธีแก้

  1. 01พัฒนาระบบอัปเดตสถานะที่นั่งแบบเรียลไทม์ด้วย Pusher (WebSocket) เพื่อให้ทั้งฝั่งผู้ลงทะเบียนและผู้จัดงานเห็นสถานะเดียวกันทันที
  2. 02เมื่อผู้ใช้กดยืนยันการจอง ระบบจะบันทึกข้อมูลและปรับสถานะที่นั่งเป็น “ถูกจองแล้ว” ทันที เพื่อลดความสับสนและป้องกันการจองซ้ำซ้อนในช่วงที่มีการใช้งานหนาแน่น
  3. 03จัดทำหน้าจอสำหรับผู้จัดงาน (Admin) เพื่อดูผังที่นั่งแบบเรียลไทม์ ตรวจสอบว่า “ที่นั่งใดเป็นของใคร” พร้อมรายการผู้เข้าร่วมสำหรับการจัดการข้อมูลและการบันทึกภายหลัง

ผลลัพธ์

  1. 01ผู้เข้าร่วมได้รับการยืนยันที่นั่งอย่างชัดเจนและทันที ลดความกังวลเรื่องการลงทะเบียนไม่สมบูรณ์หรือไม่มีที่นั่ง
  2. 02ผู้จัดงานสามารถติดตามการจองและรายชื่อผู้เข้าร่วมได้แบบเรียลไทม์ ช่วยให้การดำเนินงานหน้างานเป็นระบบและราบรื่น
  3. 03ระบบรองรับการจองพร้อมกันจำนวนมากได้อย่างมีเสถียรภาพ และถูกใช้งานจริงกับผู้ลงทะเบียน 190 คน และผู้ดูแลระบบ 3 คน

ทบทวนโปรเจกต์

ความท้าทาย

  • การจัดการ Concurrency ในฐานข้อมูลเพื่อหลีกเลี่ยงการจองซ้ำซ้อนภายใต้การใช้งานพร้อมกัน
  • การทำ Real-time State Management ให้ข้อมูลสอดคล้องกันระหว่างหลายหน้าจอและหลายบทบาท (ผู้ใช้/แอดมิน)
  • ระยะเวลาพัฒนาค่อนข้างจำกัด จึงต้องออกแบบให้ส่งมอบได้ทันกำหนดพร้อมความเสถียร

สิ่งที่เรียนรู้

  • การออกแบบสถาปัตยกรรม Real-time (WebSockets) และการผสาน Pusher กับ Next.js อย่างเหมาะสม
  • แนวคิดด้าน Concurrency Control และการทำธุรกรรม (Transactions) เพื่อป้องกันข้อมูลไม่สอดคล้อง
  • การออกแบบ UX สำหรับสถานการณ์ที่มีผู้ใช้งานพร้อมกันจำนวนมาก ให้ผู้ใช้เข้าใจสถานะและผลการจองได้ทันที
  • การติดตามและแก้ปัญหาในช่วง Go-live: แยกสาเหตุ ตรวจสอบ Log และปรับแก้ได้รวดเร็วเมื่อพบข้อผิดพลาดช่วงเริ่มใช้งานจริง

เทคโนโลยี

สนใจงานแนวนี้?

เล่าโจทย์ของคุณให้ผมฟัง ตอบกลับภายใน 24 ชั่วโมง

คุยเรื่องงาน