9.6 KiB
9.6 KiB
ขอบเขตความสามารถของระบบ (User Roles & Responsibilities)
1. Admin (ผู้ดูแลระบบ)
บทบาทหลัก: ควบคุมระบบ ตรวจสอบความถูกต้อง และอนุมัติธุรกรรมทางการเงิน
การจัดการผู้ใช้
- ดูรายชื่อผู้ใช้ทั้งหมด
- สร้าง / แก้ไข / ลบผู้ใช้
- กำหนดบทบาท (Admin / Instructor / Learner)
- ระงับหรือยกเลิกการใช้งานผู้ใช้
- รีเซ็ตรหัสผ่านผู้ใช้
รองรับการออกแบบ:
- RBAC (Role-based Access Control)
การจัดการหลักสูตร (เชิงกำกับดูแล)
- ดูหลักสูตรทั้งหมดในระบบ
- อนุมัติ / ระงับการเผยแพร่หลักสูตร
- ตรวจสอบคอร์สเสียเงินว่าถูกต้องตามนโยบาย
- จัดการหมวดหมู่หลักสูตร
ผู้สอนเป็นคนสร้าง Admin มีอำนาจอนุมัติสุดท้าย
การจัดการคำสั่งซื้อและรายรับ
- ดูคำสั่งซื้อทั้งหมดของระบบ
- ตรวจสอบสถานะการชำระเงิน
- ดูรายได้แยกตามผู้สอน / คอร์ส
- ตรวจสอบประวัติการชำระเงินย้อนหลัง
การอนุมัติการถอนเงิน (เสริม)
- ดูรายการคำขอถอนเงินจากผู้สอน
- ตรวจสอบยอดเงินคงเหลือของผู้สอน
- อนุมัติ / ปฏิเสธคำขอถอนเงิน
- บันทึกสถานะการถอน:
- pending
- approved
- rejected
- paid
- บันทึกผู้อนุมัติ (Admin)
❗ Admin ไม่สามารถแก้ไขยอดเงินตรงๆ ทุกการเคลื่อนไหวต้องมี record
Dashboard ภาพรวม
- จำนวนผู้ใช้ทั้งหมด
- จำนวนคอร์ส (ฟรี / เสียเงิน)
- ยอดขายรวม
- ยอดเงินที่รอถอน
- ยอดเงินที่จ่ายออกแล้ว
2. Instructor (ผู้สอน)
บทบาทหลัก: สร้างคอร์ส สร้างรายได้ และถอนเงิน
การสร้างและจัดการหลักสูตร
- สร้าง / แก้ไข / ลบหลักสูตรของตนเอง
- กำหนดรายละเอียดคอร์ส
- กำหนดสถานะคอร์ส:
- ฟรี
- เสียเงิน
- กำหนดราคาคอร์ส
- เปิด / ปิดการขาย
- ส่งคอร์สให้ Admin อนุมัติก่อนเผยแพร่
การจัดการเนื้อหา
- สร้างบท (Chapter)
- สร้างบทเรียน (Lesson)
- อัปโหลดวิดีโอ / เอกสาร / ข้อความ
- จัดลำดับบทเรียน
- ตั้งเงื่อนไขการเข้าเรียน
- กำหนดบทเรียนตัวอย่าง (Preview Lesson) ที่ผู้เรียนสามารถดูได้ก่อนลงทะเบียน/ซื้อคอร์ส
การจัดการแบบทดสอบ
- สร้างแบบทดสอบ
- ตั้งเวลา คะแนน เกณฑ์ผ่าน
- ดูผลการทำแบบทดสอบของผู้เรียน
การติดตามผู้เรียน
- ดูรายชื่อผู้เรียนในคอร์ส
- ดูความคืบหน้าการเรียน
- ดูคะแนนและสถิติการเรียน
รายได้ของผู้สอน
- ดูรายได้จากแต่ละคอร์ส
- ดูยอดเงิน:
- ยอดเงินทั้งหมด
- ยอดเงินที่ถอนแล้ว
- ยอดเงินที่ถอนได้ (Available Balance)
- ดูประวัติคำสั่งซื้อที่เกี่ยวข้องกับคอร์สตนเอง
การถอนเงิน
- ยื่นคำขอถอนเงิน (Withdraw Request)
- ระบุ:
- จำนวนเงิน
- ช่องทางรับเงิน (เช่น ธนาคาร)
- ดูสถานะการถอน:
- รออนุมัติ
- อนุมัติแล้ว
- ถูกปฏิเสธ
- โอนเงินแล้ว
- ดูประวัติการถอนเงินทั้งหมด
ถ้าเป็นคอร์สฟรี
- ไม่มีรายได้
- ไม่สามารถถอนเงินได้
3. Learner (ผู้เรียน)
บทบาทหลัก: ซื้อคอร์ส เรียน และติดตามผลการเรียน
บัญชีผู้ใช้
- สมัครสมาชิก / เข้าสู่ระบบ
- แก้ไขข้อมูลโปรไฟล์
การค้นหาและดูคอร์ส
- ดูคอร์สทั้งหมด
- เห็นสถานะคอร์ส:
- ฟรี
- เสียเงิน (แสดงราคา)
- ดูรายละเอียดคอร์สก่อนซื้อ
- ดูบทเรียนตัวอย่าง (Preview Lesson) ก่อนตัดสินใจลงทะเบียน/ซื้อคอร์ส
การลงทะเบียน / ซื้อคอร์ส
- ลงทะเบียนคอร์สฟรี
- ซื้อคอร์สเสียเงิน
- ดูประวัติการลงทะเบียน
- ดูประวัติการซื้อคอร์ส
หลักการ: เข้าเรียนได้ = ต้องมี enrollment
การเรียน
- เข้าถึงบทเรียนหลังจาก:
- ลงทะเบียน (ฟรี)
- หรือชำระเงินสำเร็จ (เสียเงิน)
- ระบบบันทึกความคืบหน้าอัตโนมัติ
การทำแบบทดสอบ
- ทำแบบทดสอบ
- ดูคะแนน
- ดูประวัติการทำข้อสอบ
ผลการเรียน
- ดู % ความคืบหน้าคอร์ส
- ดูผลคะแนนรวม
- รับใบประกาศนียบัตร (ถ้ามี)
โครงสร้างแนวคิดข้อมูล (ER Diagram)
User
├─ Role
Course
├─ instructor_id
├─ price
├─ status (draft / pending / approved)
Chapter
├─ course_id
├─ order
Lesson
├─ chapter_id
├─ order
├─ is_preview (true/false)
Enrollment
├─ user_id
├─ course_id
Order
├─ user_id
├─ total_amount
├─ status
InstructorBalance
├─ instructor_id
├─ available_amount
├─ withdrawn_amount
WithdrawalRequest
├─ instructor_id
├─ amount
├─ status
├─ approved_by (admin_id)