ตรวจสอบความครอบคลุม TOR ทีละข้อ
อ้างอิงเอกสาร TOR การจ้างพัฒนาส่วนติดต่อผู้ใช้และส่วนเชื่อมต่อข้อมูลของระบบนวัตกรรมบริการวิจัย ภาคประชาชนโดยใช้ปัญญาประดิษฐ์ ในแบบเว็บท่าและมินิแอปบนแอปพลิเคชันทางรัฐ — สถานะแต่ละข้อคือสิ่งที่ โปรโตไทป์นี้จำลองให้เห็นบนหน้าจอ ไม่ใช่การรับประกันงานพัฒนาระบบจริง
จำลองครบ — เห็นการทำงานบนหน้าจอโปรโตไทป์
จำลองบางส่วน — โครงหน้าจอพร้อม รอเชื่อม API/กระบวนการจริง
พ้นขอบเขตโปรโตไทป์ — งาน backend/กระบวนการ จัดจ้าง ไม่ใช่ UX
ก. ข้อกำหนดทางเทคนิค (TOR ข้อ 4.1–4.13)
| ข้อ | สาระสำคัญ | จุดที่เห็นในโปรโตไทป์ | สถานะ |
|---|---|---|---|
| 4.1 | UX/UI หน้ารับข้อมูลผู้ใช้ (input) บน Mini App ทางรัฐ เชื่อม API ≥ 2 ระบบงาน ววน. | miniapp.html — ช่องคำถามใน shell ทางรัฐ + แผง “ระบบงานที่เชื่อมต่อ” (TNRR + NRIIS) | จำลองครบ |
| 4.2 | UX/UI หน้าแสดงผลลัพธ์ (output) บน Mini App | miniapp.html — การ์ดสรุป AI + ผลงานวิจัยย่อ + ปุ่มติดต่อทีมวิจัย (ข้อมูลชุดเดียวกับเว็บท่า) | จำลองครบ |
| 4.3 | รองรับ SSO และ notification ตามรูปแบบของแอปทางรัฐ | miniapp.html — กดเล่น SSO sheet แบบ ThaID (scope ที่ขอ),กระดิ่ง notification + หน้ารายการแจ้งเตือน, banner สไตล์ OS | จำลองครบ |
| 4.4 | ใช้งานได้ในทางรัฐทั้ง iOS และ Android | miniapp.html — จอจำลอง 2 เครื่อง (iOS-style / Android shell) ยืนยันว่า endpoint และเนื้อหาชุดเดียวกัน | จำลองครบ |
| 4.5 | ล็อกอินเว็บท่าผ่าน ThaID, NRIIS, Google, Facebook | login.html — ปุ่ม SSO ครบ 4 ค่าย + ทางเลือกรหัสผ่านตามเกณฑ์ข้อ 17 + อธิบาย reset ผ่านช่องทางอื่น | จำลองครบ |
| 4.6 | AI-powered Search ช่องทางเดียว เชื่อม Thai LLM ของ วช. เข้าใจภาษาธรรมชาติ | index.html — ช่องค้นหาเดียวพร้อมแถบ “AI กำลังเข้าใจคำถาม…” แบบเรียลไทม์ · results.html แถบ token การตีความ + ระบุโมเดล/เวลาประมวลผล | จำลองครบ |
| 4.7 | Integrated Service Result Page ครบในหน้าเดียว — สรุป / ผลงาน+TRL+บทคัดย่อ ≤300 ตัวอักษร / บทวิเคราะห์พร้อมใช้ / แนะนำผลงาน / แนะนำนักวิจัย / สกัดข้อมูลเชิงพื้นที่+แผนที่ / Private Communication Gateway / Professional View (DOI, เครือข่าย, แนวโน้ม, กราฟเชิงปริมาณ, แผนที่โต้ตอบ) / Filtering Tool | results.html — ครบทุก capability ในหน้าเดียว: แผงสรุปพร้อมป้าย AI+แคช, การ์ดผลงาน (meta + TRL/SRL + บทคัดย่อ ≤300), บทวิเคราะห์ 4 ข้อ, แผนที่ไทยโต้ตอบ, การ์ดนักวิจัย+%ตรงกัน, สวิตช์ Professional View (ตาราง DOI, network graph, กราฟแนวโน้ม, แท่งหมวดหมู่, แผนที่), แผงตัวกรองซ้าย (ปี/หน่วยงาน/TRL/แหล่ง API) | จำลองครบ |
| 4.8 | เชื่อมต่อและดึงข้อมูลจาก API ฐานข้อมูล+AI มาแสดงผลถูกต้อง | โครงสร้างข้อมูล mock ทุกฟิลด์ map กับ JSON ที่จะรับจาก API (ดู assets/js/mock.js head note) · ป้าย “API: TNRR/NRIIS” บนทุกผลการค้น · ตัวกรองส่งเป็นพารามิเตอร์ |
จำลองบางส่วน — รอ API จริง |
| 4.9 | ควบคุม LLM สร้าง summarization ล่วงหน้า + เก็บผล/แคช แสดงได้ไม่ต้องคำนวณใหม่ | results.html — แผงสรุปแสดงสถานะ cache HIT, เวลาสร้างสรุป, ปุ่ม “สรุปใหม่ (รีแคช)” จำลอง cache miss → เรียก LLM |
จำลองครบ (UX) |
| 4.10 | รองรับคอมพิวเตอร์+แท็บเล็ต, เบราว์เซอร์หลัก Edge/Safari/Firefox/Chrome | เลย์เอาต์ responsive ที่ 1020px/700px ( sidebar ย่อลงล่าง, แผนที่ซ้อนคอลัมน์) · ใช้มาตรฐาน CSS ไม่มี vendor-lock · ทดสอบเปิดใน Chrome แล้ว | จำลองครบ |
| 4.11 | พัฒนาภายใต้ ISO/IEC 27001:2022 | กระบวนการ ไม่ใช่หน้าจอ — โปรโตไทป์ไม่เก็บ PII จริง, ระบุในข้อความ footer ทุกหน้า | พ้นขอบเขตโปรโตไทป์ |
| 4.12 | Vulnerability Assessment | กระบวนการทดสอบระบบจริงหลังพัฒนา — ระบุในแผนส่งมอบ (README) | พ้นขอบเขตโปรโตไทป์ |
| 4.13 | Penetration Testing | กระบวนการทดสอบระบบจริง — เช่นกัน | พ้นขอบเขตโปรโตไทป์ |
ข. ข้อกำหนดทั่วไป และความปลอดภัย (TOR ข้อ 17 — สรุปจุดที่ UX ต้องรองรับ)
| หัวข้อ | สิ่งที่โปรโตไทป์ออกแบบรองรับ |
|---|---|
| CAS บัญชีผู้ใช้กลาง | หน้า login ระบุทางเข้า NRIIS ผ่าน CAS + SSO sheet ทางรัฐอ้างมาตรฐาน SSO (ข้อ 4.3) |
| A01 Broken Access Control | ชั้น Professional View behind สวิตช์ + ข้อมูลติดต่อซ่อนหลังระบบกลาง gateway · ข้อความกำกับสิทธิ์ทุกจุด |
| A02 Cryptographic | แถบบอก HTTPS/การเข้ารหัสใน login · ไม่แสดงข้อมูลที่อ่อนไหวบน URL/UI |
| A03 Injection | ทุกข้อความจากข้อมูล render ผ่าน escape helper (esc()) — ป้องกัน XSS จากข้อมูล mock ที่อาจมาจาก API |
| A07 Identification & Authentication | มาตรรหัสผ่าน ≥12 ตัวอักษร 3/4 รูปแบบ, ข้อผิดพลาดบอกวิธีแก้, reset ออกจากหน้าเว็บ (ตามข้อความข้อ 17 ใน TOR) |
| A09 Logging | สถานะ error ทุกจุดมีรหัสอ้างอิงเหตุการณ์ (เช่น TRC-…) สำหรับ trace ใน log เซิร์ฟเวอร์จริง |
| PDPA (ข้อ 16) | Private Communication Gateway: ข้อความผ่านระบบกลาง, แสดง scope ข้อมูลที่ขอ, ไม่เผย contact ส่วนตัว, เก็บจำกัด 90 วัน |
ค. สิ่งที่ยังต้องตัดสินใจ/เตรียมก่อนพัฒนาจริง (open decisions)
- ไฟล์โลโก้จริงและตราสัญลักษณ์ระบบ (ปัจจุบันใช้ mark ชั่วคราว)
- เส้นทางการขออนุญาตใช้ฟอนต์ “DB Heavent” ตามเว็บหลัก — ระหว่างนี้ใช้ IBM Plex Sans Thai ที่ metrics ใกล้กัน
- สัญญา API จริงของ TNRR/NRIIS/MOST RISPO เพื่อยืนยัน field mapping (โครง mock ตั้งไว้แล้ว)
- ชุดข้อมูลจริงสำหรับ UAT + เกณฑ์ตอบคำถาม AI (ตอบไม่ได้ต้องบอกอย่างไร — มี empty/error state รองรับแล้ว)