โปรเจกต์นี้เป็นเว็บแอปพลิเคชันพื้นฐานสำหรับจัดการรายวิชาแบบสองฝั่ง คือ
- นักเรียนเข้าเรียนด้วย
รหัสวิชา - อาจารย์สร้าง/แก้ไขเนื้อหาบทเรียนและไฟล์แนบได้
แอปนี้สร้างด้วย Next.js 15 และ React 19 บนโครงสร้าง App Router
- หน้าโฮมสวยงาม พร้อมลิงก์เข้าสู่ระบบนักเรียนและโหมดอาจารย์
- หน้า
courseให้กรอกรหัสวิชาเพื่อเข้าสู่ระบบนักเรียน - ฟอร์มลอยสำหรับอาจารย์ เพื่อสร้างหรือเข้าใช้งานวิชาใหม่
- backend API ตรวจรหัสวิชาและสร้างวิชาใหม่ผ่าน MySQL
- อาจารย์สามารถสร้างหัวข้อเนื้อหา, อัปโหลดไฟล์/รูป, ใส่ลิงก์ และบันทึกข้อมูลลง
localStorage - นักเรียนสามารถดูเนื้อหาที่อาจารย์สร้างไว้ และเปิดไฟล์/ลิงก์ได้
- ระบบคอมเมนต์ Q&A ระหว่างนักเรียนกับอาจารย์โดยเก็บใน
localStorage
app/page.js- หน้าแรกของเว็บapp/course/page.js- หน้าเข้าสู่ระบบโดยใช้รหัสวิชาapp/[subjectCode]/page.js- หน้าสำหรับนักเรียนดูเนื้อหาapp/teacher/[subjectCode]/page.js- หน้าสำหรับอาจารย์แก้ไขคอร์สapp/api/courses/route.js- API สำหรับสร้างวิชาใหม่app/api/courses/check/route.js- API ตรวจรหัสวิชาว่ามีอยู่ในระบบหรือไม่lib/db.js- ตั้งค่าการเชื่อมต่อฐานข้อมูล MySQLapp/globals.css- สไตล์หลักของแอปapp/course/style.css- สไตล์หน้าเขตนักเรียน/อาจารย์
- ติดตั้ง dependencies
npm install- รันโหมดพัฒนา
npm run dev- เปิดเว็บที่
http://localhost:3000
ไฟล์ lib/db.js เชื่อมต่อกับ MySQL โดยใช้ค่าดังนี้:
- host:
localhost - user:
root - password: `` (ว่าง)
- database:
lmsme
ตัวอย่างตาราง classt ใน MySQL:
CREATE TABLE classt (
id INT AUTO_INCREMENT PRIMARY KEY,
teacher_name VARCHAR(255),
subject_name VARCHAR(255),
subject_code VARCHAR(50)
);หมายเหตุ: ถ้าใช้ XAMPP ให้ตรวจสอบว่า MySQL ทำงานและชื่อฐานข้อมูล
lmsmeถูกสร้างไว้แล้ว
- ไปที่หน้า
COURSE(เมนูนักเรียน) - กรอกรหัสวิชา เช่น
ABC1 - ถ้ารหัสวิชาถูกต้อง ระบบจะพาไปยังหน้าเนื้อหาวิชา
- คลิกปุ่ม
+ที่หน้าCOURSE - กรอกชื่ออาจารย์, ชื่อวิชา, รหัสวิชา
- ถ้าวิชาไม่มีอยู่ในระบบ จะสามารถสร้างใหม่ได้
- เมื่อเข้าหน้าอาจารย์แล้ว สามารถ:
- สร้างหัวข้อรายวิชา
- เพิ่มเนื้อหา
- อัปโหลดไฟล์หรือรูปภาพ
- ใส่ลิงก์
- บันทึกข้อมูลลง
localStorage
- ใช้ Next.js App Router
- มี API Node.js + MySQL
- ข้อมูลคอร์สภายในฝั่งอาจารย์/นักเรียนเก็บใน
localStorage - มีการสไตลิงและ UI เบื้องต้นในหน้า
course
- ย้ายเนื้อหา course จาก
localStorageไปเก็บในฐานข้อมูลจริง - เพิ่มระบบผู้ใช้ (Authentication) สำหรับครูและนักเรียน
- ใส่ validation ของไฟล์และขนาดให้ชัดเจน
- ทำ UI ให้รองรับมือถือและ Tablet อย่างเต็มรูปแบบ
next15.5.0react19.1.0react-dom19.1.0mysql23.22.3firebase12.12.1
firebase ถูกติดตั้งใน package.json แต่ในโค้ดปัจจุบันยังไม่พบการใช้งานจริง