# Screen List สำหรับผู้ดูแลระบบ (Admin)

เอกสารนี้รวบรวมรายการหน้าจอทั้งหมดสำหรับผู้ดูแลระบบ (Admin) ในระบบ E-Learning

---

## 📋 สารบัญ

1. [ระบบยืนยันตัวตน (Authentication)](#1-ระบบยืนยันตัวตน-authentication)
2. [Dashboard ผู้ดูแลระบบ](#2-dashboard-ผู้ดูแลระบบ)
3. [ระบบจัดการโปรไฟล์](#3-ระบบจัดการโปรไฟล์)
4. [ระบบจัดการผู้ใช้งาน](#4-ระบบจัดการผู้ใช้งาน)
5. [ระบบรายงานและสถิติภาพรวม](#5-ระบบรายงานและสถิติภาพรวม)
6. [ระบบตั้งค่าระบบ](#6-ระบบตั้งค่าระบบ)

---

## 1. ระบบยืนยันตัวตน (Authentication)

### 1.1 หน้าเข้าสู่ระบบ (Login Page)
| รายละเอียด | คำอธิบาย |
|------------|----------|
| **Screen ID** | AUTH-001 |
| **Screen Name** | Login |
| **วัตถุประสงค์** | หน้าสำหรับผู้ดูแลระบบเข้าสู่ระบบด้วยอีเมลและรหัสผ่าน |

**องค์ประกอบหน้าจอ:**
- ช่องกรอกอีเมล
- ช่องกรอกรหัสผ่าน
- ปุ่ม "เข้าสู่ระบบ"
- Checkbox "จดจำการเข้าสู่ระบบ"
- ลิงก์ "ลืมรหัสผ่าน?"

**ฟังก์ชันการทำงาน:**
- ตรวจสอบข้อมูลอีเมลและรหัสผ่าน
- ตรวจสอบว่าผู้ใช้มีสิทธิ์ Admin
- แสดงข้อความ error หากข้อมูลไม่ถูกต้อง
- Redirect ไปยัง Admin Dashboard หลังเข้าสู่ระบบสำเร็จ

---

### 1.2 หน้าลืมรหัสผ่าน (Forgot Password)
| รายละเอียด | คำอธิบาย |
|------------|----------|
| **Screen ID** | AUTH-002 |
| **Screen Name** | Forgot Password |
| **วัตถุประสงค์** | หน้าสำหรับขอรีเซ็ตรหัสผ่านผ่านอีเมล |

**องค์ประกอบหน้าจอ:**
- ช่องกรอกอีเมล
- ปุ่ม "ส่งลิงก์รีเซ็ตรหัสผ่าน"
- ลิงก์ "กลับไปหน้าเข้าสู่ระบบ"

**ฟังก์ชันการทำงาน:**
- ส่งอีเมลพร้อมลิงก์สำหรับรีเซ็ตรหัสผ่าน
- แสดงข้อความยืนยันการส่งอีเมลสำเร็จ

---

### 1.3 หน้ารีเซ็ตรหัสผ่าน (Reset Password)
| รายละเอียด | คำอธิบาย |
|------------|----------|
| **Screen ID** | AUTH-003 |
| **Screen Name** | Reset Password |
| **วัตถุประสงค์** | หน้าสำหรับตั้งรหัสผ่านใหม่ |

**องค์ประกอบหน้าจอ:**
- ช่องกรอกรหัสผ่านใหม่
- ช่องยืนยันรหัสผ่านใหม่
- ตัวบอกความแข็งแรงของรหัสผ่าน
- ปุ่ม "บันทึกรหัสผ่านใหม่"

**ฟังก์ชันการทำงาน:**
- ตรวจสอบความถูกต้องของ Token
- บันทึกรหัสผ่านใหม่
- Redirect ไปหน้า Login

---

## 2. Dashboard ผู้ดูแลระบบ

### 2.1 หน้า Dashboard หลัก (Admin Dashboard)
| รายละเอียด | คำอธิบาย |
|------------|----------|
| **Screen ID** | DASH-001 |
| **Screen Name** | Admin Dashboard |
| **วัตถุประสงค์** | หน้าแรกหลังเข้าสู่ระบบ แสดงภาพรวมสถิติระบบทั้งหมด |

**องค์ประกอบหน้าจอ:**
- **การ์ดสรุปข้อมูล (Summary Cards)**
  - จำนวนผู้ใช้งานทั้งหมด
  - จำนวนผู้ใช้งานใหม่ (วัน/สัปดาห์/เดือน)
  - จำนวนหลักสูตรทั้งหมด
  - จำนวนหลักสูตรที่เผยแพร่
  - จำนวนผู้เรียนที่ Active
  - อัตราการจบหลักสูตร
- **กราฟและแผนภูมิ**
  - กราฟผู้ใช้ใหม่รายวัน/สัปดาห์/เดือน
  - กราฟการลงทะเบียนหลักสูตร
  - กราฟอัตราการจบหลักสูตร
  - Pie Chart สัดส่วนผู้ใช้ตามบทบาท
- **ตารางข้อมูลล่าสุด**
  - ผู้ใช้ที่ลงทะเบียนล่าสุด
  - หลักสูตรที่สร้างล่าสุด
  - กิจกรรมล่าสุดในระบบ
- **เมนูทางลัด (Quick Actions)**
  - เพิ่มผู้ใช้ใหม่
  - ดูรายงาน
  - ตั้งค่าระบบ

**ฟังก์ชันการทำงาน:**
- ดึงข้อมูลสถิติแบบ Real-time
- เลือกช่วงเวลาในการแสดงกราฟ
- Export ข้อมูลสถิติ

---

## 3. ระบบจัดการโปรไฟล์

### 3.1 หน้าดูโปรไฟล์ (View Profile)
| รายละเอียด | คำอธิบาย |
|------------|----------|
| **Screen ID** | PROF-001 |
| **Screen Name** | View Profile |
| **วัตถุประสงค์** | หน้าแสดงข้อมูลโปรไฟล์ของ Admin |

**องค์ประกอบหน้าจอ:**
- รูปโปรไฟล์
- ชื่อ-นามสกุล
- อีเมล
- เบอร์โทรศัพท์
- บทบาท
- วันที่สร้างบัญชี
- ปุ่ม "แก้ไขโปรไฟล์"

---

### 3.2 หน้าแก้ไขโปรไฟล์ (Edit Profile)
| รายละเอียด | คำอธิบาย |
|------------|----------|
| **Screen ID** | PROF-002 |
| **Screen Name** | Edit Profile |
| **วัตถุประสงค์** | หน้าสำหรับแก้ไขข้อมูลส่วนตัว |

**องค์ประกอบหน้าจอ:**
- อัปโหลดรูปโปรไฟล์
- ช่องกรอกชื่อ-นามสกุล
- ช่องกรอกเบอร์โทรศัพท์
- ปุ่ม "บันทึก"
- ปุ่ม "ยกเลิก"

**ฟังก์ชันการทำงาน:**
- Validate ข้อมูล
- อัปโหลดรูปภาพ
- บันทึกข้อมูลโปรไฟล์

---

### 3.3 หน้าเปลี่ยนรหัสผ่าน (Change Password)
| รายละเอียด | คำอธิบาย |
|------------|----------|
| **Screen ID** | PROF-003 |
| **Screen Name** | Change Password |
| **วัตถุประสงค์** | หน้าสำหรับเปลี่ยนรหัสผ่าน |

**องค์ประกอบหน้าจอ:**
- ช่องกรอกรหัสผ่านปัจจุบัน
- ช่องกรอกรหัสผ่านใหม่
- ช่องยืนยันรหัสผ่านใหม่
- ตัวบอกความแข็งแรงของรหัสผ่าน
- ปุ่ม "เปลี่ยนรหัสผ่าน"

**ฟังก์ชันการทำงาน:**
- ตรวจสอบรหัสผ่านปัจจุบัน
- Validate รหัสผ่านใหม่
- บันทึกรหัสผ่านใหม่

---

## 4. ระบบจัดการผู้ใช้งาน

### 4.1 หน้ารายการผู้ใช้งาน (User List)
| รายละเอียด | คำอธิบาย |
|------------|----------|
| **Screen ID** | USR-001 |
| **Screen Name** | User List |
| **วัตถุประสงค์** | หน้าแสดงรายการผู้ใช้งานทั้งหมดในระบบ |

**องค์ประกอบหน้าจอ:**
- ช่องค้นหา (ค้นหาจากชื่อ, อีเมล, username)
- ตัวกรอง (Filter)
  - บทบาท (Admin/Instructor/Student)
  - สถานะ (Active/Inactive/Suspended)
  - วันที่ลงทะเบียน
- ปุ่ม "เพิ่มผู้ใช้ใหม่"
- ปุ่ม "ส่งออกข้อมูล" (Export)
- ตารางรายการผู้ใช้
  - รูปโปรไฟล์
  - ชื่อ-นามสกุล
  - อีเมล
  - บทบาท (Badge)
  - สถานะ
  - วันที่ลงทะเบียน
  - เข้าสู่ระบบล่าสุด
  - Actions (ดู, แก้ไข, ระงับ, ลบ)
- Pagination
- เลือกหลายรายการ (Bulk Actions)

**ฟังก์ชันการทำงาน:**
- ค้นหาผู้ใช้
- กรองตามเงื่อนไข
- เรียงลำดับ
- ระงับ/เปิดใช้งานผู้ใช้
- ลบผู้ใช้ (พร้อม Confirmation Dialog)
- Bulk Delete / Bulk Status Change

---

### 4.2 หน้าเพิ่มผู้ใช้ใหม่ (Create User)
| รายละเอียด | คำอธิบาย |
|------------|----------|
| **Screen ID** | USR-002 |
| **Screen Name** | Create User |
| **วัตถุประสงค์** | หน้าสำหรับเพิ่มผู้ใช้ใหม่เข้าระบบ |

**องค์ประกอบหน้าจอ:**
- อัปโหลดรูปโปรไฟล์
- ช่องกรอกชื่อ
- ช่องกรอกนามสกุล
- ช่องกรอกอีเมล
- ช่องกรอก Username
- ช่องกรอกรหัสผ่าน
- ช่องยืนยันรหัสผ่าน
- ตัวบอกความแข็งแรงของรหัสผ่าน
- ช่องกรอกเบอร์โทรศัพท์
- Dropdown เลือกบทบาท
- Toggle สถานะ (Active/Inactive)
- Checkbox ส่งอีเมลแจ้งผู้ใช้
- ปุ่ม "สร้างผู้ใช้"
- ปุ่ม "ยกเลิก"

**ฟังก์ชันการทำงาน:**
- Validate ข้อมูลทั้งหมด
- ตรวจสอบอีเมล/Username ซ้ำ
- สร้างบัญชีผู้ใช้
- ส่งอีเมลแจ้งเตือน (ถ้าเลือก)

---

### 4.3 หน้าดูรายละเอียดผู้ใช้ (User Detail)
| รายละเอียด | คำอธิบาย |
|------------|----------|
| **Screen ID** | USR-003 |
| **Screen Name** | User Detail |
| **วัตถุประสงค์** | หน้าแสดงรายละเอียดผู้ใช้และประวัติกิจกรรม |

**องค์ประกอบหน้าจอ:**
- **ส่วนข้อมูลผู้ใช้**
  - รูปโปรไฟล์
  - ชื่อ-นามสกุล
  - อีเมล
  - Username
  - เบอร์โทรศัพท์
  - บทบาท
  - สถานะ
  - วันที่ลงทะเบียน
  - เข้าสู่ระบบล่าสุด
- **Tabs**
  - **Tab กิจกรรม** - ประวัติการใช้งานระบบ
  - **Tab หลักสูตร** - หลักสูตรที่ลงทะเบียน (สำหรับ Student)
  - **Tab หลักสูตรที่สอน** - หลักสูตรที่สร้าง (สำหรับ Instructor)
  - **Tab Log การเข้าสู่ระบบ** - ประวัติการ Login
- ปุ่ม "แก้ไข"
- ปุ่ม "ระงับ/เปิดใช้งาน"
- ปุ่ม "รีเซ็ตรหัสผ่าน"
- ปุ่ม "ลบ"

**ฟังก์ชันการทำงาน:**
- ดูประวัติกิจกรรม
- ส่งอีเมลรีเซ็ตรหัสผ่าน
- เปลี่ยนสถานะผู้ใช้

---

### 4.4 หน้าแก้ไขผู้ใช้ (Edit User)
| รายละเอียด | คำอธิบาย |
|------------|----------|
| **Screen ID** | USR-004 |
| **Screen Name** | Edit User |
| **วัตถุประสงค์** | หน้าสำหรับแก้ไขข้อมูลผู้ใช้ |

**องค์ประกอบหน้าจอ:**
- (เหมือนหน้าเพิ่มผู้ใช้ใหม่ แต่แสดงข้อมูลเดิม)
- ช่องรหัสผ่านเป็น Optional (กรอกเมื่อต้องการเปลี่ยน)
- ปุ่ม "บันทึก"
- ปุ่ม "ยกเลิก"

---



## 5. ระบบรายงานและสถิติภาพรวม

### 5.1 หน้ารายงานผู้ใช้งาน (User Report)
| รายละเอียด | คำอธิบาย |
|------------|----------|
| **Screen ID** | RPT-001 |
| **Screen Name** | User Report |
| **วัตถุประสงค์** | หน้าแสดงรายงานเกี่ยวกับผู้ใช้งานในระบบ |

**องค์ประกอบหน้าจอ:**
- ตัวเลือกช่วงเวลา (Date Range Picker)
- **สถิติภาพรวม**
  - จำนวนผู้ใช้ทั้งหมด
  - จำนวนผู้ใช้ใหม่
  - จำนวนผู้ใช้ที่ Active
  - จำนวนผู้ใช้ที่ถูกระงับ
- **กราฟ**
  - กราฟผู้ใช้ใหม่รายวัน/สัปดาห์/เดือน
  - กราฟสัดส่วนผู้ใช้ตามบทบาท
  - กราฟการเข้าสู่ระบบรายวัน
- **ตารางข้อมูล**
  - รายชื่อผู้ใช้ใหม่
  - ผู้ใช้ที่ Active มากที่สุด
- ปุ่ม "ส่งออก Excel"
- ปุ่ม "ส่งออก PDF"

---

### 5.2 หน้ารายงานหลักสูตร (Course Report)
| รายละเอียด | คำอธิบาย |
|------------|----------|
| **Screen ID** | RPT-002 |
| **Screen Name** | Course Report |
| **วัตถุประสงค์** | หน้าแสดงรายงานเกี่ยวกับหลักสูตรในระบบ |

**องค์ประกอบหน้าจอ:**
- ตัวเลือกช่วงเวลา (Date Range Picker)
- **สถิติภาพรวม**
  - จำนวนหลักสูตรทั้งหมด
  - หลักสูตรที่เผยแพร่
  - หลักสูตรฉบับร่าง
  - อัตราการลงทะเบียนเฉลี่ย
- **กราฟ**
  - กราฟหลักสูตรใหม่รายเดือน
  - กราฟการลงทะเบียนต่อหลักสูตร
  - กราฟอัตราการจบหลักสูตร
  - กราฟหลักสูตรยอดนิยม (Top 10)
- **ตารางข้อมูล**
  - หลักสูตรยอดนิยม
  - หลักสูตรที่สร้างล่าสุด
- ปุ่ม "ส่งออก Excel"
- ปุ่ม "ส่งออก PDF"

---

### 5.3 หน้ารายงานการเรียน (Learning Report)
| รายละเอียด | คำอธิบาย |
|------------|----------|
| **Screen ID** | RPT-003 |
| **Screen Name** | Learning Report |
| **วัตถุประสงค์** | หน้าแสดงรายงานสถิติการเรียนรู้ในระบบ |

**องค์ประกอบหน้าจอ:**
- ตัวเลือกช่วงเวลา (Date Range Picker)
- Dropdown เลือกหลักสูตร (หรือทั้งหมด)
- **สถิติภาพรวม**
  - จำนวนการลงทะเบียนทั้งหมด
  - อัตราการจบหลักสูตรเฉลี่ย
  - เวลาเรียนเฉลี่ย
  - คะแนนแบบทดสอบเฉลี่ย
- **กราฟ**
  - กราฟความคืบหน้าการเรียน
  - กราฟเวลาเรียนรายวัน
  - กราฟอัตราการผ่านแบบทดสอบ
- **ตารางข้อมูล**
  - ผู้เรียนที่มีความคืบหน้ามากที่สุด
  - ผู้เรียนที่ใช้เวลามากที่สุด
- ปุ่ม "ส่งออก Excel"
- ปุ่ม "ส่งออก PDF"

---

### 5.4 หน้ารายงานการใช้งานระบบ (System Usage Report)
| รายละเอียด | คำอธิบาย |
|------------|----------|
| **Screen ID** | RPT-004 |
| **Screen Name** | System Usage Report |
| **วัตถุประสงค์** | หน้าแสดงรายงานการใช้งานระบบโดยรวม |

**องค์ประกอบหน้าจอ:**
- ตัวเลือกช่วงเวลา (Date Range Picker)
- **สถิติภาพรวม**
  - จำนวนการเข้าชมต่อวัน
  - จำนวน Session เฉลี่ย
  - ระยะเวลาการใช้งานเฉลี่ย
  - พื้นที่จัดเก็บที่ใช้
- **กราฟ**
  - กราฟการเข้าใช้งานรายชั่วโมง
  - กราฟการเข้าใช้งานรายวัน
  - กราฟปริมาณ Storage ที่ใช้
- **ข้อมูลเซิร์ฟเวอร์**
  - สถานะระบบ
  - เวอร์ชันระบบ
  - Uptime
- ปุ่ม "ส่งออก"

---

## 6. ระบบตั้งค่าระบบ

### 6.1 หน้าตั้งค่าทั่วไป (General Settings)
| รายละเอียด | คำอธิบาย |
|------------|----------|
| **Screen ID** | SET-001 |
| **Screen Name** | General Settings |
| **วัตถุประสงค์** | หน้าสำหรับตั้งค่าทั่วไปของระบบ |

**องค์ประกอบหน้าจอ:**
- **ข้อมูลระบบ**
  - ชื่อระบบ
  - โลโก้ระบบ
  - คำอธิบายระบบ
  - อีเมลติดต่อ
- **การตั้งค่าหน้าเว็บ**
  - ภาษาเริ่มต้น
  - Timezone
  - รูปแบบวันที่
- **การตั้งค่าการลงทะเบียน**
  - อนุญาตการสมัครสมาชิก (เปิด/ปิด)
  - ต้องยืนยันอีเมล
  - บทบาทเริ่มต้นสำหรับสมาชิกใหม่
- ปุ่ม "บันทึก"

---



### 6.2 หน้าตั้งค่าการจัดเก็บไฟล์ (Storage Settings)
| รายละเอียด | คำอธิบาย |
|------------|----------|
| **Screen ID** | SET-002 |
| **Screen Name** | Storage Settings |
| **วัตถุประสงค์** | หน้าสำหรับตั้งค่าการจัดเก็บไฟล์ |

**องค์ประกอบหน้าจอ:**
- **ประเภทการจัดเก็บ**
  - Local Storage
  - Cloud Storage (S3, MinIO)
- **การตั้งค่า Cloud (ถ้าเลือก)**
  - Endpoint
  - Access Key
  - Secret Key
  - Bucket Name
  - Region
- **ข้อจำกัด**
  - ขนาดไฟล์สูงสุดที่อนุญาต
  - ประเภทไฟล์ที่อนุญาต
  - พื้นที่จัดเก็บสูงสุดต่อผู้ใช้
- **สถานะปัจจุบัน**
  - พื้นที่ใช้งาน / พื้นที่ทั้งหมด
  - จำนวนไฟล์ทั้งหมด
- ปุ่ม "ทดสอบการเชื่อมต่อ"
- ปุ่ม "บันทึก"

---



### 6.3 หน้า Audit Log (ประวัติการใช้งาน)
| รายละเอียด | คำอธิบาย |
|------------|----------|
| **Screen ID** | SET-003 |
| **Screen Name** | Audit Log |
| **วัตถุประสงค์** | หน้าแสดงประวัติการกระทำสำคัญในระบบ |

**องค์ประกอบหน้าจอ:**
- ตัวกรอง
  - ช่วงเวลา
  - ผู้กระทำ
  - ประเภทกิจกรรม
- ตารางประวัติ
  - วันที่-เวลา
  - ผู้กระทำ
  - กิจกรรม
  - รายละเอียด
  - IP Address
- Pagination
- ปุ่ม "ส่งออก"

**ฟังก์ชันการทำงาน:**
- ค้นหาและกรองประวัติ
- ส่งออกเป็น Excel/CSV

---

## 📊 สรุปจำนวนหน้าจอ

| หมวดหมู่ | จำนวนหน้าจอ |
|----------|-------------|
| ระบบยืนยันตัวตน | 3 |
| Dashboard | 1 |
| ระบบจัดการโปรไฟล์ | 3 |
| ระบบจัดการผู้ใช้งาน | 4 |
| ระบบรายงานและสถิติ | 4 |
| ระบบตั้งค่าระบบ | 3 |
| **รวมทั้งหมด** | **18** |

---

## 📝 หมายเหตุ

1. **Screen ID** ใช้รูปแบบ `[หมวด]-[ลำดับ]` เพื่อง่ายต่อการอ้างอิง
2. หน้าจอสำหรับ Admin เน้นการจัดการระบบภาพรวม ไม่รวมฟังก์ชันการสอนหรือเรียน
3. บางฟังก์ชันอาจปรับลดหรือเพิ่มเติมได้ตามความต้องการของโปรเจกต์
4. URL ที่ระบุเป็นตัวอย่างโครงสร้าง สามารถปรับเปลี่ยนได้ตามความเหมาะสม
5. Admin สามารถเข้าถึงข้อมูลทุกหลักสูตรและผู้ใช้ได้ แต่ไม่สามารถแก้ไขเนื้อหาการสอนโดยตรง
