ระบบบริหารจัดการสินค้า/พัสดุคงคลัง พร้อมระบบแจ้งซ่อม สร้างบน Now.js และ Kotchasan (PHP)
Web-based inventory management with a built-in repair module, built on Now.js and Kotchasan (PHP).
- สินค้าและพัสดุ – ทะเบียนสินค้า (Product Master), รายชิ้น/ครุภัณฑ์, หมวดหมู่และประเภทที่กำหนดเองได้
- สต๊อก – ยอดคงเหลือ, การเคลื่อนไหวสต๊อก (รับ/จ่าย/ปรับยอด), ชั้นต้นทุน (cost layer) และการตัดต้นทุน
- นำเข้า/ส่งออก CSV – นำเข้าสินค้าจำนวนมาก (ดูตัวอย่าง
product.csv) และส่งออกรายงาน - งานซ่อม (Repair) – รับแจ้งซ่อม, ติดตามสถานะ, ประวัติการซ่อม, เลขใบงานอัตโนมัติ (เช่น
JOB202601-0001) - จัดการผู้ใช้และสิทธิ์ – สมาชิก ผู้ดูแลระบบ ช่างซ่อม ผู้รับผิดชอบ พร้อมสิทธิ์ละเอียดรายโมดูล
- แจ้งเตือน – LINE, Telegram, SMS และอีเมล
- AI Assistant – รองรับ Claude, Gemini, DeepSeek และ OpenAI-compatible API
- REST API – ยืนยันตัวตนด้วย Bearer token / JWT, จำกัด IP และ CORS ได้
- รองรับ PWA – ติดตั้งบนมือถือได้ (
manifest.json,service-worker.js) - หลายภาษา – ไทย / อังกฤษ (
language/)
- PHP 7.4 ขึ้นไป (PDO MySQL)
- MySQL 5.7+ / MariaDB 10.3+ (ต้องมีสิทธิ์
CREATE,ALTER,DROP) - Apache พร้อม
mod_rewriteและอนุญาต.htaccess(AllowOverride All) - Node.js เฉพาะกรณีต้อง build ไฟล์ frontend ใหม่ (ไม่จำเป็นสำหรับการใช้งานทั่วไป)
-
ดาวน์โหลดหรือ clone โปรเจ็ค แล้วนำไปวางบนเว็บเซิร์ฟเวอร์
git clone https://github.com/goragodwiriya/inventory.git
-
สร้างฐานข้อมูลเปล่า (แนะนำ
utf8mb4) -
ให้สิทธิ์เขียนกับโฟลเดอร์
settings/และdatas/chmod -R 775 settings datas
-
เปิดเบราว์เซอร์ไปที่
http://your-domain/install/แล้วทำตามขั้นตอน (ตรวจระบบ → ตั้งค่าฐานข้อมูล → สร้างผู้ดูแลระบบ) -
เมื่อติดตั้งเสร็จ เข้าสู่ระบบด้วยบัญชีผู้ดูแลที่สร้างไว้ในขั้นตอนที่ 4
🔒 หลังติดตั้งเสร็จ ควรลบหรือจำกัดการเข้าถึงโฟลเดอร์
install/บนเซิร์ฟเวอร์จริง
สคริปต์ใน install/ (cli-fresh.php, cli-upgrade.php, cli-verify.php ฯลฯ) ใช้ติดตั้งใหม่ ปรับรุ่น และตรวจสอบความถูกต้องของฐานข้อมูลได้โดยไม่ต้องผ่านเบราว์เซอร์
วางไฟล์เวอร์ชันใหม่ทับ (โฟลเดอร์ settings/ และ datas/ จะไม่ถูกแตะ) แล้วเปิด /install/ อีกครั้ง ตัวปรับรุ่นจะตรวจเงื่อนไขก่อนแตะฐานข้อมูล และหยุดพร้อมแจ้งสาเหตุหากเงื่อนไขไม่ครบ สำรองฐานข้อมูลก่อนปรับรุ่นเสมอ
Gcms/ คลาสแกนของ GCMS (Api, Controller, Line, Telegram, Ai, ...)
Kotchasan/ เฟรมเวิร์ก PHP
Now/ เฟรมเวิร์ก JavaScript ฝั่ง client
modules/
index/ หน้าหลัก ผู้ใช้ ตั้งค่าระบบ สิทธิ์ ภาษา
inventory/ สินค้า สต๊อก หมวดหมู่ นำเข้า/ส่งออก
repair/ งานซ่อม
download/ ไฟล์ดาวน์โหลด
export/ ส่งออกข้อมูล
timeline/ Timeline provider
install/ ตัวติดตั้งและตัวปรับรุ่น
language/ ไฟล์ภาษา (th, en)
line/ telegram/ Webhook สำหรับ LINE และ Telegram
settings/ ไฟล์ตั้งค่า (สร้างตอนติดตั้ง ไม่ถูกเก็บใน git)
ค่าตั้งต่าง ๆ แก้ได้จากเมนู ตั้งค่า ในระบบ โดยจะถูกบันทึกที่ settings/config.php และ settings/database.php
⚠️ ไฟล์ในsettings/มีรหัสผ่านฐานข้อมูล, API token และ JWT secret ห้าม commit ขึ้น GitHub (ถูกระบุไว้ใน.gitignoreแล้ว)
เรียก API พร้อมส่ง token ในส่วนหัว
Authorization: Bearer <token>
ดู token และกำหนด IP ที่อนุญาตได้ในหน้าตั้งค่า API ของระบบ
| บริการ | Endpoint |
|---|---|
| LINE | /line/webhook.php |
| Telegram | /telegram/webhook.php |
npm install # ติดตั้ง dependencies (เฉพาะงานพัฒนา frontend)
npm run dev # เปิด dev server
npm run build # build bundles
npm test # รัน unit testพบปัญหาหรือมีข้อเสนอแนะ แจ้งได้ที่ Issues ส่วน Pull Request ยินดีรับ โปรดอธิบายสิ่งที่เปลี่ยนและวิธีทดสอบ
MIT License © 2026 Goragod Wiriya
Goragod Wiriya – https://github.com/goragodwiriya