prompthub.krudevtech.com
สำหรับครูและนักพัฒนา
ค้นพบ Prompt ที่หลากหลายเพื่อช่วยในการสอน การสร้างสื่อ การจัดการเรียนการสอน และการทำงานอย่างมีประสิทธิภาพ
พบ 132 รายการ
บทบาทของคุณ (Role):
คุณคือ Senior Full Stack Developer ผู้เชี่ยวชาญด้าน Google Apps Script (GAS), HTML5, CSS3, Bootstrap 5, JavaScript ES6, Google Workspace (Sheets & Drive) และ LINE Messaging API / LIFF
งานที่ต้องทำ (Task):
ให้สร้าง Web Application "ระบบแจ้งซ่อมออนไลน์ (Smart Maintenance System)" เป็นรูปแบบ Single-Page Application โดยรวมไฟล์ HTML, CSS, JavaScript ไว้ในไฟล์เดียวกันทั้งหมด และเขียนโค้ด Backend (Code.gs) ไว้ให้คัดลอกไปใช้งาน
ข้อกำหนดทางเทคนิค (Technical Requirements):
1. Frontend: HTML5, CSS3, Bootstrap 5, Font Awesome, SweetAlert2, Chart.js
2. Backend: Google Apps Script (GAS)
3. Database: Google Sheets (บันทึกข้อมูลแบบต่อแถวลงท้าย)
4. Storage: Google Drive (อัปโหลดรูปภาพแบบแปลงเป็น Base64 แล้วเซฟเป็นไฟล์)
5. Notification: LINE Messaging API ส่งการ์ดแจ้งเตือนแบบ Flex Message เข้า LINE OA
6. Identity: ใช้ LINE LIFF SDK เพื่อให้ผู้ใช้เข้าสู่ระบบและดึง `userId` กับ `displayName` อัตโนมัติ
โครงสร้างหน้าเว็บ (UI/UX - Single Page Application สลับแท็บด้วย JS):
1. แถบ Navigation: เมนูเปลี่ยนหน้า (แจ้งซ่อม, แดชบอร์ด, โค้ดหลังบ้าน) ธีมสีน้ำเงินเข้มสไตล์ Admin
2. แท็บ แจ้งซ่อม (ฟอร์ม):
- แสดงรูปโปรไฟล์และชื่อจาก LIFF เมื่อโหลดสำเร็จ
- ช่องกรอกข้อมูล: ชื่อ (ดึงจาก LIFF อัตโนมัติ), แผนก (Dropdown), รหัสอุปกรณ์, ระดับความเร่งด่วน (ปกติ, ปานกลาง, สูง), รายละเอียดอาการ (Textarea)
- ฟังก์ชันแนบรูปภาพ: กดคลิกเพื่อเลือกรูป แสดง Preview และแปลงรูปภาพนั้นเป็น Base64 String เพื่อเก็บใน hidden input
- ปุ่ม Submit: มีระบบป้องกันการกดซ้ำ และขึ้น Loading
3. แท็บ Dashboard:
- การ์ดสรุปสถิติ (3 ใบ): จำนวนรวม, รอดำเนินการ, เสร็จสิ้น
- กราฟ Chart.js (2 กราฟ): กราฟโดนัท (สถานะงานซ่อม) และกราฟแท่ง (จำนวนซ่อมแยกตามแผนก)
- ตารางรายการแจ้งซ่อม: แสดงข้อมูลดึงมาจาก Google Sheets มี Badge สีแบ่งตามสถานะและความเร่งด่วน
4. แท็บ โค้ดหลังบ้าน (GAS Setup):
- แสดงโค้ด Code.gs ฉบับสมบูรณ์ พร้อมปุ่มกดคัดลอก (Copy to clipboard) เพื่อให้นำไปติดตั้งง่าย
ฟังก์ชันการทำงานส่วน Backend (Code.gs):
1. `doGet(e)`: โหลดหน้าเว็บ Index.html พร้อมตั้ง viewport
2. `submitMaintenanceRequest(formObj)`:
- แปลง Base64 กลับเป็นไฟล์รูปและบันทึกลง Google Drive
- นำ URL รูป และข้อมูลอื่นๆ บันทึกลง Google Sheet
- สร้างรหัส Ticket ID (เช่น REQ-YYYYMMDDHHMMSS)
- เรียกใช้ฟังก์ชันส่ง LINE
3. `sendLineNotification(...)`:
- ส่ง Flex Message ด้วย `UrlFetchApp` แจ้งสถานะ แผนก อาการ และความเร่งด่วน (เปลี่ยนสีข้อความตามความเร่งด่วน) และมีปุ่มเปิดดูรูปภาพ
4. `getDashboardData()`: ดึงข้อมูลจาก Google Sheets ส่งกลับมาให้หน้าบ้านแสดงตารางและวาดกราฟ
เงื่อนไขพิเศษสำหรับการเขียนโค้ด:
- โค้ด HTML ทั้งหมดต้องอยู่ในแท็ก
\`\`\`\`html\`
- ให้เขียน JS ดักจับสภาพแวดล้อม: หากรันใน `google.script.run` ให้เชื่อมต่อฐานข้อมูลจริง แต่ถ้าไม่พบ (เช่นรันเปิดไฟล์ในเครื่องปกติ) ให้ใช้ `setTimeout` จำลองข้อมูล (Mock Data) แทนเพื่อไม่ให้หน้าจอพังตอน Preview
- อธิบายขั้นตอนการตั้งค่าหลังบ้าน (Sheet, Drive Folder, LINE Token, LIFF ID) ไว้ในหน้าเว็บหรือใต้โค้ดให้เข้าใจง่าย
บทบาทของคุณ (Role):
คุณคือ Senior Full Stack Developer ผู้เชี่ยวชาญด้าน Google Apps Script (GAS), HTML5, CSS3, Bootstrap 5, JavaScript ES6, Google Workspace (Sheets & Drive) และ LINE Messaging API / LIFF
งานที่ต้องทำ (Task):
ให้สร้าง Web Application "ระบบแจ้งซ่อมออนไลน์ (Smart Maintenance System)" เป็นรูปแบบ Single-Page Application โดยรวมไฟล์ HTML, CSS, JavaScript ไว้ในไฟล์เดียวกันทั้งหมด และเขียนโค้ด Backend (Code.gs) ไว้ให้คัดลอกไปใช้งาน
ข้อกำหนดทางเทคนิค (Technical Requirements):
1. Frontend: HTML5, CSS3, Bootstrap 5, Font Awesome, SweetAlert2, Chart.js
2. Backend: Google Apps Script (GAS)
3. Database: Google Sheets (บันทึกข้อมูลแบบต่อแถวลงท้าย)
4. Storage: Google Drive (อัปโหลดรูปภาพแบบแปลงเป็น Base64 แล้วเซฟเป็นไฟล์)
5. Notification: LINE Messaging API ส่งการ์ดแจ้งเตือนแบบ Flex Message เข้า LINE OA
6. Identity: ใช้ LINE LIFF SDK เพื่อให้ผู้ใช้เข้าสู่ระบบและดึง `userId` กับ `displayName` อัตโนมัติ
โครงสร้างหน้าเว็บ (UI/UX - Single Page Application สลับแท็บด้วย JS):
1. แถบ Navigation: เมนูเปลี่ยนหน้า (แจ้งซ่อม, แดชบอร์ด, โค้ดหลังบ้าน) ธีมสีน้ำเงินเข้มสไตล์ Admin
2. แท็บ แจ้งซ่อม (ฟอร์ม):
- แสดงรูปโปรไฟล์และชื่อจาก LIFF เมื่อโหลดสำเร็จ
- ช่องกรอกข้อมูล: ชื่อ (ดึงจาก LIFF อัตโนมัติ), แผนก (Dropdown), รหัสอุปกรณ์, ระดับความเร่งด่วน (ปกติ, ปานกลาง, สูง), รายละเอียดอาการ (Textarea)
- ฟังก์ชันแนบรูปภาพ: กดคลิกเพื่อเลือกรูป แสดง Preview และแปลงรูปภาพนั้นเป็น Base64 String เพื่อเก็บใน hidden input
- ปุ่ม Submit: มีระบบป้องกันการกดซ้ำ และขึ้น Loading
3. แท็บ Dashboard:
- การ์ดสรุปสถิติ (3 ใบ): จำนวนรวม, รอดำเนินการ, เสร็จสิ้น
- กราฟ Chart.js (2 กราฟ): กราฟโดนัท (สถานะงานซ่อม) และกราฟแท่ง (จำนวนซ่อมแยกตามแผนก)
- ตารางรายการแจ้งซ่อม: แสดงข้อมูลดึงมาจาก Google Sheets มี Badge สีแบ่งตามสถานะและความเร่งด่วน
4. แท็บ โค้ดหลังบ้าน (GAS Setup):
- แสดงโค้ด Code.gs ฉบับสมบูรณ์ พร้อมปุ่มกดคัดลอก (Copy to clipboard) เพื่อให้นำไปติดตั้งง่าย
ฟังก์ชันการทำงานส่วน Backend (Code.gs):
1. `doGet(e)`: โหลดหน้าเว็บ Index.html พร้อมตั้ง viewport
2. `submitMaintenanceRequest(formObj)`:
- แปลง Base64 กลับเป็นไฟล์รูปและบันทึกลง Google Drive
- นำ URL รูป และข้อมูลอื่นๆ บันทึกลง Google Sheet
- สร้างรหัส Ticket ID (เช่น REQ-YYYYMMDDHHMMSS)
- เรียกใช้ฟังก์ชันส่ง LINE
3. `sendLineNotification(...)`:
- ส่ง Flex Message ด้วย `UrlFetchApp` แจ้งสถานะ แผนก อาการ และความเร่งด่วน (เปลี่ยนสีข้อความตามความเร่งด่วน) และมีปุ่มเปิดดูรูปภาพ
4. `getDashboardData()`: ดึงข้อมูลจาก Google Sheets ส่งกลับมาให้หน้าบ้านแสดงตารางและวาดกราฟ
เงื่อนไขพิเศษสำหรับการเขียนโค้ด:
- โค้ด HTML ทั้งหมดต้องอยู่ในแท็ก
\`\`\`\`html\`
- ให้เขียน JS ดักจับสภาพแวดล้อม: หากรันใน `google.script.run` ให้เชื่อมต่อฐานข้อมูลจริง แต่ถ้าไม่พบ (เช่นรันเปิดไฟล์ในเครื่องปกติ) ให้ใช้ `setTimeout` จำลองข้อมูล (Mock Data) แทนเพื่อไม่ให้หน้าจอพังตอน Preview
- อธิบายขั้นตอนการตั้งค่าหลังบ้าน (Sheet, Drive Folder, LINE Token, LIFF ID) ไว้ในหน้าเว็บหรือใต้โค้ดให้เข้าใจง่าย
คุณเป็น Senior Full Stack Developer และ System Analyst
ช่วยสร้าง ระบบสารสนเทศหน่วยงาน (Organization Information System) แบบครบวงจร รองรับการใช้งานจริงของหน่วยงานราชการ โรงเรียน มหาวิทยาลัย หรือองค์กรเอกชน
Technology
ใช้
* PHP 8.2
* MySQL
* HTML5
* CSS3
* Bootstrap 5
* AdminLTE 3
* JavaScript
* jQuery
* SweetAlert2
* DataTables
* Chart.js
* Font Awesome
* PHPMailer
* mPDF
* PhpSpreadsheet
ออกแบบโค้ดแบบ MVC
แบ่ง
* Controller
* Model
* View
โค้ดต้องเป็นมาตรฐาน
มี Security
* SQL Injection
* XSS
* CSRF
* Password Hash
* Session Login
* Input Validation
⸻
Dashboard
Dashboard สวยงาม Modern
แสดง
* จำนวนบุคลากร
* จำนวนหน่วยงาน
* จำนวนข่าวประชาสัมพันธ์
* จำนวนเอกสาร
* จำนวนครุภัณฑ์
* จำนวนรถราชการ
* จำนวนผู้ใช้งาน
* จำนวนผู้เข้าชมเว็บไซต์
แสดงกราฟ
* บุคลากรแต่ละฝ่าย
* ข่าวย้อนหลัง
* งบประมาณ
* การใช้งานระบบ
* Login Report
Chart.js
⸻
ระบบ Login
รองรับ
Admin
Director
Manager
Officer
Staff
Guest
Login
Forgot Password
Reset Password
Remember Me
Google Login (Optional)
OTP Email
2FA
Log Login
Logout
⸻
ระบบผู้ใช้งาน
เพิ่ม
แก้ไข
ลบ
ค้นหา
กำหนดสิทธิ์
Reset Password
Upload รูป
Export Excel
Export PDF
Print
⸻
ระบบบุคลากร
ข้อมูล
รหัส
เลขบัตรประชาชน
ชื่อ
นามสกุล
เพศ
วันเกิด
อายุ
ตำแหน่ง
วิทยฐานะ
ระดับ
กลุ่มงาน
หน่วยงาน
เบอร์โทร
Email
Line ID
Facebook
ที่อยู่
วุฒิการศึกษา
ประวัติการทำงาน
ประวัติการอบรม
รูปภาพ
แนบไฟล์
⸻
ระบบหน่วยงาน
เพิ่ม
แก้ไข
ลบ
ค้นหา
ลำดับ
ชื่อหน่วยงาน
หัวหน้าหน่วยงาน
คำอธิบาย
Logo
สีประจำหน่วยงาน
⸻
ระบบข่าวประชาสัมพันธ์
เพิ่ม
แก้ไข
ลบ
หมวดหมู่
Tag
Banner
Gallery
Video
PDF
กำหนดวันเผยแพร่
ปักหมุดข่าว
SEO URL
Share Facebook
⸻
ระบบเอกสาร
รับหนังสือ
ส่งหนังสือ
เลขที่หนังสือ
วันที่
เรื่อง
ผู้ส่ง
ผู้รับ
สถานะ
ไฟล์ PDF
ค้นหา
Export
QR Code
Barcode
⸻
ระบบครุภัณฑ์
เลขครุภัณฑ์
ชื่อ
ประเภท
ยี่ห้อ
รุ่น
Serial
ราคา
ปีงบประมาณ
ห้อง
ผู้รับผิดชอบ
รูปภาพ
QR Code
Barcode
ยืมคืน
แจ้งซ่อม
ประวัติ
⸻
ระบบรถราชการ
ทะเบียน
รุ่น
ยี่ห้อ
สี
ประเภทรถ
ผู้รับผิดชอบ
ประกัน
ภาษี
ตรวจสภาพ
ประวัติซ่อม
จองรถ
อนุมัติ
ปฏิทินการใช้งาน
⸻
ระบบห้องประชุม
เพิ่มห้อง
รูปภาพ
จำนวนที่นั่ง
อุปกรณ์
จองห้อง
อนุมัติ
Calendar
Google Calendar
⸻
ระบบปฏิทิน
กิจกรรม
ประชุม
อบรม
วันหยุด
Google Calendar
FullCalendar
⸻
ระบบดาวน์โหลดเอกสาร
หมวดหมู่
ไฟล์
จำนวนดาวน์โหลด
Version
Upload
Preview PDF
⸻
ระบบประกาศ
Popup
Banner
Scrolling Text
Notification
⸻
ระบบแบบฟอร์มออนไลน์
สร้างแบบฟอร์มเองได้
Text
Textarea
Date
Time
Number
Dropdown
Checkbox
Radio
Upload File
Signature
Export Excel
PDF
⸻
ระบบร้องเรียน
ส่งเรื่อง
แนบไฟล์
ติดตามสถานะ
Admin ตอบกลับ
Email แจ้งเตือน
⸻
ระบบติดต่อเรา
Google Maps
เบอร์โทร
Email
Social
ฟอร์มติดต่อ
Captcha
⸻
ระบบรายงาน
รายงานทุกโมดูล
Export
PDF
Excel
CSV
Word
Print
Dashboard
⸻
ระบบแจ้งเตือน
Notification
Bell
Email
Line Notify (Optional)
Telegram (Optional)
⸻
ระบบเว็บไซต์
หน้าแรก
เกี่ยวกับเรา
วิสัยทัศน์
พันธกิจ
โครงสร้างองค์กร
ผู้บริหาร
บุคลากร
ข่าว
กิจกรรม
ดาวน์โหลด
FAQ
ติดต่อเรา
Responsive
SEO
⸻
ตั้งค่าระบบ
Logo
Favicon
ชื่อระบบ
ชื่อหน่วยงาน
ที่อยู่
โทรศัพท์
Email
SMTP
Theme
Dark Mode
Light Mode
ภาษา
ปีงบประมาณ
Backup Database
Restore Database
Maintenance Mode
⸻
ระบบ Log
Log Login
Log User
Log Delete
Log Edit
Log Export
Activity Log
Audit Trail
⸻
Database
ออกแบบ ER Diagram
MySQL
Primary Key
Foreign Key
Normalization
สร้าง SQL พร้อมใช้งาน
⸻
UI
Modern
Professional
Responsive
Bootstrap 5
AdminLTE 3
Sidebar
Mega Menu
Card
Modal
Animation
Loading
Skeleton
Dark Mode
Mobile Friendly
⸻
Dashboard Widget
Weather
Calendar
Clock
Announcement
Quick Menu
Recent Activity
Visitors
Statistics
Charts
⸻
Search
Global Search
Filter
Advanced Search
Auto Complete
⸻
API
REST API
JSON
JWT Authentication
Swagger Documentation
⸻
Security
CSRF
XSS
SQL Injection
Password Hash
Role Permission
Session Timeout
reCAPTCHA
HTTPS Ready
⸻
Backup
Auto Backup
Manual Backup
Restore
Download SQL
⸻
File Upload
PDF
DOCX
XLSX
ZIP
PNG
JPG
WEBP
MP4
จำกัดขนาดไฟล์
Rename File
Preview
⸻
AI Features
ค้นหาข้อมูลด้วย AI
สรุปรายงานด้วย AI
Chatbot ผู้ช่วยใช้งานระบบ
AI ช่วยเขียนข่าว
AI ช่วยตอบคำถาม
AI วิเคราะห์ข้อมูล Dashboard
⸻
ผลลัพธ์ที่ต้องการ
ให้สร้างระบบทั้งหมดแบบพร้อมใช้งานจริง
ประกอบด้วย
* โครงสร้างโฟลเดอร์ทั้งหมด
* Database SQL
* ER Diagram
* Source Code ทุกไฟล์
* Controller
* Model
* View
* Config
* Assets
* Login
* Dashboard
* CRUD ทุกโมดูล
* Export PDF
* Export Excel
* Responsive Design
* API
* คู่มือการติดตั้ง
* คู่มือการใช้งาน
* คู่มือผู้ดูแลระบบ
ทุกหน้าต้องมี UI ระดับมืออาชีพ ใช้งานง่าย โหลดเร็ว รองรับมือถือ และสามารถนำไป Deploy บน Shared Hosting หรือ VPS ได้ทันที
คุณเป็น Senior Full Stack Developer และ System Analyst
ช่วยสร้าง ระบบสารสนเทศหน่วยงาน (Organization Information System) แบบครบวงจร รองรับการใช้งานจริงของหน่วยงานราชการ โรงเรียน มหาวิทยาลัย หรือองค์กรเอกชน
Technology
ใช้
* PHP 8.2
* MySQL
* HTML5
* CSS3
* Bootstrap 5
* AdminLTE 3
* JavaScript
* jQuery
* SweetAlert2
* DataTables
* Chart.js
* Font Awesome
* PHPMailer
* mPDF
* PhpSpreadsheet
ออกแบบโค้ดแบบ MVC
แบ่ง
* Controller
* Model
* View
โค้ดต้องเป็นมาตรฐาน
มี Security
* SQL Injection
* XSS
* CSRF
* Password Hash
* Session Login
* Input Validation
⸻
Dashboard
Dashboard สวยงาม Modern
แสดง
* จำนวนบุคลากร
* จำนวนหน่วยงาน
* จำนวนข่าวประชาสัมพันธ์
* จำนวนเอกสาร
* จำนวนครุภัณฑ์
* จำนวนรถราชการ
* จำนวนผู้ใช้งาน
* จำนวนผู้เข้าชมเว็บไซต์
แสดงกราฟ
* บุคลากรแต่ละฝ่าย
* ข่าวย้อนหลัง
* งบประมาณ
* การใช้งานระบบ
* Login Report
Chart.js
⸻
ระบบ Login
รองรับ
Admin
Director
Manager
Officer
Staff
Guest
Login
Forgot Password
Reset Password
Remember Me
Google Login (Optional)
OTP Email
2FA
Log Login
Logout
⸻
ระบบผู้ใช้งาน
เพิ่ม
แก้ไข
ลบ
ค้นหา
กำหนดสิทธิ์
Reset Password
Upload รูป
Export Excel
Export PDF
Print
⸻
ระบบบุคลากร
ข้อมูล
รหัส
เลขบัตรประชาชน
ชื่อ
นามสกุล
เพศ
วันเกิด
อายุ
ตำแหน่ง
วิทยฐานะ
ระดับ
กลุ่มงาน
หน่วยงาน
เบอร์โทร
Email
Line ID
Facebook
ที่อยู่
วุฒิการศึกษา
ประวัติการทำงาน
ประวัติการอบรม
รูปภาพ
แนบไฟล์
⸻
ระบบหน่วยงาน
เพิ่ม
แก้ไข
ลบ
ค้นหา
ลำดับ
ชื่อหน่วยงาน
หัวหน้าหน่วยงาน
คำอธิบาย
Logo
สีประจำหน่วยงาน
⸻
ระบบข่าวประชาสัมพันธ์
เพิ่ม
แก้ไข
ลบ
หมวดหมู่
Tag
Banner
Gallery
Video
PDF
กำหนดวันเผยแพร่
ปักหมุดข่าว
SEO URL
Share Facebook
⸻
ระบบเอกสาร
รับหนังสือ
ส่งหนังสือ
เลขที่หนังสือ
วันที่
เรื่อง
ผู้ส่ง
ผู้รับ
สถานะ
ไฟล์ PDF
ค้นหา
Export
QR Code
Barcode
⸻
ระบบครุภัณฑ์
เลขครุภัณฑ์
ชื่อ
ประเภท
ยี่ห้อ
รุ่น
Serial
ราคา
ปีงบประมาณ
ห้อง
ผู้รับผิดชอบ
รูปภาพ
QR Code
Barcode
ยืมคืน
แจ้งซ่อม
ประวัติ
⸻
ระบบรถราชการ
ทะเบียน
รุ่น
ยี่ห้อ
สี
ประเภทรถ
ผู้รับผิดชอบ
ประกัน
ภาษี
ตรวจสภาพ
ประวัติซ่อม
จองรถ
อนุมัติ
ปฏิทินการใช้งาน
⸻
ระบบห้องประชุม
เพิ่มห้อง
รูปภาพ
จำนวนที่นั่ง
อุปกรณ์
จองห้อง
อนุมัติ
Calendar
Google Calendar
⸻
ระบบปฏิทิน
กิจกรรม
ประชุม
อบรม
วันหยุด
Google Calendar
FullCalendar
⸻
ระบบดาวน์โหลดเอกสาร
หมวดหมู่
ไฟล์
จำนวนดาวน์โหลด
Version
Upload
Preview PDF
⸻
ระบบประกาศ
Popup
Banner
Scrolling Text
Notification
⸻
ระบบแบบฟอร์มออนไลน์
สร้างแบบฟอร์มเองได้
Text
Textarea
Date
Time
Number
Dropdown
Checkbox
Radio
Upload File
Signature
Export Excel
PDF
⸻
ระบบร้องเรียน
ส่งเรื่อง
แนบไฟล์
ติดตามสถานะ
Admin ตอบกลับ
Email แจ้งเตือน
⸻
ระบบติดต่อเรา
Google Maps
เบอร์โทร
Email
Social
ฟอร์มติดต่อ
Captcha
⸻
ระบบรายงาน
รายงานทุกโมดูล
Export
PDF
Excel
CSV
Word
Print
Dashboard
⸻
ระบบแจ้งเตือน
Notification
Bell
Email
Line Notify (Optional)
Telegram (Optional)
⸻
ระบบเว็บไซต์
หน้าแรก
เกี่ยวกับเรา
วิสัยทัศน์
พันธกิจ
โครงสร้างองค์กร
ผู้บริหาร
บุคลากร
ข่าว
กิจกรรม
ดาวน์โหลด
FAQ
ติดต่อเรา
Responsive
SEO
⸻
ตั้งค่าระบบ
Logo
Favicon
ชื่อระบบ
ชื่อหน่วยงาน
ที่อยู่
โทรศัพท์
Email
SMTP
Theme
Dark Mode
Light Mode
ภาษา
ปีงบประมาณ
Backup Database
Restore Database
Maintenance Mode
⸻
ระบบ Log
Log Login
Log User
Log Delete
Log Edit
Log Export
Activity Log
Audit Trail
⸻
Database
ออกแบบ ER Diagram
MySQL
Primary Key
Foreign Key
Normalization
สร้าง SQL พร้อมใช้งาน
⸻
UI
Modern
Professional
Responsive
Bootstrap 5
AdminLTE 3
Sidebar
Mega Menu
Card
Modal
Animation
Loading
Skeleton
Dark Mode
Mobile Friendly
⸻
Dashboard Widget
Weather
Calendar
Clock
Announcement
Quick Menu
Recent Activity
Visitors
Statistics
Charts
⸻
Search
Global Search
Filter
Advanced Search
Auto Complete
⸻
API
REST API
JSON
JWT Authentication
Swagger Documentation
⸻
Security
CSRF
XSS
SQL Injection
Password Hash
Role Permission
Session Timeout
reCAPTCHA
HTTPS Ready
⸻
Backup
Auto Backup
Manual Backup
Restore
Download SQL
⸻
File Upload
PDF
DOCX
XLSX
ZIP
PNG
JPG
WEBP
MP4
จำกัดขนาดไฟล์
Rename File
Preview
⸻
AI Features
ค้นหาข้อมูลด้วย AI
สรุปรายงานด้วย AI
Chatbot ผู้ช่วยใช้งานระบบ
AI ช่วยเขียนข่าว
AI ช่วยตอบคำถาม
AI วิเคราะห์ข้อมูล Dashboard
⸻
ผลลัพธ์ที่ต้องการ
ให้สร้างระบบทั้งหมดแบบพร้อมใช้งานจริง
ประกอบด้วย
* โครงสร้างโฟลเดอร์ทั้งหมด
* Database SQL
* ER Diagram
* Source Code ทุกไฟล์
* Controller
* Model
* View
* Config
* Assets
* Login
* Dashboard
* CRUD ทุกโมดูล
* Export PDF
* Export Excel
* Responsive Design
* API
* คู่มือการติดตั้ง
* คู่มือการใช้งาน
* คู่มือผู้ดูแลระบบ
ทุกหน้าต้องมี UI ระดับมืออาชีพ ใช้งานง่าย โหลดเร็ว รองรับมือถือ และสามารถนำไป Deploy บน Shared Hosting หรือ VPS ได้ทันที
สร้างระบบแบบทดสอบออนไลน์ (Online Quiz System) โดยใช้
* Google Apps Script (code.gs)
* HTML/CSS/JavaScript (index.html)
* Google Sheets เป็นฐานข้อมูล
* รองรับการนำเข้าข้อสอบจากไฟล์ CSV หรือ Excel ได้ง่าย
* รองรับการจัดการข้อสอบผ่านหน้า Admin
* รองรับการกำหนดเวลาสอบ
* ป้องกันการทำข้อสอบซ้ำด้วยรหัสนักเรียน
* แสดงคะแนนและเฉลยหลังส่งข้อสอบได้
* รองรับภาษาไทยเต็มรูปแบบ
* ดีไซน์สวยงาม Responsive ใช้งานได้ทั้งมือถือและคอมพิวเตอร์
---
## โครงสร้างระบบ
### Google Sheet ให้มี 4 ชีต
#### 1. Sheet: QUESTIONS
เก็บข้อสอบ
คอลัมน์ดังนี้
| A | B | C | D | E | F | G | H |
| -- | -------- | ------- | ------- | ------- | ------- | ------- | ----- |
| ID | Question | ChoiceA | ChoiceB | ChoiceC | ChoiceD | Correct | Score |
ตัวอย่าง
| 1 | AI คืออะไร | ปัญญาประดิษฐ์ | เกม | อินเทอร์เน็ต | โปรแกรมพิมพ์งาน | A | 1 |
---
#### 2. Sheet: SETTINGS
เก็บค่าระบบ
| A | B |
| --------------- | ------------------ |
| quiz_title | แบบทดสอบความรู้ AI |
| duration | 30 |
| show_score | TRUE |
| show_answer | TRUE |
| random_question | FALSE |
duration = เวลาสอบ (นาที)
---
#### 3. Sheet: STUDENTS
เก็บข้อมูลผู้เข้าสอบ
| รหัสนักเรียน | คำนำหน้า | ชื่อ | นามสกุล | เวลาส่ง | คะแนน |
---
#### 4. Sheet: ANSWERS
เก็บคำตอบนักเรียน
| รหัสนักเรียน | ข้อที่ | คำตอบ | ถูกต้อง |
---
# ความสามารถที่ต้องมี
## 1. หน้า Login นักเรียน
ให้นักเรียนกรอก
* รหัสนักเรียน
* คำนำหน้า
* ชื่อ
* นามสกุล
ตรวจสอบว่า
* หากรหัสนักเรียนนี้เคยสอบแล้ว → ห้ามเข้าสอบซ้ำ
* แจ้งเตือนว่า “คุณได้ทำแบบทดสอบไปแล้ว”
---
## 2. หน้าแบบทดสอบ
### คุณสมบัติ
* ดึงข้อสอบจาก Google Sheets
* แสดงทีละข้อหรือทั้งหมดก็ได้
* รองรับข้อสอบ 4 ตัวเลือก
* มีตัวจับเวลาถอยหลัง
* เมื่อหมดเวลาให้ส่งอัตโนมัติ
* ปุ่ม “ส่งคำตอบ”
---
## 3. ระบบตรวจคะแนนอัตโนมัติ
เมื่อส่งข้อสอบ
* ตรวจคำตอบ
* คำนวณคะแนน
* บันทึกลง Google Sheets
* บันทึกคำตอบทุกข้อ
---
## 4. หน้าแสดงผลคะแนน
แสดง
* คะแนนรวม
* จำนวนข้อถูก
* จำนวนข้อผิด
* เฉลย (ถ้าเปิดใน SETTINGS)
---
## 5. ระบบ Admin
สร้างหน้า Admin สำหรับจัดการข้อสอบ
### ความสามารถ
* เพิ่มข้อสอบ
* แก้ไขข้อสอบ
* ลบข้อสอบ
* ตั้งเวลาสอบ
* เปิด/ปิดการแสดงคะแนน
* เปิด/ปิดเฉลย
* ดูรายชื่อนักเรียน
* ดูคะแนนทั้งหมด
---
## 6. ระบบ Import CSV / Excel
### ต้องรองรับ
* อัปโหลดไฟล์ CSV
* อัปโหลดไฟล์ Excel (.xlsx)
เมื่ออัปโหลดแล้ว
* นำข้อมูลเข้าสู่ชีต QUESTIONS อัตโนมัติ
* ตรวจสอบรูปแบบคอลัมน์
* แจ้งเตือนหากข้อมูลผิดรูปแบบ
---
# ไฟล์ที่ต้องสร้าง
## 1. code.gs
ให้มีฟังก์ชัน
* doGet()
* getQuestions()
* submitQuiz()
* checkDuplicateStudent()
* importCSV()
* importExcel()
* getSettings()
* saveSettings()
และเชื่อม Google Sheets
---
## 2. index.html
ประกอบด้วย
* หน้า Login
* หน้า Quiz
* หน้า Result
* Timer
* Responsive Design
* ใช้ Bootstrap หรือ Tailwind CSS
---
## 3. admin.html
สำหรับผู้ดูแลระบบ
มีเมนู
* จัดการข้อสอบ
* Import CSV/Excel
* ตั้งค่าเวลา
* ดูคะแนน
---
## 4. script.html
JavaScript Frontend
ประกอบด้วย
* โหลดข้อสอบ
* นับเวลา
* ส่งคำตอบ
* ตรวจสอบข้อมูล
* เรียกใช้งาน google.script.run
---
# UI/UX
ขอให้ดีไซน์สวย ทันสมัย
โทนสี
* น้ำเงิน
* ขาว
* Gradient
มี
* Card Layout
* Progress Bar
* SweetAlert2
* Loading Animation
---
# ความปลอดภัย
* ป้องกันการรีเฟรชแล้วเริ่มใหม่
* ป้องกันส่งซ้ำ
* ตรวจสอบข้อมูลก่อนบันทึก
* จำกัดสิทธิ์ Admin
---
# Deployment
อธิบายวิธี Deploy
1. Deploy as Web App
2. Anyone with link
3. วิธีเชื่อม Google Sheet
4. วิธี Import CSV/Excel
---
# ต้องการผลลัพธ์
ให้สร้างโค้ดแบบพร้อมใช้งานจริงทั้งหมด ได้แก่
* code.gs
* index.html
* admin.html
* script.html
* style.css
พร้อมอธิบายการติดตั้งทีละขั้นตอน
สร้างระบบแบบทดสอบออนไลน์ (Online Quiz System) โดยใช้
* Google Apps Script (code.gs)
* HTML/CSS/JavaScript (index.html)
* Google Sheets เป็นฐานข้อมูล
* รองรับการนำเข้าข้อสอบจากไฟล์ CSV หรือ Excel ได้ง่าย
* รองรับการจัดการข้อสอบผ่านหน้า Admin
* รองรับการกำหนดเวลาสอบ
* ป้องกันการทำข้อสอบซ้ำด้วยรหัสนักเรียน
* แสดงคะแนนและเฉลยหลังส่งข้อสอบได้
* รองรับภาษาไทยเต็มรูปแบบ
* ดีไซน์สวยงาม Responsive ใช้งานได้ทั้งมือถือและคอมพิวเตอร์
---
## โครงสร้างระบบ
### Google Sheet ให้มี 4 ชีต
#### 1. Sheet: QUESTIONS
เก็บข้อสอบ
คอลัมน์ดังนี้
| A | B | C | D | E | F | G | H |
| -- | -------- | ------- | ------- | ------- | ------- | ------- | ----- |
| ID | Question | ChoiceA | ChoiceB | ChoiceC | ChoiceD | Correct | Score |
ตัวอย่าง
| 1 | AI คืออะไร | ปัญญาประดิษฐ์ | เกม | อินเทอร์เน็ต | โปรแกรมพิมพ์งาน | A | 1 |
---
#### 2. Sheet: SETTINGS
เก็บค่าระบบ
| A | B |
| --------------- | ------------------ |
| quiz_title | แบบทดสอบความรู้ AI |
| duration | 30 |
| show_score | TRUE |
| show_answer | TRUE |
| random_question | FALSE |
duration = เวลาสอบ (นาที)
---
#### 3. Sheet: STUDENTS
เก็บข้อมูลผู้เข้าสอบ
| รหัสนักเรียน | คำนำหน้า | ชื่อ | นามสกุล | เวลาส่ง | คะแนน |
---
#### 4. Sheet: ANSWERS
เก็บคำตอบนักเรียน
| รหัสนักเรียน | ข้อที่ | คำตอบ | ถูกต้อง |
---
# ความสามารถที่ต้องมี
## 1. หน้า Login นักเรียน
ให้นักเรียนกรอก
* รหัสนักเรียน
* คำนำหน้า
* ชื่อ
* นามสกุล
ตรวจสอบว่า
* หากรหัสนักเรียนนี้เคยสอบแล้ว → ห้ามเข้าสอบซ้ำ
* แจ้งเตือนว่า “คุณได้ทำแบบทดสอบไปแล้ว”
---
## 2. หน้าแบบทดสอบ
### คุณสมบัติ
* ดึงข้อสอบจาก Google Sheets
* แสดงทีละข้อหรือทั้งหมดก็ได้
* รองรับข้อสอบ 4 ตัวเลือก
* มีตัวจับเวลาถอยหลัง
* เมื่อหมดเวลาให้ส่งอัตโนมัติ
* ปุ่ม “ส่งคำตอบ”
---
## 3. ระบบตรวจคะแนนอัตโนมัติ
เมื่อส่งข้อสอบ
* ตรวจคำตอบ
* คำนวณคะแนน
* บันทึกลง Google Sheets
* บันทึกคำตอบทุกข้อ
---
## 4. หน้าแสดงผลคะแนน
แสดง
* คะแนนรวม
* จำนวนข้อถูก
* จำนวนข้อผิด
* เฉลย (ถ้าเปิดใน SETTINGS)
---
## 5. ระบบ Admin
สร้างหน้า Admin สำหรับจัดการข้อสอบ
### ความสามารถ
* เพิ่มข้อสอบ
* แก้ไขข้อสอบ
* ลบข้อสอบ
* ตั้งเวลาสอบ
* เปิด/ปิดการแสดงคะแนน
* เปิด/ปิดเฉลย
* ดูรายชื่อนักเรียน
* ดูคะแนนทั้งหมด
---
## 6. ระบบ Import CSV / Excel
### ต้องรองรับ
* อัปโหลดไฟล์ CSV
* อัปโหลดไฟล์ Excel (.xlsx)
เมื่ออัปโหลดแล้ว
* นำข้อมูลเข้าสู่ชีต QUESTIONS อัตโนมัติ
* ตรวจสอบรูปแบบคอลัมน์
* แจ้งเตือนหากข้อมูลผิดรูปแบบ
---
# ไฟล์ที่ต้องสร้าง
## 1. code.gs
ให้มีฟังก์ชัน
* doGet()
* getQuestions()
* submitQuiz()
* checkDuplicateStudent()
* importCSV()
* importExcel()
* getSettings()
* saveSettings()
และเชื่อม Google Sheets
---
## 2. index.html
ประกอบด้วย
* หน้า Login
* หน้า Quiz
* หน้า Result
* Timer
* Responsive Design
* ใช้ Bootstrap หรือ Tailwind CSS
---
## 3. admin.html
สำหรับผู้ดูแลระบบ
มีเมนู
* จัดการข้อสอบ
* Import CSV/Excel
* ตั้งค่าเวลา
* ดูคะแนน
---
## 4. script.html
JavaScript Frontend
ประกอบด้วย
* โหลดข้อสอบ
* นับเวลา
* ส่งคำตอบ
* ตรวจสอบข้อมูล
* เรียกใช้งาน google.script.run
---
# UI/UX
ขอให้ดีไซน์สวย ทันสมัย
โทนสี
* น้ำเงิน
* ขาว
* Gradient
มี
* Card Layout
* Progress Bar
* SweetAlert2
* Loading Animation
---
# ความปลอดภัย
* ป้องกันการรีเฟรชแล้วเริ่มใหม่
* ป้องกันส่งซ้ำ
* ตรวจสอบข้อมูลก่อนบันทึก
* จำกัดสิทธิ์ Admin
---
# Deployment
อธิบายวิธี Deploy
1. Deploy as Web App
2. Anyone with link
3. วิธีเชื่อม Google Sheet
4. วิธี Import CSV/Excel
---
# ต้องการผลลัพธ์
ให้สร้างโค้ดแบบพร้อมใช้งานจริงทั้งหมด ได้แก่
* code.gs
* index.html
* admin.html
* script.html
* style.css
พร้อมอธิบายการติดตั้งทีละขั้นตอน
คุณคือ Senior Full Stack Developer และ UI/UX Designer มืออาชีพ
จงออกแบบและพัฒนา “เว็บไซต์โรงเรียน” แบบครบระบบ โดยใช้เทคโนโลยีดังนี้
- PHP 8+
- MySQL
- HTML5
- CSS3
- JavaScript
- Bootstrap 5
- Responsive Design
- รองรับ Dark Mode
- ใช้งานได้ทั้งมือถือ Tablet และ Desktop
แนวคิดการออกแบบ:
- ทันสมัย สวยงาม น่าเชื่อถือ
- ใช้โทนสีหลักของโรงเรียน (แดง-เหลือง)
- UI ดูเป็นทางการแต่ทันสมัย
- โหลดเร็ว
- รองรับ SEO
- มี Animation เบา ๆ
- ใช้ Font ภาษาไทยที่อ่านง่าย
- Dashboard ดู Professional
โครงสร้างเว็บไซต์ประกอบด้วย:
1. หน้าแรก (Home)
- Hero Section พร้อมภาพโรงเรียน
- ข่าวประชาสัมพันธ์
- ปฏิทินกิจกรรม
- ผู้บริหาร
- สถิติผู้ใช้งาน
- แนะนำโรงเรียน
- Quick Links
- แกลเลอรีภาพ
- วิดีโอแนะนำโรงเรียน
- Footer ครบถ้วน
2. ระบบข่าวประชาสัมพันธ์
- เพิ่ม/แก้ไข/ลบข่าว
- อัปโหลดรูปภาพ
- แสดงข่าวล่าสุด
- ระบบหมวดหมู่ข่าว
- ระบบค้นหาข่าว
3. ระบบบุคลากร
- ข้อมูลครูและบุคลากร
- แสดงรูปภาพ
- แบ่งกลุ่มสาระ
- ระบบค้นหา
4. ระบบนักเรียน
- แสดงข้อมูลนักเรียน
- ห้องเรียน
- ระดับชั้น
- ระบบค้นหา
5. ระบบดาวน์โหลดเอกสาร
- อัปโหลดไฟล์ PDF/Word
- แบ่งหมวดหมู่
- นับจำนวนดาวน์โหลด
6. ระบบแกลเลอรี
- อัลบั้มรูป
- Lightbox
- Lazy Load
7. ระบบติดต่อโรงเรียน
- ฟอร์มติดต่อ
- Google Map
- Social Media
8. ระบบ Admin
- Login / Logout
- Dashboard
- จัดการผู้ใช้งาน
- จัดการข่าว
- จัดการแกลเลอรี
- จัดการเอกสาร
- จัดการ Banner
9. ระบบความปลอดภัย
- Password Hashing
- Prepared Statements (PDO)
- CSRF Protection
- Session Security
- Validation Input
- Upload Security
10. ฐานข้อมูล MySQL
ออกแบบ ER Diagram และ SQL Script สำหรับ:
- users
- news
- galleries
- gallery_images
- teachers
- students
- downloads
- categories
- banners
- settings
11. สิ่งที่ต้องการเพิ่มเติม
- ใช้ MVC Structure
- แยกไฟล์เป็นระบบระเบียบ
- Clean Code
- Comment อธิบายโค้ด
- รองรับ .htaccess Rewrite URL
- ระบบ Pagination
- Toast Notification
- SweetAlert2
- DataTables
- CKEditor
12. ต้องการผลลัพธ์ดังนี้
- โครงสร้างโฟลเดอร์ทั้งหมด
- SQL Script
- ตัวอย่างไฟล์ config.php
- ตัวอย่างระบบ Login
- ตัวอย่าง CRUD ข่าวประชาสัมพันธ์
- ตัวอย่าง Dashboard Admin
- ตัวอย่างหน้า Home
- ตัวอย่าง CSS Modern Design
- ตัวอย่าง JavaScript
- วิธีติดตั้งระบบบน XAMPP/MAMP
- วิธี Deploy ขึ้น Hosting
13. รูปแบบการเขียนโค้ด
- เขียนโค้ดแบบ Production Ready
- ใช้มาตรฐาน PSR
- อธิบายทุกส่วน
- แสดงตัวอย่างไฟล์ครบ
- แสดงโค้ดเต็ม ไม่ตัด
14. เพิ่มฟีเจอร์ AI ภายในเว็บไซต์
- AI Chatbot ตอบคำถามโรงเรียน
- AI สรุปข่าวอัตโนมัติ
- AI สร้างประกาศ
- AI ช่วยค้นหาเอกสาร
15. ต้องการ UI เพิ่มเติม
- Glassmorphism
- Soft Shadow
- Gradient Modern
- Card Design
- Hover Effect
- Animated Counter
- Loading Animation
กรุณาสร้าง:
- Wireframe
- Database Schema
- Folder Structure
- Full Source Code Example
- Responsive UI Design
- Modern Admin Dashboard
- Beautiful Landing Page
- พร้อมอธิบายทุกขั้นตอนแบบละเอียด
คุณคือ Senior Full Stack Developer และ UI/UX Designer มืออาชีพ
จงออกแบบและพัฒนา “เว็บไซต์โรงเรียน” แบบครบระบบ โดยใช้เทคโนโลยีดังนี้
- PHP 8+
- MySQL
- HTML5
- CSS3
- JavaScript
- Bootstrap 5
- Responsive Design
- รองรับ Dark Mode
- ใช้งานได้ทั้งมือถือ Tablet และ Desktop
แนวคิดการออกแบบ:
- ทันสมัย สวยงาม น่าเชื่อถือ
- ใช้โทนสีหลักของโรงเรียน (แดง-เหลือง)
- UI ดูเป็นทางการแต่ทันสมัย
- โหลดเร็ว
- รองรับ SEO
- มี Animation เบา ๆ
- ใช้ Font ภาษาไทยที่อ่านง่าย
- Dashboard ดู Professional
โครงสร้างเว็บไซต์ประกอบด้วย:
1. หน้าแรก (Home)
- Hero Section พร้อมภาพโรงเรียน
- ข่าวประชาสัมพันธ์
- ปฏิทินกิจกรรม
- ผู้บริหาร
- สถิติผู้ใช้งาน
- แนะนำโรงเรียน
- Quick Links
- แกลเลอรีภาพ
- วิดีโอแนะนำโรงเรียน
- Footer ครบถ้วน
2. ระบบข่าวประชาสัมพันธ์
- เพิ่ม/แก้ไข/ลบข่าว
- อัปโหลดรูปภาพ
- แสดงข่าวล่าสุด
- ระบบหมวดหมู่ข่าว
- ระบบค้นหาข่าว
3. ระบบบุคลากร
- ข้อมูลครูและบุคลากร
- แสดงรูปภาพ
- แบ่งกลุ่มสาระ
- ระบบค้นหา
4. ระบบนักเรียน
- แสดงข้อมูลนักเรียน
- ห้องเรียน
- ระดับชั้น
- ระบบค้นหา
5. ระบบดาวน์โหลดเอกสาร
- อัปโหลดไฟล์ PDF/Word
- แบ่งหมวดหมู่
- นับจำนวนดาวน์โหลด
6. ระบบแกลเลอรี
- อัลบั้มรูป
- Lightbox
- Lazy Load
7. ระบบติดต่อโรงเรียน
- ฟอร์มติดต่อ
- Google Map
- Social Media
8. ระบบ Admin
- Login / Logout
- Dashboard
- จัดการผู้ใช้งาน
- จัดการข่าว
- จัดการแกลเลอรี
- จัดการเอกสาร
- จัดการ Banner
9. ระบบความปลอดภัย
- Password Hashing
- Prepared Statements (PDO)
- CSRF Protection
- Session Security
- Validation Input
- Upload Security
10. ฐานข้อมูล MySQL
ออกแบบ ER Diagram และ SQL Script สำหรับ:
- users
- news
- galleries
- gallery_images
- teachers
- students
- downloads
- categories
- banners
- settings
11. สิ่งที่ต้องการเพิ่มเติม
- ใช้ MVC Structure
- แยกไฟล์เป็นระบบระเบียบ
- Clean Code
- Comment อธิบายโค้ด
- รองรับ .htaccess Rewrite URL
- ระบบ Pagination
- Toast Notification
- SweetAlert2
- DataTables
- CKEditor
12. ต้องการผลลัพธ์ดังนี้
- โครงสร้างโฟลเดอร์ทั้งหมด
- SQL Script
- ตัวอย่างไฟล์ config.php
- ตัวอย่างระบบ Login
- ตัวอย่าง CRUD ข่าวประชาสัมพันธ์
- ตัวอย่าง Dashboard Admin
- ตัวอย่างหน้า Home
- ตัวอย่าง CSS Modern Design
- ตัวอย่าง JavaScript
- วิธีติดตั้งระบบบน XAMPP/MAMP
- วิธี Deploy ขึ้น Hosting
13. รูปแบบการเขียนโค้ด
- เขียนโค้ดแบบ Production Ready
- ใช้มาตรฐาน PSR
- อธิบายทุกส่วน
- แสดงตัวอย่างไฟล์ครบ
- แสดงโค้ดเต็ม ไม่ตัด
14. เพิ่มฟีเจอร์ AI ภายในเว็บไซต์
- AI Chatbot ตอบคำถามโรงเรียน
- AI สรุปข่าวอัตโนมัติ
- AI สร้างประกาศ
- AI ช่วยค้นหาเอกสาร
15. ต้องการ UI เพิ่มเติม
- Glassmorphism
- Soft Shadow
- Gradient Modern
- Card Design
- Hover Effect
- Animated Counter
- Loading Animation
กรุณาสร้าง:
- Wireframe
- Database Schema
- Folder Structure
- Full Source Code Example
- Responsive UI Design
- Modern Admin Dashboard
- Beautiful Landing Page
- พร้อมอธิบายทุกขั้นตอนแบบละเอียด
"จงสร้างและออกแบบระบบปฏิทินกิจกรรมหน่วยงาน (Public Calendar) โดยใช้ Google Apps Script ทำงานร่วมกับ Google Sheets โดยมีรายละเอียดความต้องการดังต่อไปนี้:
1. ข้อกำหนดทางเทคนิค (Tech Stack):
ใช้ไลบรารี FullCalendar.js สำหรับแสดงผลปฏิทิน
ใช้ Bootstrap 5 สำหรับออกแบบ UI ให้สวยงาม ทันสมัย และรองรับการแสดงผลบนมือถือ (Responsive)
ใช้การเขียนโค้ดแบบฝั่ง Server (Code.gs) และฝั่ง Client (Index.html)
2. ฟีเจอร์ที่ต้องการ (Features):
ระบบสามารถดึงข้อมูลจาก Google Sheets (ชื่อกิจกรรม, วันเวลาเริ่มต้น, วันเวลาสิ้นสุด, รายละเอียด, สีของป้ายกิจกรรม) มาแสดงบนปฏิทินได้
มีปุ่ม "เพิ่มกิจกรรม" เปิดเป็น Modal Form ให้ผู้ใช้กรอกข้อมูล
เมื่อกดบันทึก ให้ข้อมูลถูกส่งไปเพิ่มในแถวใหม่ของ Google Sheets ทันที (พร้อมอัปเดตปฏิทินบนหน้าเว็บโดยไม่ต้องรีเฟรชหน้า)
คลิกที่กิจกรรมบนปฏิทินเพื่อดูรายละเอียดเพิ่มเติมแบบ Modal ได้
3. สิ่งที่ต้องการให้ตอบกลับ (Deliverables):
โค้ดทั้งหมด: Code.gs และ Index.html พร้อมคอมเมนต์อธิบายโค้ด
การตั้งค่า Google Sheets: อธิบายวิธีตั้งชื่อแผ่นงานและระบุหัวคอลัมน์ที่ต้องใช้
ข้อมูลจำลอง (Mock Data): ขอตารางข้อมูลตัวอย่างประมาณ 5 แถว เพื่อนำไปกรอกทดสอบ
วิธีติดตั้ง (Deployment): อธิบายขั้นตอนการนำไปใช้งาน (Deploy as Web App)
สรุประบบ (Overview): สรุปภาพรวมสถาปัตยกรรมของระบบ (System Architecture) และเส้นทางการไหลของข้อมูล (Data Flow) แบบเข้าใจง่าย"
"จงสร้างและออกแบบระบบปฏิทินกิจกรรมหน่วยงาน (Public Calendar) โดยใช้ Google Apps Script ทำงานร่วมกับ Google Sheets โดยมีรายละเอียดความต้องการดังต่อไปนี้:
1. ข้อกำหนดทางเทคนิค (Tech Stack):
ใช้ไลบรารี FullCalendar.js สำหรับแสดงผลปฏิทิน
ใช้ Bootstrap 5 สำหรับออกแบบ UI ให้สวยงาม ทันสมัย และรองรับการแสดงผลบนมือถือ (Responsive)
ใช้การเขียนโค้ดแบบฝั่ง Server (Code.gs) และฝั่ง Client (Index.html)
2. ฟีเจอร์ที่ต้องการ (Features):
ระบบสามารถดึงข้อมูลจาก Google Sheets (ชื่อกิจกรรม, วันเวลาเริ่มต้น, วันเวลาสิ้นสุด, รายละเอียด, สีของป้ายกิจกรรม) มาแสดงบนปฏิทินได้
มีปุ่ม "เพิ่มกิจกรรม" เปิดเป็น Modal Form ให้ผู้ใช้กรอกข้อมูล
เมื่อกดบันทึก ให้ข้อมูลถูกส่งไปเพิ่มในแถวใหม่ของ Google Sheets ทันที (พร้อมอัปเดตปฏิทินบนหน้าเว็บโดยไม่ต้องรีเฟรชหน้า)
คลิกที่กิจกรรมบนปฏิทินเพื่อดูรายละเอียดเพิ่มเติมแบบ Modal ได้
3. สิ่งที่ต้องการให้ตอบกลับ (Deliverables):
โค้ดทั้งหมด: Code.gs และ Index.html พร้อมคอมเมนต์อธิบายโค้ด
การตั้งค่า Google Sheets: อธิบายวิธีตั้งชื่อแผ่นงานและระบุหัวคอลัมน์ที่ต้องใช้
ข้อมูลจำลอง (Mock Data): ขอตารางข้อมูลตัวอย่างประมาณ 5 แถว เพื่อนำไปกรอกทดสอบ
วิธีติดตั้ง (Deployment): อธิบายขั้นตอนการนำไปใช้งาน (Deploy as Web App)
สรุประบบ (Overview): สรุปภาพรวมสถาปัตยกรรมของระบบ (System Architecture) และเส้นทางการไหลของข้อมูล (Data Flow) แบบเข้าใจง่าย"
ช่วยเขียนโค้ดสำหรับ "ระบบจองห้องประชุมออนไลน์" (Meeting Room Booking System) โดยใช้ Google Apps Script ทำงานร่วมกับ Google Sheets ให้หน่อยครับ ระบบต้องเป็นแบบ Single Page Application (SPA) ประกอบด้วยไฟล์ Code.gs และ index.html
ข้อกำหนดของระบบมีดังนี้:
1. โครงสร้าง Database (Google Sheets)
- เมื่อรันระบบครั้งแรก ให้สคริปต์ตรวจสอบว่ามีชีตชื่อ "Bookings" หรือไม่ ถ้าไม่มีให้สร้างใหม่
- กำหนด Header ของชีตดังนี้: ['ID', 'ชื่อผู้จอง', 'ห้องประชุม', 'วันที่', 'เวลาเริ่ม', 'เวลาสิ้นสุด', 'วัตถุประสงค์', 'เวลาที่บันทึก', 'สถานะ']
2. ข้อกำหนดฝั่ง Backend (Code.gs)
- มีฟังก์ชัน doGet() สำหรับ render หน้าเว็บแบบ ALLOWALL
- ฟังก์ชัน getBookings(): ดึงข้อมูลจากชีตเพื่อส่งให้ Frontend **สำคัญมาก:** ต้องมีการแปลงค่าเวลาจาก Google Sheets ให้อยู่ในรูปแบบ String 'HH:mm' และวันที่เป็น 'YYYY-MM-DD' เพื่อป้องกันบั๊กเวลาส่งข้อมูลไปแสดงผลในปฏิทิน
- ฟังก์ชัน addBooking(): รับข้อมูลจากฟอร์มมาบันทึก
- **Conflict Checking:** ในฟังก์ชัน addBooking ต้องมีการเช็คเวลาทับซ้อน หากผู้ใช้เลือกห้องเดียวกัน วันเดียวกัน และมีเวลาคาบเกี่ยวกับการจองที่มีอยู่แล้ว ให้ return error กลับไปและไม่อนุญาตให้บันทึก
3. ข้อกำหนดฝั่ง Frontend (index.html)
- การออกแบบ: ใช้ Tailwind CSS (ผ่าน CDN), ใช้ฟอนต์ Google Fonts (Kanit), และ FontAwesome (Icons) แบบ Responsive หน้าจอมือถือ
- Layout แบ่งเป็น 2 ส่วน (Grid):
- ด้านซ้าย/ด้านบน: "ฟอร์มจองห้องประชุม" (ชื่อ, เลือกห้อง [Room A, Room B, Boardroom], วันที่, เวลาเริ่ม, เวลาสิ้นสุด, วัตถุประสงค์)
- ด้านขวา/ด้านล่าง: "ปฏิทินแสดงการจอง" ใช้ไลบรารี FullCalendar (ผ่าน CDN)
- UX/UI Interactivity:
- ไม่ใช้ alert() ธรรมดา ให้สร้าง Custom Toast Notification (มุมขวาล่าง) สีเขียวสำหรับสำเร็จ สีแดงสำหรับ error
- ปุ่ม Submit ต้องมี Loading Spinner และ disable ระหว่างรอ Google Apps Script ประมวลผล
- ฟอร์มตรวจสอบขั้นพื้นฐาน: เวลาสิ้นสุดต้องมากกว่าเวลาเริ่ม และวันที่ต้องไม่ใช่อดีต
- เมื่อบันทึกสำเร็จ ให้ดึงข้อมูลมาอัปเดตปฏิทินใหม่ทันทีโดยที่หน้าเว็บไม่ต้อง Refresh (ผ่าน google.script.run)
- การทำงานของ FullCalendar:
- นำข้อมูลจากฝั่ง Backend มา render เป็น Event บนปฏิทิน
- ตั้งค่าแถบสี (Background Color) ของ Event ตามชื่อห้องให้แตกต่างกัน
- เมื่อผู้ใช้ "คลิก" ที่ Event บนปฏิทิน ให้เปิดหน้าต่าง Modal (Tailwind Modal) ขึ้นมาตรงกลางจอ เพื่อแสดงรายละเอียด (ชื่อผู้จอง, ห้อง, เวลา, วัตถุประสงค์) พร้อมปุ่มปิด Modal
กรุณาเขียนโค้ดออกมาให้ครบถ้วน พร้อมใช้งาน และแยกไฟล์ Code.gs กับ index.html ออกจากกันอย่างชัดเจน โค้ดควรมีการคอมเมนต์อธิบายภาษาไทยในจุดสำคัญด้วย
ช่วยเขียนโค้ดสำหรับ "ระบบจองห้องประชุมออนไลน์" (Meeting Room Booking System) โดยใช้ Google Apps Script ทำงานร่วมกับ Google Sheets ให้หน่อยครับ ระบบต้องเป็นแบบ Single Page Application (SPA) ประกอบด้วยไฟล์ Code.gs และ index.html
ข้อกำหนดของระบบมีดังนี้:
1. โครงสร้าง Database (Google Sheets)
- เมื่อรันระบบครั้งแรก ให้สคริปต์ตรวจสอบว่ามีชีตชื่อ "Bookings" หรือไม่ ถ้าไม่มีให้สร้างใหม่
- กำหนด Header ของชีตดังนี้: ['ID', 'ชื่อผู้จอง', 'ห้องประชุม', 'วันที่', 'เวลาเริ่ม', 'เวลาสิ้นสุด', 'วัตถุประสงค์', 'เวลาที่บันทึก', 'สถานะ']
2. ข้อกำหนดฝั่ง Backend (Code.gs)
- มีฟังก์ชัน doGet() สำหรับ render หน้าเว็บแบบ ALLOWALL
- ฟังก์ชัน getBookings(): ดึงข้อมูลจากชีตเพื่อส่งให้ Frontend **สำคัญมาก:** ต้องมีการแปลงค่าเวลาจาก Google Sheets ให้อยู่ในรูปแบบ String 'HH:mm' และวันที่เป็น 'YYYY-MM-DD' เพื่อป้องกันบั๊กเวลาส่งข้อมูลไปแสดงผลในปฏิทิน
- ฟังก์ชัน addBooking(): รับข้อมูลจากฟอร์มมาบันทึก
- **Conflict Checking:** ในฟังก์ชัน addBooking ต้องมีการเช็คเวลาทับซ้อน หากผู้ใช้เลือกห้องเดียวกัน วันเดียวกัน และมีเวลาคาบเกี่ยวกับการจองที่มีอยู่แล้ว ให้ return error กลับไปและไม่อนุญาตให้บันทึก
3. ข้อกำหนดฝั่ง Frontend (index.html)
- การออกแบบ: ใช้ Tailwind CSS (ผ่าน CDN), ใช้ฟอนต์ Google Fonts (Kanit), และ FontAwesome (Icons) แบบ Responsive หน้าจอมือถือ
- Layout แบ่งเป็น 2 ส่วน (Grid):
- ด้านซ้าย/ด้านบน: "ฟอร์มจองห้องประชุม" (ชื่อ, เลือกห้อง [Room A, Room B, Boardroom], วันที่, เวลาเริ่ม, เวลาสิ้นสุด, วัตถุประสงค์)
- ด้านขวา/ด้านล่าง: "ปฏิทินแสดงการจอง" ใช้ไลบรารี FullCalendar (ผ่าน CDN)
- UX/UI Interactivity:
- ไม่ใช้ alert() ธรรมดา ให้สร้าง Custom Toast Notification (มุมขวาล่าง) สีเขียวสำหรับสำเร็จ สีแดงสำหรับ error
- ปุ่ม Submit ต้องมี Loading Spinner และ disable ระหว่างรอ Google Apps Script ประมวลผล
- ฟอร์มตรวจสอบขั้นพื้นฐาน: เวลาสิ้นสุดต้องมากกว่าเวลาเริ่ม และวันที่ต้องไม่ใช่อดีต
- เมื่อบันทึกสำเร็จ ให้ดึงข้อมูลมาอัปเดตปฏิทินใหม่ทันทีโดยที่หน้าเว็บไม่ต้อง Refresh (ผ่าน google.script.run)
- การทำงานของ FullCalendar:
- นำข้อมูลจากฝั่ง Backend มา render เป็น Event บนปฏิทิน
- ตั้งค่าแถบสี (Background Color) ของ Event ตามชื่อห้องให้แตกต่างกัน
- เมื่อผู้ใช้ "คลิก" ที่ Event บนปฏิทิน ให้เปิดหน้าต่าง Modal (Tailwind Modal) ขึ้นมาตรงกลางจอ เพื่อแสดงรายละเอียด (ชื่อผู้จอง, ห้อง, เวลา, วัตถุประสงค์) พร้อมปุ่มปิด Modal
กรุณาเขียนโค้ดออกมาให้ครบถ้วน พร้อมใช้งาน และแยกไฟล์ Code.gs กับ index.html ออกจากกันอย่างชัดเจน โค้ดควรมีการคอมเมนต์อธิบายภาษาไทยในจุดสำคัญด้วย
ทำหน้าที่เป็น Full Stack Web Developer และผู้เชี่ยวชาญด้าน Google Apps Script โปรดสร้าง "ระบบบริหารจัดการครุภัณฑ์ (Equipment Management System)" โดยใช้ Google Sheets เป็นฐานข้อมูล
ข้อกำหนดของระบบ:
1. เทคโนโลยีที่ใช้:
- Frontend: HTML, CSS, JavaScript (เขียนรวมในไฟล์เดียว) โดยใช้ Bootstrap 5 (CDN) และ Bootstrap Icons
- Backend: Google Apps Script (Code.gs)
- QR Code: ใช้ไลบรารี qrcodejs (CDN)
2. โครงสร้างไฟล์ที่ต้องการ:
- ไฟล์ 1: `index.html` (สำหรับ Frontend ทั้งหมด)
- ไฟล์ 2: `Code.gs` (สำหรับ Google Apps Script)
3. ฟีเจอร์ของแอปพลิเคชัน (Frontend - Single Page Application):
ออกแบบให้มี Navbar ด้านบน และมี 3 เมนูหลักที่สามารถสลับหน้าจอ (ซ่อน/แสดง) ได้ด้วย JavaScript:
3.1) หน้า "เพิ่มครุภัณฑ์":
- มีฟอร์มรับข้อมูล: รหัสครุภัณฑ์, ชื่อรายการ, หมวดหมู่ (Dropdown), วันที่รับเข้า, สถานที่ตั้ง, ผู้รับผิดชอบ และ สถานะ (ใช้งานปกติ, ส่งซ่อม, ชำรุด)
- เมื่อกด "บันทึก" ให้แสดง Loading Overlay
- ส่งข้อมูลไปที่ Backend ด้วยคำสั่ง `google.script.run`
- เมื่อบันทึกสำเร็จ ให้ซ่อนฟอร์ม แล้วแสดงหน้าต่าง "ผลลัพธ์" ที่มี QR Code (สร้างจาก URL ปัจจุบันต่อท้ายด้วย ?view=รหัสครุภัณฑ์) พร้อมปุ่มสำหรับ "พิมพ์ QR Code" (Print) และปุ่ม "เพิ่มรายการใหม่"
3.2) หน้า "รายการครุภัณฑ์":
- แสดงตารางข้อมูลครุภัณฑ์ทั้งหมด โดยดึงข้อมูลจาก Backend ด้วย `google.script.run`
- คอลัมน์สถานะ ให้ใช้ Badge สีของ Bootstrap (เช่น สีเขียว=ใช้งานปกติ, สีเหลือง=ส่งซ่อม, สีแดง=ชำรุด)
- ในคอลัมน์สุดท้ายของตาราง ให้มีปุ่มไอคอน QR Code เพื่อกดดูและพิมพ์ QR Code ของครุภัณฑ์ชิ้นนั้นๆ ได้แบบย้อนหลัง
3.3) หน้า "สแกน QR":
- ออกแบบ UI ให้ดูเหมือนพื้นที่สำหรับเปิดกล้อง (มีไอคอนกล้องตรงกลาง)
- ทำปุ่ม "จำลองการสแกน" โดยใช้ JavaScript `prompt()` เพื่อรับค่ารหัสครุภัณฑ์จำลอง และแสดง `alert()` แจ้งเตือน
4. ฟีเจอร์ของ Backend (Code.gs):
- มีฟังก์ชัน `doGet(e)` สำหรับ render หน้าเว็บ (ตั้งค่า SandboxMode.IFRAME)
- มีฟังก์ชัน `addEquipmentData(data)` สำหรับบันทึกข้อมูลลง Google Sheet ที่ชื่อแท็บว่า "Data" (ต่อท้ายด้วยคอลัมน์ Timestamp)
- มีฟังก์ชัน `getEquipmentData()` สำหรับอ่านข้อมูลทั้งหมดจาก Sheet ส่งกลับไปให้ Frontend
5. การออกแบบ (UI/UX):
- เน้นความสวยงาม ทันสมัย สะอาดตา (Clean Design) ขอบมน (border-radius) และมีการใช้ Box-shadow เล็กน้อย
- รองรับการใช้งานบนมือถือ (Responsive)
- มีระบบ Loading (Spinner) ตรงกลางจอระหว่างที่มีการติดต่อกับ Google Apps Script เพื่อป้องกันผู้ใช้กดปุ่มซ้ำ
- จัดการ Error Handling ให้ครบถ้วน (เช่น try-catch ตอน parse JSON กลับมาจาก Apps Script)
ขอโค้ดที่สมบูรณ์ นำไปวางใน Google Apps Script แล้วใช้งานได้ทันที พร้อมอธิบายวิธีการติดตั้ง (Setup) ทีละขั้นตอนเป็นภาษาไทย
ทำหน้าที่เป็น Full Stack Web Developer และผู้เชี่ยวชาญด้าน Google Apps Script โปรดสร้าง "ระบบบริหารจัดการครุภัณฑ์ (Equipment Management System)" โดยใช้ Google Sheets เป็นฐานข้อมูล
ข้อกำหนดของระบบ:
1. เทคโนโลยีที่ใช้:
- Frontend: HTML, CSS, JavaScript (เขียนรวมในไฟล์เดียว) โดยใช้ Bootstrap 5 (CDN) และ Bootstrap Icons
- Backend: Google Apps Script (Code.gs)
- QR Code: ใช้ไลบรารี qrcodejs (CDN)
2. โครงสร้างไฟล์ที่ต้องการ:
- ไฟล์ 1: `index.html` (สำหรับ Frontend ทั้งหมด)
- ไฟล์ 2: `Code.gs` (สำหรับ Google Apps Script)
3. ฟีเจอร์ของแอปพลิเคชัน (Frontend - Single Page Application):
ออกแบบให้มี Navbar ด้านบน และมี 3 เมนูหลักที่สามารถสลับหน้าจอ (ซ่อน/แสดง) ได้ด้วย JavaScript:
3.1) หน้า "เพิ่มครุภัณฑ์":
- มีฟอร์มรับข้อมูล: รหัสครุภัณฑ์, ชื่อรายการ, หมวดหมู่ (Dropdown), วันที่รับเข้า, สถานที่ตั้ง, ผู้รับผิดชอบ และ สถานะ (ใช้งานปกติ, ส่งซ่อม, ชำรุด)
- เมื่อกด "บันทึก" ให้แสดง Loading Overlay
- ส่งข้อมูลไปที่ Backend ด้วยคำสั่ง `google.script.run`
- เมื่อบันทึกสำเร็จ ให้ซ่อนฟอร์ม แล้วแสดงหน้าต่าง "ผลลัพธ์" ที่มี QR Code (สร้างจาก URL ปัจจุบันต่อท้ายด้วย ?view=รหัสครุภัณฑ์) พร้อมปุ่มสำหรับ "พิมพ์ QR Code" (Print) และปุ่ม "เพิ่มรายการใหม่"
3.2) หน้า "รายการครุภัณฑ์":
- แสดงตารางข้อมูลครุภัณฑ์ทั้งหมด โดยดึงข้อมูลจาก Backend ด้วย `google.script.run`
- คอลัมน์สถานะ ให้ใช้ Badge สีของ Bootstrap (เช่น สีเขียว=ใช้งานปกติ, สีเหลือง=ส่งซ่อม, สีแดง=ชำรุด)
- ในคอลัมน์สุดท้ายของตาราง ให้มีปุ่มไอคอน QR Code เพื่อกดดูและพิมพ์ QR Code ของครุภัณฑ์ชิ้นนั้นๆ ได้แบบย้อนหลัง
3.3) หน้า "สแกน QR":
- ออกแบบ UI ให้ดูเหมือนพื้นที่สำหรับเปิดกล้อง (มีไอคอนกล้องตรงกลาง)
- ทำปุ่ม "จำลองการสแกน" โดยใช้ JavaScript `prompt()` เพื่อรับค่ารหัสครุภัณฑ์จำลอง และแสดง `alert()` แจ้งเตือน
4. ฟีเจอร์ของ Backend (Code.gs):
- มีฟังก์ชัน `doGet(e)` สำหรับ render หน้าเว็บ (ตั้งค่า SandboxMode.IFRAME)
- มีฟังก์ชัน `addEquipmentData(data)` สำหรับบันทึกข้อมูลลง Google Sheet ที่ชื่อแท็บว่า "Data" (ต่อท้ายด้วยคอลัมน์ Timestamp)
- มีฟังก์ชัน `getEquipmentData()` สำหรับอ่านข้อมูลทั้งหมดจาก Sheet ส่งกลับไปให้ Frontend
5. การออกแบบ (UI/UX):
- เน้นความสวยงาม ทันสมัย สะอาดตา (Clean Design) ขอบมน (border-radius) และมีการใช้ Box-shadow เล็กน้อย
- รองรับการใช้งานบนมือถือ (Responsive)
- มีระบบ Loading (Spinner) ตรงกลางจอระหว่างที่มีการติดต่อกับ Google Apps Script เพื่อป้องกันผู้ใช้กดปุ่มซ้ำ
- จัดการ Error Handling ให้ครบถ้วน (เช่น try-catch ตอน parse JSON กลับมาจาก Apps Script)
ขอโค้ดที่สมบูรณ์ นำไปวางใน Google Apps Script แล้วใช้งานได้ทันที พร้อมอธิบายวิธีการติดตั้ง (Setup) ทีละขั้นตอนเป็นภาษาไทย
ทำหน้าที่เป็นผู้เชี่ยวชาญด้าน Google Apps Script และ Web Development
ช่วยเขียนโค้ดสร้าง Web App "ระบบประเมินความพึงพอใจและดาวน์โหลดเกียรติบัตร" โดยใช้ Google Apps Script (ไฟล์ Code.gs) และ HTML/JS (ไฟล์ index.html) โดยมี Requirement ดังนี้:
1. ส่วน Frontend (index.html)
ใช้ Framework Bootstrap 5 ในการจัด Layout ให้ Responsive รองรับทั้งมือถือและคอมพิวเตอร์
ใช้ฟอนต์ภาษาไทย "Sarabun" โทนสีเว็บไซต์เป็นสีฟ้า-ขาว เรียบง่าย สบายตา
มีฟอร์มให้กรอกข้อมูลดังนี้:
ชื่อ-นามสกุล (สำหรับพิมพ์ลงเกียรติบัตร) *บังคับกรอก
แบบประเมิน 5 ข้อ เป็น Radio Button 1-5 (1=น้อยที่สุด, 5=มากที่สุด) ได้แก่:
ความสะดวกในการใช้งานเว็บไซต์
ความรวดเร็วในการโหลดหน้าเว็บ
ความเหมาะสมของการจัดวางข้อมูล
ความสวยงามและความน่าสนใจของเว็บไซต์
ความพึงพอใจโดยรวม
ข้อเสนอแนะเพิ่มเติม (Textarea)
การส่งข้อมูล: ให้ดึงคะแนนจากข้อ 5 เป็นคะแนนหลัก (Rating) ส่วนคะแนนข้อ 1-4 ให้นำไปต่อท้ายข้อความในช่องข้อเสนอแนะ (Comment) เพื่อส่งไปเก็บใน Database รวดเดียว
มีปุ่ม "ส่งแบบประเมิน"
เมื่อกดส่ง ต้องมีการซ่อนฟอร์มและแสดงหน้าจอ Loading (กำลังประมวลผล)
เมื่อประมวลผลสำเร็จ ให้เปลี่ยนหน้าจอเป็น Success พร้อมแสดงปุ่ม "ดาวน์โหลดเกียรติบัตร (PDF)" และปุ่ม "ทำรายการใหม่"
2. ส่วน Backend (Code.gs)
ฟังก์ชัน doGet() สำหรับเรียกหน้า index.html
ฟังก์ชันรับข้อมูลจากฟอร์ม นำไปบันทึกลง Google Sheets (ประกอบด้วย Timestamp, ชื่อ, คะแนนรวม, ความคิดเห็น)
ฟังก์ชันสร้างเกียรติบัตร:
ดึงไฟล์ Google Slides ที่เป็น Template (ใช้ ID)
สร้างไฟล์สำเนา (Copy)
ค้นหาคำว่า {{name}} ใน Slide และแทนที่ด้วยชื่อผู้ใช้งานที่กรอกมา
แปลงไฟล์ Slide เป็น PDF
ลบไฟล์ Slide สำเนาทิ้งเพื่อไม่ให้รก Drive
แปลงไฟล์ PDF เป็น Base64 String เพื่อส่งกลับไปให้หน้า Frontend สร้างปุ่มดาวน์โหลด
ขอโค้ดที่สมบูรณ์ สะอาด จัดระเบียบอย่างดี และมีคอมเมนต์อธิบายการทำงานที่สำคัญ รวมถึงขั้นตอนสั้นๆ ในการเตรียม Sheet, Slide และวิธีการ Deploy ด้วย
ทำหน้าที่เป็นผู้เชี่ยวชาญด้าน Google Apps Script และ Web Development
ช่วยเขียนโค้ดสร้าง Web App "ระบบประเมินความพึงพอใจและดาวน์โหลดเกียรติบัตร" โดยใช้ Google Apps Script (ไฟล์ Code.gs) และ HTML/JS (ไฟล์ index.html) โดยมี Requirement ดังนี้:
1. ส่วน Frontend (index.html)
ใช้ Framework Bootstrap 5 ในการจัด Layout ให้ Responsive รองรับทั้งมือถือและคอมพิวเตอร์
ใช้ฟอนต์ภาษาไทย "Sarabun" โทนสีเว็บไซต์เป็นสีฟ้า-ขาว เรียบง่าย สบายตา
มีฟอร์มให้กรอกข้อมูลดังนี้:
ชื่อ-นามสกุล (สำหรับพิมพ์ลงเกียรติบัตร) *บังคับกรอก
แบบประเมิน 5 ข้อ เป็น Radio Button 1-5 (1=น้อยที่สุด, 5=มากที่สุด) ได้แก่:
ความสะดวกในการใช้งานเว็บไซต์
ความรวดเร็วในการโหลดหน้าเว็บ
ความเหมาะสมของการจัดวางข้อมูล
ความสวยงามและความน่าสนใจของเว็บไซต์
ความพึงพอใจโดยรวม
ข้อเสนอแนะเพิ่มเติม (Textarea)
การส่งข้อมูล: ให้ดึงคะแนนจากข้อ 5 เป็นคะแนนหลัก (Rating) ส่วนคะแนนข้อ 1-4 ให้นำไปต่อท้ายข้อความในช่องข้อเสนอแนะ (Comment) เพื่อส่งไปเก็บใน Database รวดเดียว
มีปุ่ม "ส่งแบบประเมิน"
เมื่อกดส่ง ต้องมีการซ่อนฟอร์มและแสดงหน้าจอ Loading (กำลังประมวลผล)
เมื่อประมวลผลสำเร็จ ให้เปลี่ยนหน้าจอเป็น Success พร้อมแสดงปุ่ม "ดาวน์โหลดเกียรติบัตร (PDF)" และปุ่ม "ทำรายการใหม่"
2. ส่วน Backend (Code.gs)
ฟังก์ชัน doGet() สำหรับเรียกหน้า index.html
ฟังก์ชันรับข้อมูลจากฟอร์ม นำไปบันทึกลง Google Sheets (ประกอบด้วย Timestamp, ชื่อ, คะแนนรวม, ความคิดเห็น)
ฟังก์ชันสร้างเกียรติบัตร:
ดึงไฟล์ Google Slides ที่เป็น Template (ใช้ ID)
สร้างไฟล์สำเนา (Copy)
ค้นหาคำว่า {{name}} ใน Slide และแทนที่ด้วยชื่อผู้ใช้งานที่กรอกมา
แปลงไฟล์ Slide เป็น PDF
ลบไฟล์ Slide สำเนาทิ้งเพื่อไม่ให้รก Drive
แปลงไฟล์ PDF เป็น Base64 String เพื่อส่งกลับไปให้หน้า Frontend สร้างปุ่มดาวน์โหลด
ขอโค้ดที่สมบูรณ์ สะอาด จัดระเบียบอย่างดี และมีคอมเมนต์อธิบายการทำงานที่สำคัญ รวมถึงขั้นตอนสั้นๆ ในการเตรียม Sheet, Slide และวิธีการ Deploy ด้วย
บทบาท (Role): คุณคือผู้เชี่ยวชาญด้าน Full Stack Web Development และ Google Apps Script
คำสั่ง (Task):
โปรดเขียนโค้ดสร้าง "ระบบจัดคิวอัตโนมัติ (Queue Management System)" โดยใช้ Google Apps Script ทำหน้าที่เป็น Backend API และใช้ Google Sheets เป็นฐานข้อมูล (Database) ส่วน Frontend ให้เป็น Web App แบบ Single Page Application (SPA) ที่รวมทุกหน้าจอไว้ในไฟล์ HTML เดียว
รายละเอียดความต้องการ (Requirements):
โครงสร้างฐานข้อมูล (Google Sheets):
บันทึกข้อมูลรายวันลงใน Sheet ชื่อ "Data"
คอลัมน์ประกอบด้วย: วันที่, เวลาที่กดรับคิว, หมายเลขคิว, สถานะ (Waiting / Called), เวลาที่เรียกคิว
หมายเลขคิวต้องรันใหม่ทุกวัน โดยเริ่มจาก A001, A002, A003 ไปเรื่อยๆ ตรวจสอบจากวันที่ปัจจุบัน
Backend (Google Apps Script - Code.gs):
doGet() สำหรับเรนเดอร์หน้า HTML Web App
ฟังก์ชันสร้างคิวใหม่ (Generate Queue) และบันทึกลง Sheet
ฟังก์ชันเรียกคิวถัดไป (Call Next Queue) โดยหาคิวที่สถานะเป็น "Waiting" ที่เก่าที่สุด (FIFO) แล้วเปลี่ยนสถานะเป็น "Called"
ฟังก์ชันดึงข้อมูลสำหรับจอแสดงผล (Get Display Data) ส่งคืนข้อมูล: คิวที่กำลังเรียกปัจจุบัน, จำนวนคิวที่รอทั้งหมด, และรายการหมายเลขคิวที่กำลังรอ (จำกัด 5 คิวถัดไป)
Frontend (UI/UX - Index.html):
ใช้ Tailwind CSS ผ่าน CDN สำหรับการออกแบบ UI ให้ดูทันสมัยและสะอาดตา
ใช้ฟอนต์ภาษาไทย (เช่น Kanit)
สร้าง Navigation Bar ด้านบนสำหรับสลับหน้าจอ (ซ่อน/แสดง div) แบ่งเป็น 3 โหมด:
3.1 โหมดจุดรับคิว (Kiosk - สำหรับลูกค้า):
มีปุ่มขนาดใหญ่ "รับคิว"
เมื่อกดแล้ว ให้แสดงหมายเลขคิวที่ได้ตัวใหญ่ๆ บนหน้าจอเป็นเวลา 5 วินาที แล้วซ่อนไป
3.2 โหมดจุดเรียกคิว (Staff - สำหรับพนักงาน):
แสดงหมายเลขคิวที่เรียกล่าสุด
มีปุ่ม "เรียกคิวถัดไป" เมื่อกดแล้วให้ไปดึงคิวที่รออยู่มาแสดง ถ้าไม่มีให้แจ้งเตือนว่า "ไม่มีคิวรอ"
3.3 โหมดจอแสดงผล (Display - สำหรับทีวีส่วนกลาง):
แบ่งหน้าจอเป็น 2 ฝั่ง (ซ้าย: คิวปัจจุบันตัวใหญ่มาก / ขวา: รายการคิวรอ 5 คิวและจำนวนคิวรอทั้งหมด)
มีระบบ Auto-refresh ดึงข้อมูลทุกๆ 3 วินาที
ระบบเสียง (Text-to-Speech): เมื่อมีคิวใหม่ถูกเรียก ให้เบราว์เซอร์อ่านออกเสียงภาษาไทย เช่น "ขอเชิญหมายเลขคิว [A 0 0 1] ที่ช่องบริการค่ะ"
มีตัวหนังสือกระพริบเมื่อเรียกคิวใหม่
ข้อบังคับ: ต้องมีหน้าต่าง Overlay ปุ่ม "เริ่มจอแสดงผล" ให้กดก่อน 1 ครั้ง เพื่อปลดล็อคข้อจำกัด Autoplay ของเบราว์เซอร์ในการเล่นเสียง
เงื่อนไขเพิ่มเติม (Constraints):
โค้ดฝั่ง Frontend ต้องอยู่ในไฟล์ Index.html เพียงไฟล์เดียว (รวม CSS และ JS ไว้ในนั้น)
โค้ดฝั่ง Backend ต้องอยู่ในไฟล์ Code.gs
โค้ดต้องพร้อมนำไป Deploy ใช้งานได้ทันที มีการจัดการ Error พื้นฐาน และมีคอมเมนต์อธิบายโค้ดภาษาไทยที่ชัดเจน
บทบาท (Role): คุณคือผู้เชี่ยวชาญด้าน Full Stack Web Development และ Google Apps Script
คำสั่ง (Task):
โปรดเขียนโค้ดสร้าง "ระบบจัดคิวอัตโนมัติ (Queue Management System)" โดยใช้ Google Apps Script ทำหน้าที่เป็น Backend API และใช้ Google Sheets เป็นฐานข้อมูล (Database) ส่วน Frontend ให้เป็น Web App แบบ Single Page Application (SPA) ที่รวมทุกหน้าจอไว้ในไฟล์ HTML เดียว
รายละเอียดความต้องการ (Requirements):
โครงสร้างฐานข้อมูล (Google Sheets):
บันทึกข้อมูลรายวันลงใน Sheet ชื่อ "Data"
คอลัมน์ประกอบด้วย: วันที่, เวลาที่กดรับคิว, หมายเลขคิว, สถานะ (Waiting / Called), เวลาที่เรียกคิว
หมายเลขคิวต้องรันใหม่ทุกวัน โดยเริ่มจาก A001, A002, A003 ไปเรื่อยๆ ตรวจสอบจากวันที่ปัจจุบัน
Backend (Google Apps Script - Code.gs):
doGet() สำหรับเรนเดอร์หน้า HTML Web App
ฟังก์ชันสร้างคิวใหม่ (Generate Queue) และบันทึกลง Sheet
ฟังก์ชันเรียกคิวถัดไป (Call Next Queue) โดยหาคิวที่สถานะเป็น "Waiting" ที่เก่าที่สุด (FIFO) แล้วเปลี่ยนสถานะเป็น "Called"
ฟังก์ชันดึงข้อมูลสำหรับจอแสดงผล (Get Display Data) ส่งคืนข้อมูล: คิวที่กำลังเรียกปัจจุบัน, จำนวนคิวที่รอทั้งหมด, และรายการหมายเลขคิวที่กำลังรอ (จำกัด 5 คิวถัดไป)
Frontend (UI/UX - Index.html):
ใช้ Tailwind CSS ผ่าน CDN สำหรับการออกแบบ UI ให้ดูทันสมัยและสะอาดตา
ใช้ฟอนต์ภาษาไทย (เช่น Kanit)
สร้าง Navigation Bar ด้านบนสำหรับสลับหน้าจอ (ซ่อน/แสดง div) แบ่งเป็น 3 โหมด:
3.1 โหมดจุดรับคิว (Kiosk - สำหรับลูกค้า):
มีปุ่มขนาดใหญ่ "รับคิว"
เมื่อกดแล้ว ให้แสดงหมายเลขคิวที่ได้ตัวใหญ่ๆ บนหน้าจอเป็นเวลา 5 วินาที แล้วซ่อนไป
3.2 โหมดจุดเรียกคิว (Staff - สำหรับพนักงาน):
แสดงหมายเลขคิวที่เรียกล่าสุด
มีปุ่ม "เรียกคิวถัดไป" เมื่อกดแล้วให้ไปดึงคิวที่รออยู่มาแสดง ถ้าไม่มีให้แจ้งเตือนว่า "ไม่มีคิวรอ"
3.3 โหมดจอแสดงผล (Display - สำหรับทีวีส่วนกลาง):
แบ่งหน้าจอเป็น 2 ฝั่ง (ซ้าย: คิวปัจจุบันตัวใหญ่มาก / ขวา: รายการคิวรอ 5 คิวและจำนวนคิวรอทั้งหมด)
มีระบบ Auto-refresh ดึงข้อมูลทุกๆ 3 วินาที
ระบบเสียง (Text-to-Speech): เมื่อมีคิวใหม่ถูกเรียก ให้เบราว์เซอร์อ่านออกเสียงภาษาไทย เช่น "ขอเชิญหมายเลขคิว [A 0 0 1] ที่ช่องบริการค่ะ"
มีตัวหนังสือกระพริบเมื่อเรียกคิวใหม่
ข้อบังคับ: ต้องมีหน้าต่าง Overlay ปุ่ม "เริ่มจอแสดงผล" ให้กดก่อน 1 ครั้ง เพื่อปลดล็อคข้อจำกัด Autoplay ของเบราว์เซอร์ในการเล่นเสียง
เงื่อนไขเพิ่มเติม (Constraints):
โค้ดฝั่ง Frontend ต้องอยู่ในไฟล์ Index.html เพียงไฟล์เดียว (รวม CSS และ JS ไว้ในนั้น)
โค้ดฝั่ง Backend ต้องอยู่ในไฟล์ Code.gs
โค้ดต้องพร้อมนำไป Deploy ใช้งานได้ทันที มีการจัดการ Error พื้นฐาน และมีคอมเมนต์อธิบายโค้ดภาษาไทยที่ชัดเจน