จัดการห้องเรียน
ห้องเรียนคือ ภาชนะ ที่บรรจุนักเรียน วิชา เกณฑ์เกรด คะแนน และใบงาน — ทุกอย่างในระบบ D-DoGrade เริ่มต้นจากการสร้างห้องเรียนก่อนเสมอ บทนี้พาผ่านครบทั้งวงจร: สร้างใหม่ ใช้งาน เก็บถาวรเมื่อจบเทอม และลบถาวรในกรณีที่สร้างผิดจริงๆ
หน้ารวมห้องเรียน (Dashboard ของครู)
จุดศูนย์กลางของครู — เห็นห้องทั้งหมดที่สร้าง + ปุ่มสร้างใหม่ + กรองตามภาคเรียน/ปี
หน้าตาเมื่อยังไม่มีห้อง (Empty State)
หลัง login ครูครั้งแรก ระบบพาเข้าหน้านี้ซึ่งจะแสดง empty state ขนาดใหญ่: "👋 ยังไม่มีห้องเรียน — สร้างห้องแรกเพื่อเริ่มบันทึกคะแนน" พร้อมปุ่มหลัก สร้างห้องเรียน
หน้าตาเมื่อมีห้องหลายห้อง
เมื่อสร้างห้องไปแล้ว ระบบแสดงเป็น กริดการ์ด (4-3-2-1 คอลัมน์ตามขนาดจอ) แต่ละการ์ดมี ribbon accent color (สีเหลือง/ชมพู/มินต์/ฯลฯ) ที่สุ่มตอนสร้าง ช่วยให้ตาจดจำห้องได้ไวขึ้นเวลามีหลายห้อง
- ชื่อห้อง + ชื่อวิชา — เช่น "ม.4/1 — สังคมศึกษา 5"
- Badge จำนวน — จำนวนนักเรียน + จำนวนวิชาในห้อง
- ภาคเรียน + ปีการศึกษา — เพื่อแยกห้องเทอมเก่า/ใหม่
กรองและค้นหาห้องด้วย Toolbar
เมื่อห้องเริ่มเยอะ (สอนหลายภาค/หลายปี) ใช้ toolbar ด้านบนกริดเพื่อกรอง:
- ช่องค้นหา — พิมพ์บางส่วนของชื่อห้องหรือชื่อวิชา ระบบกรองแบบ live
- Dropdown ภาคเรียน — 1, 2, ฤดูร้อน หรือ "ทั้งหมด"
- Dropdown ปีการศึกษา — ปีการศึกษาไทย (พ.ศ.) ของห้องที่มีอยู่
ตัวกรองทำงานร่วมกัน (AND) — เช่นเลือก "ภาคเรียน 1" + "ปี 2568" + พิมพ์ "สังคม" จะเหลือเฉพาะห้องสังคมในเทอมต้นปีนั้น
สร้างห้องเรียนใหม่
เปิด dialog 'ห้องเรียนใหม่' กรอก 4 ช่อง — ระบบจะ seed เกณฑ์เกรดมาตรฐานไทยให้อัตโนมัติ
คลิกปุ่ม 'สร้างห้องเรียน'
ปุ่ม สร้างห้องเรียน อยู่ที่มุมขวาของ toolbar (ถ้ามีห้องแล้ว) หรือกลางหน้า empty state (ถ้ายังไม่มี) — กดเปิด dialog ห้องเรียนใหม่ (ribbon สีพีช)
กรอก 4 ช่องในฟอร์ม
- ชื่อห้อง — เช่น
ม.4/1(จำเป็น) - รายวิชา — เช่น
สังคมศึกษา 5(จำเป็น — ห้องในระบบนี้ผูกกับ 1 วิชาประจำเสมอ) - ปีการศึกษา — พ.ศ. ระบบเดาให้จากปฏิทินไทยปัจจุบัน แก้ได้
- ภาคเรียน — 1, 2 หรือ ฤดูร้อน
ไม่ต้องกรอกโรงเรียน — ระบบผูกห้องเข้ากับโรงเรียนของบัญชีครูให้อัตโนมัติ (1 ครู = 1 โรงเรียน ตั้งค่าตอนสมัคร)
กดบันทึก → เข้าหน้า hub ของห้องทันที
หลังกด บันทึก ระบบจะ:
- สร้างห้องใหม่ใน DB และ seed เกณฑ์เกรดมาตรฐานไทย 8 ขั้น ให้ทันที (80%=A → 0%=F)
- Toast เขียวขึ้นมุมขวาบน: "สร้างห้องเรียนสำเร็จ"
- พาเข้าหน้า hub ของห้องใหม่ทันที (กริด 9 เมนู)
Classroom Hub — เมนู 9 ฟีเจอร์ของห้อง
หน้า hub ของห้องนั้น — รวมทุกฟีเจอร์ในกริด 9 การ์ด (คลิกการ์ดในหน้ารวมห้องเรียนเพื่อเข้าหน้านี้)
เพิ่ม/แก้/รีเซ็ตรหัสผ่าน → คู่มือ
หัวข้อย่อย + คะแนนเต็ม → คู่มือ
% → A/B+/F + GPA → คู่มือ
ตารางกรอกคะแนน → คู่มือ
ภาพรวม + GPA ของห้อง เร็วๆ นี้
มอบหมาย + ติดตามส่ง เร็วๆ นี้
ดาวน์โหลด ปพ.5 เร็วๆ นี้
ส่งหัวข้อ + รายละเอียด → คู่มือ
ดูบันทึก เพิ่ม/แก้/ลบคะแนน → คู่มือ
แก้ไขข้อมูลห้อง
เปลี่ยนชื่อ ภาคเรียน ปีการศึกษา หรือชื่อวิชาผ่านปุ่มดินสอที่หน้า hub ของห้อง
คลิกไอคอนดินสอที่ ClassroomActionBar
ที่หน้า hub ของห้อง มี ClassroomActionBar อยู่มุมขวาบน — มี 3 ปุ่มเรียงกัน: แก้ไข · เก็บถาวร · ลบถาวร
กดปุ่มดินสอเพื่อเปิด Edit Dialog (ribbon สีลาเวนเดอร์)
แก้ค่าในฟอร์ม → กดบันทึก
ฟอร์มมี 4 ช่องเหมือนตอนสร้าง — แก้ได้ทุกช่อง (โรงเรียนถูก lock ตามบัญชีครู ไม่มีในฟอร์ม)
Toast เขียว "บันทึกการแก้ไขแล้ว" ขึ้น แล้ว dialog ปิดเอง
เก็บถาวร (Archive) เมื่อจบเทอม
ห้องที่ไม่ได้ใช้แล้วเก็บไปได้ — ข้อมูลทั้งหมดยังอยู่ใน DB กู้คืนได้
คลิกไอคอนกล่อง 'เก็บถาวร'
กดปุ่ม ที่ ClassroomActionBar — ระบบเปิด confirm dialog "เก็บห้อง [name] ?" พร้อมข้อความว่าห้องนี้จะหายจากหน้ารวมห้องเรียนแต่ ข้อมูลทั้งหมดยังอยู่ และกู้คืนได้ผ่านการขอ admin
กดยืนยัน → ห้องหายจากหน้าหลัก
หลังยืนยัน ระบบ set deletedAt = now (soft delete) — Toast เขียว "เก็บห้องเรียนเรียบร้อย" redirect กลับหน้า hub
ห้องนั้นจะ ไม่ขึ้น ในหน้ารวมห้องเรียนอีกต่อไป แต่คะแนน/นักเรียน/วิชา/หมายเหตุทั้งหมดยังอยู่ครบ
ลบถาวร (Hard Delete)
ใช้กรณีสร้างผิดจริงๆ หรือต้องการลบข้อมูลทั้งหมด — ลบแล้วย้อนกลับไม่ได้
คลิกปุ่มถังขยะแดง
ปุ่ม สุดท้ายของ ClassroomActionBar เป็นโทนแดง เพื่อแยกให้ชัดว่าเป็น action อันตราย เปิด HardDeleteClassroomDialog
อ่าน checklist จำนวนข้อมูลที่จะหายไป
Dialog แสดงเป็น checklist:
- นักเรียน N คน (ออกจากห้องแต่บัญชียังคงอยู่)
- วิชา/หัวข้อประเมิน M รายการ
- คะแนนทั้งหมด K ค่า
- ใบงาน + การส่งงาน L รายการ
- เกณฑ์เกรด, การตั้งค่า ฯลฯ
ต้อง พิมพ์ชื่อห้อง ในช่องยืนยันให้ตรงเป๊ะ ก่อนปุ่ม "ลบถาวร" จะ enabled
กดยืนยันลบ → ข้อมูลหายตลอดกาล
ระบบลบห้อง + ข้อมูลที่ผูกกับห้องทั้งหมดออกจาก DB ทันที (cascade) — Toast "ลบห้องเรียนถาวรเรียบร้อย" และพากลับหน้ารวมห้องเรียน
บัญชีนักเรียนเอง ไม่ถูกลบ — เพียงแต่ออกจากห้องนี้
สรุปการกระทำที่ ClassroomActionBar
ตารางอ้างอิงเร็วระหว่าง 3 action ที่ทำกับห้องได้
| Action | ผลที่เกิด | กู้คืน |
|---|---|---|
| แก้ไข | เปลี่ยนชื่อห้อง/วิชา/ภาคเรียน/ปี | — |
| เก็บถาวร | ซ่อนจากหน้ารวมห้องเรียน (deletedAt timestamp) — ข้อมูลอยู่ครบ | ติดต่อ admin |
| ลบถาวร | ลบห้อง + นักเรียนในห้อง + วิชา + คะแนน + ใบงาน + ฯลฯ ออกจาก DB | กู้ไม่ได้ |