CASE STUDY / HACKATHON

คนเข้าห้อง Discord ได้
แต่ทีมงานต้องรู้ว่าใครเป็นใคร

Bangmod Hackathon Verification เป็นโปรเจกต์ที่เชื่อมคำสั่งใน Discord เข้ากับฟอร์มและหน้าตรวจของทีมงาน เพื่อให้การยืนยันตัวตนมีขั้นตอนและมีสถานะให้ตามต่อ ไม่ต้องไล่ถามกันในแชตอย่างเดียวครับ

ปัญหาของการตรวจด้วยมือ

ถ้าผู้เข้าร่วมทุกคนต้องส่งข้อมูลในแชต แล้วทีมงานค่อยเช็กทีละคน เรื่องที่หลุดง่ายคือใครส่งแล้ว ใครยังขาดข้อมูล และใครผ่านการตรวจ ระบบนี้จึงแยกทางเดินของผู้เข้าร่วมกับทีมงานให้ชัดขึ้น โดยยังให้คนเป็นผู้ตัดสินผลอนุมัติ

หนึ่งคำสั่ง แต่มีหลายขั้นตอนต่อ

  1. ผู้เข้าร่วมใช้คำสั่ง /verify ใน Discord เพื่อรับทางไปกรอกข้อมูล
  2. กรอกข้อมูลที่ระบบใช้จับคู่กับผู้เข้าร่วมและทีม
  3. ทีมงานตรวจรายการรอพิจารณาในแดชบอร์ด แล้วอนุมัติหรือปฏิเสธ
  4. ระบบเก็บสถานะการยืนยันไว้ให้ติดตาม ไม่ต้องเริ่มถามใหม่ทุกครั้ง

ตัวโปรเจกต์แยกบอต หน้าเว็บ API และฐานข้อมูล PostgreSQL จึงมีจุดเชื่อมหลายจุดที่ต้องคิดให้ตรงกัน ทั้งรหัสผู้ใช้ Discord ข้อมูลที่กรอก และสิทธิทีมงาน ในซอร์สมีตารางสำหรับผู้ใช้ นักเรียน โรงเรียน ทีม ผู้ดูแล และบันทึกการยืนยัน

สิ่งที่ออกแบบเผื่อทีมงาน

คนเข้าร่วมเห็นทางถัดไป

เริ่มจาก Discord ซึ่งเป็นที่ที่เขาอยู่แล้ว ก่อนพาไปฟอร์มแทนการให้ส่งข้อมูลกระจัดกระจายในแชต

ทีมงานมีคิวตรวจ

รายการรออนุมัติอยู่ในแดชบอร์ดเดียว ช่วยแยกงานตรวจจากการคุยในห้องสาธารณะ

สถานะตรวจสอบได้

การอนุมัติและปฏิเสธเป็นสถานะของระบบ ไม่ใช่จำจากข้อความเก่า

โค้ดเปิดให้ตรวจ

repository มี README และโครงสร้าง frontend, backend, database และ Docker สำหรับลองรันด้วยตัวเอง

โปรเจกต์นี้ยังไม่ใช่คำรับรองความปลอดภัย

README ของโปรเจกต์ระบุเองว่ายังเป็นงานที่พัฒนาต่อและมีสิ่งต้องปรับก่อนใช้จริงเต็มรูปแบบ เช่น rate limiting บาง endpoint, security headers และการเปลี่ยนค่าตัวอย่างใน environment ผมอยากให้หน้านี้บอกขอบเขตตามจริง มากกว่าพูดว่าระบบปลอดภัยสมบูรณ์แล้ว

สิ่งที่ได้จากงานนี้: ระบบยืนยันตัวตนไม่ได้จบที่ฟอร์มสวย ๆ ต้องออกแบบการไหลของข้อมูลระหว่างบอต เว็บ และคนตรวจให้สอดคล้องกัน พร้อมทำรายการความเสี่ยงที่ยังค้างให้เห็นครับ

ดูโค้ดและข้อจำกัดจริง

README ของโปรเจกต์มีทั้งวิธีรัน ลำดับการใช้งาน และรายการที่ยังควรปรับปรุง

เปิด repository