งานพัฒนา Platform Video E-learning
โจทย์นี้เป็นส่วนหนึ่งของงานพัฒนา Web Application เกี่ยวกับเรื่องการพัฒนาสินค้าสำหรับผู้ประกอบการรายย่อย ทางผู้ว่าจ้างต้องการให้ระบบมีฟีเจอร์ทางด้าน platform E-Learning ให้สมาชิกในโครงการสามารถเข้ามารับชมวิดิโออบรมการสอนเกี่ยวกับโครงการได้ โดยสามารถติดตามสถานะ Progress ความคืบหน้าการดูวิดิโอของสมาชิกแต่ละคน และมีหน้า Dashboard ให้ Admin ดูสถานะภาพรวมการดูวิดิโอทั้งโครงการลักษณะคล้ายคลึงกับของ Youtube ได้
จากโจทย์ที่ได้รับ ทางผมได้ประเมินและออกแบบการทำงานของระบบมา ดังนี้
ระบบ Admin จัดการ วิดีโอ
ในเรื่องการจัดการวิดิโอ ผมได้แนะนำให้ทางผู้ว่าจ้างเลือกใช้ platform Vimeo สำหรับการ upload วิดิโอและทำการ streaming video มาบนเว็บไซต์ ข้อดูของการใช้ service นี้คือ เราไม่จำเป็นต้อง host Video ไว้ที่ server ของเราเอง และระบบสามารถรองรับจำนวนการ streaming จากผู้ใช้จำนวนมากได้โดยไม่เป็นภาระ Server ของเรา โดยเราสามารถเลือก service plan กับทาง Vimeo ที่เหมาะสมกับ Scale ของโปรเจคเราได้
ในส่วนของการเพิ่มวิดิโอเข้าโครงการแล้ว เมื่อทาง Admin ได้ upload video เข้า Vimeo แล้ว admin เพียงแค่ copy link วิดิโอจาก vimeo มาวางในระบบ เล้วเบื้องหลังโปรแกรมจะทำการ ดึงข้อมูล link video, thumbnail, รายละเอียดวิดิโอ, ความยาววิดิโอ และข้อมูลอื่น ๆ มาเก็บในระบบให้อัตโนมัติ สามารถเล่นวิดิโอจากในระบบของเราได้โดยตรงเลยทันที
การเพิ่ม link Vimeo ในระบบ
ตัวอย่างการจัดการ admin Video ในระบบ
การดูวิดิโอของสมาชิกในโครงการ
สมาชิกในแต่ละโครงการเมื่อ login เข้าระบบแล้วจะเห็นรายการ Video ที่สามารถเข้าไปรับชมได้ โดยระบบจะมีการติดตาม progress % ความคืบหน้าของการดูิวิดิโอทั้งโครงการไว้ได้ เพื่อให้สมาชิกได้ทราบว่าตัวเองดูวิดิโอไหนถึงตรงไหนแล้วบ้าง