ไอเดีย #37: ระบบติดตามการบ้านและส่งงานนักเรียน
ทำไมการบ้านเด็กถึงหายบ่อยนัก ครูบอกว่าไม่ได้ส่ง เด็กบอกว่าส่งแล้ว ผู้ปกครองก็ไม่รู้จะเชื่อใคร ส่วนครูเองต้องรับงานทั้งกระดาษ ทั้งรูปที่ส่งมาในกลุ่มแชต แล้วมานั่งไล่เช็กกับรายชื่อนักเรียนสี่สิบคนอีกห้าห้อง ระบบติดตามการบ้านที่เก็บทุกอย่างไว้ในที่เดียว ตั้งแต่สั่งงาน ส่งงาน ตรวจ จนถึงให้คะแนน จะช่วยลดเวลาที่ครูเสียไปกับงานเอกสารได้มาก
ใครจะใช้
- ครูประจำวิชา — มอบหมายงาน กำหนดวันส่ง ตรวจและให้คะแนน
- นักเรียน — ดูงานที่ต้องทำ อัปโหลดงาน ดูผลตรวจ
- ครูประจำชั้น — ดูภาพรวมว่านักเรียนในห้องค้างงานวิชาไหนบ้าง
- ผู้ปกครอง — ดูสถานะงานของลูกแบบอ่านอย่างเดียว
ฟีเจอร์ขั้นต่ำ (MVP)
- ครูสร้างงานพร้อมคำอธิบาย ไฟล์แนบ คะแนนเต็ม และวันครบกำหนด มอบให้ทั้งห้องหรือบางกลุ่ม
- นักเรียนส่งงานเป็นไฟล์ รูปถ่าย หรือข้อความ ส่งใหม่ได้ก่อนครบกำหนด ระบบเก็บทุกเวอร์ชัน
- สถานะต่อคน: ยังไม่ส่ง / ส่งแล้ว / ส่งช้า / ตรวจแล้ว / ให้แก้ไข
- หน้าตรวจงานเรียงตามนักเรียน ให้คะแนนและเขียนความเห็นได้เร็ว
- ตารางสรุปคะแนนรายห้อง export ไปใช้กรอกคะแนนเก็บต่อได้
- รายชื่อนักเรียนที่ค้างงาน กรองตามห้องและวิชา
ต่อยอดได้อีก
- แจ้งเตือนผู้ปกครองผ่าน LINE เมื่อลูกค้างงานเกินกำหนด
- แอป Flutter ให้นักเรียนถ่ายรูปสมุดแล้วส่งได้ทันที
- เกณฑ์การให้คะแนน (rubric) ที่ครูนำกลับมาใช้ซ้ำได้
- ตรวจความคล้ายของงานที่ส่งระหว่างนักเรียนในห้องเดียวกัน
โครงข้อมูลตั้งต้น
classrooms— id, grade, room, academic_year, semesterassignments— id, classroom_id, subject_id, teacher_id, title, max_score, due_atsubmissions— id, assignment_id, student_id, status, submitted_at, score, feedbacksubmission_files— id, submission_id, version, file_path, uploaded_atenrollments— id, classroom_id, student_id, number_in_class
ระดับความยาก และสิ่งที่จะได้เรียนรู้
ระดับ ปานกลาง ใช้ Yii2 หรือ Laravel + PostgreSQL/MySQL ได้ดี สิ่งที่จะได้ฝึก:
- การจัดการอัปโหลดไฟล์ ย่อรูปจากมือถือ และจำกัดขนาด
- การออกแบบสิทธิ์หลายบทบาท (RBAC) ให้แต่ละคนเห็นเฉพาะข้อมูลที่ควรเห็น
- query แบบ LEFT JOIN หานักเรียนที่ยังไม่ส่ง ซึ่งไม่มีแถวใน submissions
- การจัดการปีการศึกษาและภาคเรียน ปีละสองภาค แบบ พ.ศ.
ข้อควรระวัง
- ผู้ใช้ส่วนใหญ่เป็นผู้เยาว์ ข้อมูลและรูปงานต้องดูแลตาม PDPA อย่างเคร่งครัด ไฟล์ไม่ควรเปิดได้ด้วยลิงก์ตรงโดยไม่ตรวจสิทธิ์
- กำหนดเวลาส่งควรชัดเจนว่าใช้เวลา server เป็นหลัก กันข้อโต้แย้งว่าส่งทันหรือไม่ทัน
- ช่วงใกล้ครบกำหนด นักเรียนอัปโหลดพร้อมกันเยอะ ควรเตรียมพื้นที่เก็บไฟล์และ timeout ให้พอ
มีคุณครูหรือ dev ที่ทำระบบให้โรงเรียนอยู่ในบอร์ดนี้บ้างไหมครับ ทุกวันนี้ครูรับงานนักเรียนกันทางไหนเป็นหลัก แล้วถ้าทำระบบนี้จริง คิดว่าจะทำยังไงให้นักเรียนชั้นประถมใช้ได้เองโดยไม่งง มาเล่าในกระทู้นี้ และแชร์โปรเจกต์ของคุณกันได้เลย