e-safework — เอกสารระบบ
ระบบใบอนุญาตทำงาน (Work Permit) สำหรับโรงงานอุตสาหกรรม ครอบคลุมงานที่มีความเสี่ยงสูงสามประเภท คือ งานร้อน ที่อับอากาศ และ งานบนที่สูง
เริ่มอ่านจากตรงไหน
ถ้าคุณเพิ่งเข้ามาใหม่ ให้อ่านตามลำดับนี้
| หน้า | ตอบคำถามอะไร |
|---|---|
| เป้าหมายของระบบ | ระบบนี้มีไว้ทำไม แก้ปัญหาอะไร และจะรู้ได้อย่างไรว่าสำเร็จ |
| ภาพรวมและขอบเขตของระบบ | ศัพท์ที่ใช้ ส่วนต่าง ๆ ของระบบ และกฎที่แต่ละส่วนเป็นเจ้าของ |
| แต่ละบทบาทต้องทำอะไร | ผู้รับเหมา จป. และผู้ตรวจสอบ ทำอะไรบ้าง และระบบห้ามอะไรไว้ |
| วิธีใช้แอปผู้รับเหมา | แต่ละโมดูลของแอปผู้รับเหมา และวิธีใช้ทีละขั้น |
| วิธีใช้แอป จป. และผู้ตรวจสอบ | แต่ละโมดูลของอีกแอปหนึ่ง ทั้งฝั่ง จป. และฝั่งผู้ตรวจสอบ |
| สิ่งที่รอคนตัดสินใจหรือลงมือ | รายการที่ค้างอยู่เพราะต้องรอคน ไม่ใช่รอโค้ด |
สามแอปพลิเคชัน
| แอป | ผู้ใช้ | ใช้ทำอะไร |
|---|---|---|
| แอปผู้รับเหมา | ผู้รับเหมา | ขอใบอนุญาต แก้ไข ส่งอนุมัติ ปิดงานของตนเอง และดูแลทะเบียนผู้ปฏิบัติงานพร้อมบัตร QR ของแต่ละคน |
| แอป จป. และผู้ตรวจสอบ | จป. และ ผู้ตรวจสอบ | อนุมัติหรือปฏิเสธใบอนุญาต ตรวจสอบหน้างานเป็นรอบ ๆ บันทึกค่าก๊าซ |
| API | — | เซิร์ฟเวอร์กลางเพียงตัวเดียว เป็นผู้ตัดสินกฎความปลอดภัยทั้งหมด |
เปิดอ่านเอกสารบนเครื่องอื่น
ไฟล์ที่ build แล้วเป็นเว็บแบบไฟล์นิ่ง ต้องเปิดผ่านเว็บเซิร์ฟเวอร์ การดับเบิลคลิก index.html จะใช้ไม่ได้ เพราะไฟล์ประกอบทั้งหมดอ้างด้วยพาธเต็ม ซึ่งการเปิดแบบไฟล์ตรง ๆ จะหาไม่เจอ
ขั้นตอน build และบีบอัด (บนเครื่องที่มีโปรเจกต์นี้)
bun install
bun run docs:build
cd docs/.vitepress && zip -r ~/e-safework-docs.zip distจะได้ไฟล์ zip ขนาดประมาณ 12 MB คัดลอกไปเครื่องไหนก็ได้
เปิดบนเครื่องปลายทาง (ไม่ต้องมีโปรเจกต์นี้)
unzip e-safework-docs.zip && cd dist
npx serveแล้วเปิด URL ที่แสดงขึ้นมา ปกติคือ http://localhost:3000
ให้ใช้ serve แทน python3 -m http.server เพราะเว็บนี้ใช้ลิงก์แบบไม่มีนามสกุลไฟล์ ซึ่งเซิร์ฟเวอร์ของ Python จะตอบ 404 เมื่อเปิดลิงก์ตรงหรือรีเฟรชหน้า ทดสอบแล้วทั้งสองแบบ
ถ้าต้องการเป็นไฟล์เอกสาร ไม่ใช่เว็บ
โฟลเดอร์ที่ build ได้เป็นเว็บไซต์ ต้องเปิดผ่านเซิร์ฟเวอร์ ถ้าต้องการส่งไฟล์ให้คนอื่นเปิดด้วยการดับเบิลคลิกได้เลย โดยไม่ต้องติดตั้งอะไร ให้ส่งออกหน้าที่เขียนสำหรับคนอ่านเป็น PDF
bun run docs:pdf # ได้โฟลเดอร์ docs-pdf/ ทั้งไทยและอังกฤษใช้ Chrome เบื้องหลังในการเรนเดอร์ แผนภาพจึงออกมาครบ ไม่เป็นกล่องว่าง
หมายเหตุเรื่องภาษา
เอกสารส่วนที่อธิบาย ความหมายของระบบ แปลเป็นภาษาไทยแล้ว ส่วนเอกสารทางเทคนิคเชิงลึก เช่น สถาปัตยกรรม โครงสร้างฐานข้อมูล และขั้นตอนการติดตั้ง ยังคงเป็นภาษาอังกฤษโดยตั้งใจ เพราะอ้างถึงชื่อตัวแปร ชื่อฟิลด์ และรหัสข้อผิดพลาดที่เป็นภาษาอังกฤษในโค้ดจริง การแปลครึ่ง ๆ กลาง ๆ จะทำให้อ้างอิงผิดได้ง่ายกว่าการไม่แปลเลย
ตัวแอปพลิเคชันเองรองรับสองภาษาเต็มรูปแบบ และตั้งค่าเริ่มต้นเป็นภาษาไทย