1. ภาพรวมและวัตถุประสงค์ของระบบ
IST Asset Plus ใช้สำหรับบริหารครุภัณฑ์ วัสดุ การยืม-คืน และการแจ้งซ่อม ภายในหน่วยงาน โดยรวมจุดเข้าใช้งานและ workflow หลักไว้ในระบบเดียว
ระบบแยกการใช้งานออกเป็น 2 กลุ่มหลัก คือ ผู้ใช้งานทั่วไปที่ยืมอุปกรณ์ เบิกวัสดุ และแจ้งซ่อม กับผู้ดูแลระบบที่ตรวจสอบคำขอ อัปเดตสถานะ และบริหารข้อมูลหลังบ้าน
หน้าเริ่มต้นของระบบที่ /istap/ ถูกปรับให้เป็น portal เพื่อช่วยลดความสับสนในการเข้าระบบ และทำให้สามารถส่งลิงก์ที่ถูกต้องให้ผู้ใช้งานแต่ละกลุ่มได้ง่ายขึ้น
- บริหารครุภัณฑ์พร้อมรูปภาพ เลขครุภัณฑ์ ซีเรียลนัมเบอร์ สถานที่ และผู้รับผิดชอบ
- รองรับการยืม-คืนครุภัณฑ์ทั้งจากรายการและจากการสแกน QR
- รองรับการเบิกวัสดุตาม workflow เดิมของระบบ พร้อมประวัติการเบิก
- รองรับการแจ้งซ่อม ติดตามสถานะ และแสดงหมายเหตุหรือวิธีแก้ไขจากแอดมิน
- มี dashboard สำหรับผู้ดูแลระบบ ใช้ติดตามงานค้างและเปิด-ปิดการใช้งานแต่ละโมดูล
| เส้นทาง |
บทบาทหลัก |
วัตถุประสงค์ |
| /istap/ |
ทุกคน |
หน้า Portal สำหรับเลือกทางเข้าใช้งาน |
| /istap/borrow_assets.php |
ผู้ใช้งานทั่วไป |
ค้นหารายการครุภัณฑ์ที่เปิดให้ยืม |
| /istap/profile.php |
ผู้ใช้งานทั่วไป |
ติดตามประวัติยืมและข้อมูลส่วนตัว |
| /istap/admin/dashboard.php |
แอดมิน |
ตรวจภาพรวมงานและเปิด-ปิดโมดูล |
2. บทบาทผู้ใช้งานและสิทธิ์การเข้าถึง
ระบบใช้การเข้าสู่ระบบด้วย Google และแยกสิทธิ์ตามประเภทบัญชีที่ใช้งานจริง
- ผู้ใช้งานทั่วไป: เข้าระบบผ่าน Google เพื่อยืมอุปกรณ์ เบิกวัสดุ แจ้งซ่อม และติดตามประวัติของตนเอง
- ผู้ดูแลระบบ: เข้าระบบผ่าน Google ฝั่ง admin และต้องเป็นบัญชีที่ได้รับอนุมัติในระบบแอดมิน
- Super Admin: มีสิทธิ์เพิ่มเติมในบางหน้าบริหาร เช่น จัดการ whitelist หรือจัดการ admin users
| หน้าเข้าใช้งาน |
สิทธิ์ |
หมายเหตุ |
| /istap/google_login_user.php |
ผู้ใช้งานทั่วไป |
ใช้สำหรับการยืม-คืน การเบิกวัสดุ และการแจ้งซ่อม |
| /istap/google_login_admin.php |
ผู้ดูแลระบบ |
ใช้สำหรับเข้าสู่ dashboard และเมนูจัดการหลังบ้าน |
| /istap/manual.php |
ทุกคน |
คู่มือฉบับย่อสำหรับเริ่มต้นใช้งาน |
3. การเริ่มต้นใช้งานจากหน้า Portal
หน้า /istap/ ทำหน้าที่เป็นจุดเข้าใช้งานกลางของระบบ
- เปิดหน้า /istap/ เพื่อเลือกบทบาทหรือเส้นทางใช้งานที่ตรงกับงานของตน
- กดเข้าใช้งานทั่วไป หากต้องการยืมอุปกรณ์ เบิกวัสดุ หรือแจ้งซ่อม
- กดเข้า Dashboard หรือเข้าสู่ระบบแอดมิน หากเป็นเจ้าหน้าที่ผู้ดูแลระบบ
- ใช้ปุ่มคู่มือการใช้งานหรือเอกสารเสนอที่ประชุม เพื่อเปิดเอกสารประกอบงานได้ทันที
หมายเหตุ
- ถ้ามี session ที่ล็อกอินอยู่แล้ว หน้า Portal จะแสดงปุ่มไปต่อที่ระบบของฉัน เพื่อลดจำนวนขั้นตอน
- เส้นทางเดิมของระบบยังใช้งานได้ตามปกติ และไม่ถูกบังคับให้เข้าผ่าน Portal เสมอไป
4. คู่มือผู้ใช้งานทั่วไป: การยืมครุภัณฑ์
ผู้ใช้งานสามารถเลือกยืมจากรายการครุภัณฑ์ที่เปิดให้ยืม หรือเริ่มจากการสแกน QR
- เปิดหน้า /istap/borrow_assets.php เพื่อดูรายการครุภัณฑ์ที่เปิดให้ยืม
- ใช้ช่องค้นหาแบบ autocomplete เพื่อกรองตามชื่อครุภัณฑ์ เลขครุภัณฑ์ หรือสถานะการยืม
- กดปุ่มยืมรายการนี้ ระบบจะพาไปที่ /istap/borrow_form.php พร้อม asset_id ของรายการนั้น
- ตรวจสอบข้อมูลผู้ยืมและข้อมูลครุภัณฑ์ จากนั้นยืนยันการส่งคำขอยืม
- ติดตามสถานะคำขอจากหน้าโปรไฟล์ของฉัน เมื่อแอดมินอนุมัติแล้วสถานะจะเปลี่ยนเป็นกำลังยืม
| หน้า |
สิ่งที่ทำได้ |
| /istap/borrow_assets.php |
ค้นหา ดูรูปภาพครุภัณฑ์ และเข้าสู่ฟอร์มยืม |
| /istap/borrow_form.php |
กรอกและยืนยันคำขอยืมครุภัณฑ์ |
| /istap/scan_borrow_camera.php |
เริ่มการยืมจากการสแกน QR |
หมายเหตุ
- ระบบบันทึกเลขครุภัณฑ์ในรูปแบบมาตรฐาน เช่น 62-21-310000-201-00169-0001 หากข้อมูลครบ 22 หลัก
- รายการที่ถูกยืมอยู่หรือปิดการยืมไว้ จะไม่สามารถยืมซ้ำจากหน้า borrow assets ได้
5. คู่มือผู้ใช้งานทั่วไป: การขอคืนครุภัณฑ์
การคืนครุภัณฑ์เริ่มจากหน้าโปรไฟล์หรือ flow ที่เกี่ยวข้องกับรายการที่กำลังยืมอยู่
- เปิดหน้า /istap/profile.php เพื่อตรวจสอบประวัติการยืมของตนเอง
- ค้นหารายการที่มีสถานะกำลังยืม แล้วกดปุ่มขอคืน
- ระบบจะส่งคำขอคืนให้แอดมินตรวจสอบ
- หลังแอดมินยืนยันรับคืน สถานะจะเปลี่ยนเป็นคืนแล้ว และสามารถดูวันเวลารับคืนได้จากประวัติ
หมายเหตุ
- คำขอคืนใช้การป้องกัน CSRF แล้ว และต้องยืนยันผ่าน session ที่ล็อกอินจริง
- หากรายการถูกปิดหรือคืนแล้ว ปุ่มขอคืนจะไม่สามารถกดได้
6. คู่มือผู้ใช้งานทั่วไป: การเบิกวัสดุ
ผู้ใช้งานสามารถเบิกวัสดุผ่านหน้าแบบฟอร์มหรือผ่านการสแกน ตามโมดูลที่เปิดใช้งานอยู่ในระบบ
- โมดูลเบิกวัสดุสามารถถูกเปิดหรือปิดได้จาก dashboard ฝั่งแอดมิน
- ถ้าโมดูลถูกปิด ผู้ใช้งานจะถูกบล็อกจาก route ที่เกี่ยวข้องโดยตรง ไม่ใช่เพียงแค่ซ่อนปุ่ม
- เปิดหน้า /istap/supplies_borrow_form.php หรือ /istap/scan_supplies.php
- เลือกวัสดุ ระบุจำนวน และตรวจสอบรายการในหน้าทบทวนก่อนบันทึก
- ยืนยันการส่งคำขอเบิกวัสดุ
- ติดตามผลจากหน้า /istap/supplies_borrow_history.php หรือจากหน้าโปรไฟล์
7. คู่มือผู้ใช้งานทั่วไป: การแจ้งซ่อมและติดตามงานซ่อม
ระบบรองรับการแจ้งซ่อมครุภัณฑ์พร้อมไฟล์แนบ และแสดงประวัติสถานะรวมถึงหมายเหตุจากแอดมิน
- เปิดหน้า /istap/repairs/report_repair.php แล้วเลือกครุภัณฑ์ที่ต้องการแจ้งซ่อม
- กรอกหัวข้อ ปัญหาที่พบ สถานที่ และแนบไฟล์ภาพหรือ PDF ได้ตามประเภทที่ระบบอนุญาต
- บันทึกคำขอแจ้งซ่อม ระบบจะส่งอีเมลแจ้งทั้งผู้แจ้งและแอดมิน พร้อมข้อมูลเลขครุภัณฑ์และซีเรียลนัมเบอร์ถ้ามี
- เปิดหน้า /istap/repairs/my_repairs.php เพื่อติดตามสถานะ และดูหมายเหตุหรือการแก้ไขจากแอดมินในแต่ละขั้นตอน
| หน้า |
สิ่งที่ทำได้ |
| /istap/repairs/report_repair.php |
ส่งคำขอแจ้งซ่อม |
| /istap/repairs/my_repairs.php |
ติดตามงานซ่อมของตนเอง |
| /istap/asset_detail.php |
ดูประวัติแจ้งซ่อมของครุภัณฑ์ |
หมายเหตุ
- ระบบรองรับไฟล์แนบประเภท jpg, jpeg, png, webp และ pdf พร้อมตรวจ MIME จริง
- หน้าติดตามงานซ่อมของผู้ใช้แสดงเลขครุภัณฑ์ และหมายเหตุ/การแก้ไขจากแอดมินโดยตัดคอลัมน์สถานะแยกออกแล้ว
8. คู่มือผู้ดูแลระบบ: Dashboard และการควบคุมโมดูล
หน้า dashboard ฝั่งแอดมินเป็นศูนย์กลางสำหรับติดตามงานค้าง ลิงก์สำคัญ และการเปิด-ปิดโมดูล
- เข้าสู่หน้า /istap/admin/dashboard.php หลังล็อกอินแอดมินสำเร็จ
- ตรวจสอบสรุปคำขอยืม คำขอคืน งานซ่อม และรายการที่ยังไม่ตอบรับ
- ใช้ส่วนลิงก์สำหรับผู้ใช้งานเพื่อ copy link ไปยังหน้ารายการครุภัณฑ์ที่เปิดให้ยืม หรือหน้า scan supplies
- เปิดหรือปิดโมดูล ยืมอุปกรณ์ และ เบิกวัสดุ จากส่วนควบคุมด้านล่างของ dashboard
หมายเหตุ
- เมื่อปิดโมดูล ระบบจะบล็อก route ที่เกี่ยวข้องจริง ไม่ได้ซ่อนเฉพาะใน UI
- dashboard ถูกปรับ UI ให้เป็น design language เดียวกับหน้าจัดการหลักของแอดมินแล้ว
9. คู่มือผู้ดูแลระบบ: การจัดการครุภัณฑ์
หน้าจัดการครุภัณฑ์รองรับการเพิ่ม แก้ไข อัปโหลดรูปภาพ ตรวจเลขครุภัณฑ์ซ้ำ และส่งออกข้อมูล
- ระบบป้องกันเลขครุภัณฑ์ซ้ำทั้งตอนเพิ่มและแก้ไข โดยใช้กติกาเดียวกัน
- รองรับการ format asset code อัตโนมัติ และมี alert แจ้งผลลัพธ์หลังบันทึก
- ข้อมูลรูปภาพของครุภัณฑ์แสดงทั้งในหน้า detail และหน้า borrow assets
- เปิดหน้า /istap/admin/assets/manage_assets.php เพื่อเพิ่มรายการครุภัณฑ์ใหม่หรือค้นหารายการเดิม
- กรอกข้อมูลเลขครุภัณฑ์ ชื่อ ยี่ห้อ รุ่น ซีเรียลนัมเบอร์ สถานที่ และสถานะการเปิดให้ยืม
- อัปโหลดหรือแก้ไขรูปภาพครุภัณฑ์จากหน้าจัดการหรือหน้าแก้ไขรายการ
- ใช้หน้า /istap/admin/assets/asset_detail.php เพื่อตรวจประวัติการแก้ไขและประวัติการแจ้งซ่อมของครุภัณฑ์แต่ละชิ้น
10. คู่มือผู้ดูแลระบบ: การจัดการยืม-คืน
แอดมินสามารถอนุมัติคำขอยืม ยืนยันการรับคืน และตรวจประวัติรายการยืม-คืนจากหน้ากลาง
- เปิดหน้า /istap/admin/borrows/manage_borrows.php
- กรองรายการตามสถานะ เช่น รออนุมัติ กำลังยืม หรือคืนแล้ว
- กดอนุมัติ ปฏิเสธ หรือยืนยันรับคืนตามรายการที่ต้องดำเนินการ
- ใช้การส่งออก PDF หรือ Excel ตามตัวกรองเมื่อจำเป็น
หมายเหตุ
- ระบบป้องกัน CSRF ใน action สำคัญแล้ว และบังคับใช้ POST ใน endpoint หลัก
- หน้า manage borrows ถูกปรับให้รองรับ prepared statements แบบ strict แล้ว
11. คู่มือผู้ดูแลระบบ: การจัดการวัสดุและการแจ้งซ่อม
แอดมินมีหน้าจัดการวัสดุและหน้าจัดการแจ้งซ่อมแยกจากกัน แต่ใช้โทน UI เดียวกัน
- card บน dashboard จะแสดงจำนวนงานแจ้งซ่อมที่ยังไม่ได้ตอบรับ
- อีเมลแจ้งซ่อมทั้งฝั่ง user และ admin แสดงเลขครุภัณฑ์และซีเรียลนัมเบอร์เมื่อมีข้อมูล
- ประวัติการแจ้งซ่อมถูกแสดงทั้งในหน้า asset detail ฝั่ง user และ admin
- เปิดหน้า /istap/admin/supplies/manage_supplies.php เพื่อเพิ่ม แก้ไข ส่งออก และตรวจข้อมูลวัสดุ
- เปิดหน้า /istap/admin/supplies/withdraw_supplies.php หรือ supply withdraw logs เพื่อตรวจคำขอเบิกวัสดุ
- เปิดหน้า /istap/admin/repairs/manage_repairs.php เพื่อตรวจรายการแจ้งซ่อมล่าสุดและอัปเดตสถานะ
- เมื่ออัปเดตงานซ่อม ให้ใส่หมายเหตุหรือวิธีแก้ไขเพื่อให้ผู้ใช้เห็นความคืบหน้าในหน้า my repairs
12. แนวปฏิบัติด้านความปลอดภัยและการกำกับดูแล
ระบบผ่านการ harden ในหลายส่วน และมีข้อปฏิบัติที่ควรรักษาอย่างต่อเนื่อง
- ย้าย secrets ออกจาก web root แล้ว และ loader รองรับ env > external secret file > fail closed
- เพิ่ม CSRF protection ใน action สำคัญทั้งระบบ
- ตั้งค่า session cookie flags เช่น HttpOnly, Secure และ SameSite=Lax
- เพิ่ม .htaccess สำหรับป้องกันการเข้าถึงไฟล์สำคัญและโฟลเดอร์ uploads โดยตรง
- จำกัดชนิดไฟล์แนบงานซ่อมและตรวจ MIME จริงก่อนบันทึก
หมายเหตุ
- ควร rotate credentials ที่เคยอยู่ใน workspace หรือไฟล์เก่าทันที หากยังไม่ได้ดำเนินการ
- ควรทบทวนบัญชีแอดมินและ whitelist อย่างสม่ำเสมอ และเก็บ log การเปลี่ยนแปลงรายการสำคัญ
13. การสนับสนุน การตรวจสอบ และเอกสารอ้างอิง
ระบบมี runbook สำหรับ deploy, rollback และ security operations เพื่อรองรับการดูแลต่อเนื่อง
- เมื่อมีการเพิ่ม feature ใหม่ ควรอัปเดตทั้งคู่มือฉบับย่อ คู่มือฉบับเต็ม และเอกสารเสนอที่ประชุม
- ถ้าปรับ workflow สำคัญ เช่น การยืม การเบิก หรือการแจ้งซ่อม ควรทดสอบ browser flow บน production ทุกครั้ง
| เอกสาร/หน้า |
วัตถุประสงค์ |
| /istap/manual.php |
คู่มือฉบับย่อสำหรับเริ่มต้นใช้งาน |
| /istap/manual_full.php |
คู่มือฉบับเต็มแบบ HTML |
| /istap/manual_full_pdf.php?download=1 |
คู่มือฉบับเต็มแบบ PDF |
| /Applications/XAMPP/xamppfiles/htdocs/istap/RUNBOOK.md |
runbook สำหรับ deploy, rollback และ checklists |