🛠️ Installation Guide for Developers ส่วนนี้อธิบายขั้นตอนการตั้งค่าสภาพแวดล้อมสำหรับการพัฒนา (Development Environment) โดยละเอียด
- สิ่งที่ต้องเตรียม (Prerequisites) • Python 3.8+: แนะนำให้ใช้เวอร์ชันล่าสุดเพื่อความเสถียร • Git: สำหรับการจัดการเวอร์ชันของโค้ด • Virtual Environment: เพื่อแยก Library ของโปรเจกต์ออกจากระบบหลัก
- ขั้นตอนการตั้งค่า (Setup Steps)
- Clone Repository Bash git clone https://github.com/your-username/itshutter-inventory.git cd itshutter-inventory
- สร้าง Virtual Environment การสร้าง venv จะช่วยให้มั่นใจว่า Library ใน requirements.txt จะไม่ตีกับโปรเจกต์อื่นในเครื่อง Bash
python -m venv venv .\venv\Scripts\activate
python3 -m venv venv source venv/bin/activate 3. ติดตั้ง Dependencies ติดตั้ง Library ทั้งหมดที่ระบุไว้ในโปรเจกต์ เช่น Flask, SQLAlchemy และ Pandas Bash pip install -r requirements.txt 4. การตั้งค่าฐานข้อมูล (Database Initialization) ในไฟล์ app.py มีการตั้งค่าให้สร้างฐานข้อมูล inventory.db และ User เริ่มต้นให้อัตโนมัติในครั้งแรกที่รัน: • ระบบจะรัน db.create_all() เพื่อสร้างตารางตามที่นิยามไว้ใน models.py • ระบบจะสร้างบัญชี Admin และ Staff ให้อัตโนมัติหากยังไม่มีในฐานข้อมูล 3. การรันโปรแกรม (Running the App) คุณสามารถเริ่มรันโปรแกรมในโหมด Debug เพื่อดู Error และการเปลี่ยนแปลงของโค้ดแบบ Real-time: Bash python app.py ระบบจะเริ่มทำงานที่ http://0.0.0.0:5000 ซึ่งคุณสามารถเข้าถึงได้ผ่าน Local IP หรือผ่าน Tailscale IP หากติดตั้งไว้ในวง Network เดียวกัน
🔐 ข้อมูลสำหรับการทดสอบ (Default Credentials) หลังจากการติดตั้งเสร็จสิ้น สามารถใช้ข้อมูลนี้เพื่อทดสอบระบบ: Role Username Password Administrator admin 1234 Staff / พนักงาน staff 1234
🏗️ โครงสร้างไฟล์ที่สำคัญ (Project Structure) • app.py: ไฟล์หลักที่รวม Logic การทำงานและ Routing • models.py: การออกแบบ Schema ของฐานข้อมูล • templates/: โฟลเดอร์เก็บไฟล์ HTML (Jinja2) สำหรับหน้าจอผู้ใช้งาน • static/uploads/: พื้นที่เก็บรูปภาพสินค้าที่อัปโหลด (ถูกยกเว้นโดย .gitignore)
💡 คำแนะนำสำหรับการพัฒนาบน Proxmox/LXC เนื่องจากโปรเจกต์นี้รองรับการรันบน Linux Container (LXC): • แนะนำให้ติดตั้ง python3-venv ภายใน Container ก่อนเริ่มขั้นตอนการสร้าง venv • หากต้องการเข้าถึงจากภายนอก อย่าลืมเปิด Port 5000 ใน Firewall ของ Proxmox หรือใช้งานผ่าน Tailscale เพื่อความปลอดภัย
ระบบจัดการสต็อกสินค้าและคลังสินค้าขนาดเล็ก พัฒนาด้วย Python Flask ออกแบบมาเพื่อให้ใช้งานง่าย รองรับการจัดการสินค้าแบบ Real-time และการแยกสิทธิ์ผู้ใช้งาน
Dashboard: สรุปยอดสินค้าคงเหลือ สินค้าใกล้หมด และกราฟสถิติ Role-based Access: แยกสิทธิ์การใช้งานระหว่าง Admin (จัดการทั้งหมด) และ Staff (เน้น Stock In/Out) Inventory Control: จัดการเพิ่ม/แก้ไข/ลบ สินค้า พร้อมระบบอัปโหลดรูปภาพ Stock History: บันทึกประวัติการรับเข้าและเบิกจ่ายอย่างละเอียด Export & Import: รองรับการจัดการข้อมูลผ่านไฟล์ Excel (.xlsx) Invoice System: พิมพ์ใบเสร็จ/ใบส่งของได้ทันทีจากรายการธุรกรรม
Backend: Python 3.x, Flask Database: SQLite (SQLAlchemy ORM) Frontend: HTML5, CSS3, Jinja2, Chart.js Libraries: Pandas, Flask-Login, Werkzeug
- Clone Repository
git clone [https://github.com/your-username/itshutter-inventory.git](https://github.com/your-username/itshutter-inventory.git) cd itshutter-inventory
2.ติดตั้ง Dependencies pip install -r requirements.txt
3.รันแอปพลิเคชัน python app.py
ระบบจะสร้างฐานข้อมูล inventory.db ให้โดยอัตโนมัติในครั้งแรกที่รัน
🔐 ข้อมูลการเข้าสู่ระบบเริ่มต้น
Admin: Username: admin / Password: 1234
Staff: Username: staff / Password: 1234
📸 สภาพแวดล้อมการใช้งาน โปรเจกต์นี้ได้รับการทดสอบและรันบนระบบ Proxmox LXC Container และเข้าถึงผ่าน Tailscale VPN สำหรับการจัดการระยะไกล