wasankds.com

[MPOS] การติดตั้งบน Windows

การติดตั้งบน Windows
MPOS - Mobile Point of Sale
ลิงค์ที่เกี่ยวข้อง
เกริ่น

MPOS ทำงานแบบเว็บแอพ ที่มี 2 ส่วนหลักๆ ก็คือ Server และ Client

การติดตั้งจะติดตั้ง บนเครื่องที่ทำหน้าที่เป็น Server

ส่วน Client ก็คือ อุปกรณ์ที่ใช้ทำงานในระบบ เช่น โทรศัพท์, แท็บเล็ต หรือ คอมพิวเตอร์ เป็นต้น โดยผู้ใช้งาน สามารถเข้าใช้ระบบผ่านทางโปรแกรม Web Browser อย่างเช่น Chrome (แนะนำตัวนี้)

หลังติดตั้งเสร็จ ในเครือข่ายเดียวกัน สามารถเข้าใช้งานระบบได้ ผ่านทางเลขไอพีของเครื่อง Server เช่น 192.168.1.100 เป็นต้น ซึ่งเราจะอธิบายในหัวข้อนี้

กรณีต้องการเข้าถึงระบบจากภายนอกเครือข่าย สามารถทำได้หลายวิธี แต่วิธีที่ง่ายและถูกที่สุด ก็คือ จดชื่อโดเมนกับ Cloudflare จะได้ชื่อโดเมนเช่น example.com จากนั้นทำ Cloudflare Tunnel เพื่อเชื่อมต่อชื่อโดเมนกับเครื่องคอมพิวเตอร์ที่เป็น Server ซึ่งเราจะอธิบายในหัวข้อต่อไป

ขั้นตอนการติดตั้งโดยสรุป

การติดตั้งต่อไปนี้เป็นแบบ native ก็คือ ลงโปรแกรมที่เกี่ยวข้อง, ดาวน์โหลดโค้ดจาก GitHub, ตั้งค่าระบบ จากนั้นก็เปิดใช้งาน

( สำหรับการติดตั้งบน docker ขอไว้เป็นโอกาสหน้า )

การติดตั้งในหัวนี้ สำหรับบน ระบบปฏิบัติการ Windows เวอร์ชั่น 10+

ขั้นตอนการติดตั้งโดยสรุป

  1. ติดตั้งโปรแกรม Node.js และ npm
  2. ติดตั้งโปรแกรม MongoDB Server
  3. ติดตั้งโปรแกรม MongoDB Database Tools สำหรับ สำรองฐานข้อมูล, คืนค่าฐานข้อมูล เป็นต้น
  4. ติดตั้งโปรแกรม Git สำหรับอัปเดทระบบ
  5. ดาวน์โหลดโค้ดจาก GitHub
  6. ตั้งค่าและเปิดใช้งานระบบ
การติดตั้ง Node.js
ดาวน์โหลด Node.js

ดาวน์โหลด Node.js ได้ที่ https://nodejs.org/en/download

เลือกดาวน์โหลดตัวติดตั้งสำหรับ Windows แบบ LTS (เสถียรกว่า)

เมื่อดาวน์โหลดเสร็จ จะได้ไฟล์ .msi เช่น node-v22.20.0-x64.msi

ติดตั้ง Node.js และ npm

ดับเบิ้ลคลิกที่ไฟล์ .msi ที่ดาวน์โหลดมา เพื่อเริ่มการติดตั้ง จากนั้นทำตามขั้นตอนติดตั้งไปเรื่อยๆ ตามภาพ

ระหว่างติดตั้ง Node.js ก็จะติดตั้ง python, chocolatey และ npm (ซึ่งเป็นตัวจัดการแพ็กเกจของ Node.js) ไปด้วย

1

2

3

4

5

6

7

8

เคาะ Enter เพื่อไปต่อ

9

ติดตั้ง python และ chocolatey ไปด้วย

10

หลังติดตั้งเสร็จ ให้เปิด Command Prompt หรือ PowerShell ขึ้นมา แล้วพิมพ์คำสั่งต่อไปนี้ เพื่อตรวจสอบว่า ติดตั้งสำเร็จหรือไม่

ถ้าแสดงเลขเวอร์ชั่นออกมา ถือว่าใช้ได้

node -v (แสดงเวอร์ชั่นของ Node.js)
npm -v (แสดงเวอร์ชั่นของ npm)
python --version (แสดงเวอร์ชั่นของ python)

หมายเหตุ 1 : เคยไปติดตั้งให้ลูกค้า อาจมีปัญหาในการติดตั้ง npm หากตรวจสอบเวอร์ชั่นของ npm แล้ว ปรากฎ Error (จำไม่ได้แล้วว่า Error อะไร) ให้นำ Error ไปสอบถามใน Gemini AI จะมีวิธีแก้ไขให้ ซึ่งรันคำสั่งแก้เพียงคำสั่งเดียว ก็แก้ไขได้แล้ว เหมือนว่า Windows บล็อคอะไรบางอย่าง จึงต้องรันคำสั่งเพื่อปลดบล็อค

หมายเหตุ 2 : มีวิธีติดตั้ง Node.js อีกวิธีหนึ่ง คือ ใช้โปรแกรม nvm-windows (Node Version Manager for Windows) ซึ่งจะสามารถติดตั้ง Node.js ได้หลายเวอร์ชั่นในเครื่องเดียวกัน และสลับเวอร์ชั่นไปมาได้ง่าย แต่เหมาะสำหรับนักพัฒนาระบบมากกว่า ผู้ใช้งานทั่วไปไม่จำเป็นต้องใช้ จึงขอไม่กล่าวถึงในที่นี้

การติดตั้ง MongoDB
ดาวน์โหลด MongoDB

ดาวน์โหลด MongoDB ได้ที่ https://www.mongodb.com

เมื่อเข้าสู้หน้า Home แล้ว ให้เลือก Products -> Community Edition

คลิก Download Community

เลือก MongoDB Community Edition -> MongoDB Community Server -> เลือกดาวน์โหลดสำหรับ Windows (ไฟล์ .msi)

หลังดาวน์โหลดเสร็จ จะได้ไฟล์ .msi เช่น mongodb-windows-x86_64-8.2.0-signed.msi

ติดตั้ง MongoDB

ข้อควรระวังก่อนติดตั้ง : หากเคยติดตั้ง MongoDB ไว้แล้ว และมีข้อมูลอยู่ ต้องสำรองข้อมูลไว้ก่อน เพราะการติดตั้ง MongoDB เวอร์ชั่นใหม่ จะลบของเดิมทิ้งไป

ดับเบิ้ลคลิกที่ไฟล์ .msi ที่ดาวน์โหลดมา เพื่อเริ่มการติดตั้ง จากนั้นทำตามขั้นตอนติดตั้งไปเรื่อยๆ ตามภาพ

1

2

เลือกติดตั้งแบบ Complete

3

เลือก Run service as Network Service user ซึ่งแอพจะสามารถเข้าถึง MongoDB ได้โดยไม่ต้องใส่รหัสผ่าน เหมาะกับการติดตั้งบน Server ที่เราควบคุมได้ทั้งหมด

4

ระหว่างติดตั้ง จะปรากฎตัวเลือกถามว่าจะติดตั้ง MongoDB Compass หรือไม่ แนะนำไม่ต้องติดตั้ง(ให้ติ๊กออก) MongoDB Compass เหมาะกับนักพัฒนาระบบมากกว่า ผู้ใช้งานทั่วไปไม่จำเป็นต้องใช้

5

6

7

8

หลังติดตั้งเสร็จ ให้เปิด Command Prompt หรือ PowerShell ( แนะนำใช้ Command Prompt เพราะการอ่านพาธของระบบ ต่างจาก PowerShell ) แล้วพิมพ์คำสั่งต่อไปนี้ เพื่อตรวจสอบว่า ติดตั้งสำเร็จหรือไม่

ถ้าแสดงเลขเวอร์ชั่นออกมา ถือว่าใช้ได้

mongod --version

หรือ

mongo --version
การติดตั้ง MongoDB Shell (optional) - ข้ามได้
ดาวน์โหลด MongoDB Shell (optional)

ผู้ใช้งานทั่วไป สามารถข้ามขั้นตอนนี้ไปได้

MongoDB Shell ใช้สำหรับจัดการฐานข้อมูล MongoDB ผ่าน Command Line

ดาวน์โหลด MongoDB Shell ได้ที่ https://www.mongodb.com/try/download/shell

เลือกดาวน์โหลดตัวติดตั้งสำหรับ Windows (ไฟล์ .zip)

เมื่อแตกไฟล์ .zip จะปรากฎรายชื่อไฟล์และโฟลเดอร์ดังนี้

ในโฟลเดอร์ bin

ติดตั้ง MongoDB Shell (optional)

ผู้ใช้งานทั่วไป สามารถข้ามขั้นตอนนี้ไปได้

แตกไฟล์ .zip ที่ดาวน์โหลดลงมา

เลือกแตกไฟล์ไว้ที่ไหนก็ได้ แต่แนะนำแตกไว้ที่โฟลเดอร์เดียวกับ MongoDB ตามภาพก็คือที่โฟลเดอร์ C:\Program Files\MongoDB

โฟลเดอร์ C:\Program Files\MongoDB หลังแตกไฟล์

เนื่องจากเราสามารถวาง mongosh ไว้ที่ใดก็ได้ แต่เพื่อให้สะดวกแก่การเรียกใช้งาน เราต้องตั้งค่า PATH ของ Windows ให้ชี้ไปที่ mongosh ด้วย

ที่ Windows ค้นหา Edit the system environment variables

เลือกแท็บ Advanced จากนั้นคลิกที่ปุ่ม Environment Variables

ที่หน้าต่าง Environment Variables กรอบ System Variables คลิกเลือกบรรทัด Path จากนั้นคลิกที่ปุ่ม Edit

ที่หน้าต่าง Edit environment Variables คลิกที่ปุ่ม New จากนั้นวางพาธไปยังโฟลเดอร์ bin ของ mongosh ลงไปเช่น C:\Program Files\MongoDB\mongosh-2.5.2-win32-x64\bin คลิก OK ไล่ไปทุกหน้าต่าง

ทดสอบใช้ mongosh โดยเปิด Command Prompt หรือ Windows Terminal จากนั้นพิมพ์คำสั่ง

mongosh

ถ้าแสดงผลดังภาพด้านล่าง ใช้งานได้ (พิมพ์ exit เพื่อออก)

การติดตั้ง MongoDB Database Tools
ดาวน์โหลด MongoDB Database Tools

MongoDB Database Tools ใช้สำรองข้อมูล (Backup) และคืนค่าฐานข้อมูล (Restore) ถือว่าเป็นสิ่งจำเป็น เพราะเราจำเป็นต้องสำรองข้อมูลไว้ หากต้องการใช้ระบบแบบจริงจัง

ดาวน์โหลด MongoDB Database Tools ได้ที่ https://www.mongodb.com/try/download/database-tools

เลือกดาวน์โหลดตัวติดตั้งสำหรับ Windows (ไฟล์ .msi) เช่น mongodb-database-tools-windows-x86_64-100.13.0.msi

ติดตั้ง MongoDB Database Tools

ดับเบิ้ลคลิกที่ไฟล์ .msi ที่ดาวน์โหลดมา เพื่อเริ่มการติดตั้ง จากนั้นทำตามขั้นตอนติดตั้งไปเรื่อยๆ ตามภาพ

1

2

สังเกตุตามภาพ MongoDB Database Tools จะติดตั้งอยู่ที่โฟลเดอร์ C:\Program Files\MongoDB\Tools\100 ให้ดูตรงนี้ไว้ด้วยเพราะเราต้องนำไปใช้ต่อ

3

4

5

จากพาธที่เราติดตั้ง MongoDB Database Tools ( C:\Program Files\MongoDB\Tools\100 ) เราต้องตั้งค่า PATH ของ Windows ให้ชี้ไปที่ตำแหน่งนี้ด้วย

ที่ Windows ค้นหา Edit the system environment variables

เลือกแท็บ Advanced จากนั้นคลิกที่ปุ่ม Environment Variables

ที่หน้าต่าง Environment Variables กรอบ System Variables คลิกเลือกบรรทัด Path จากนั้นคลิกที่ปุ่ม Edit

ที่หน้าต่าง Edit environment Variables คลิกที่ปุ่ม New จากนั้นวางพาธไปยังโฟลเดอร์ bin ของ MongoDB Database Tools ตามภาพ คลิก OK ไล่ปิดไปทุกหน้าต่าง

ทดสอบใช้ เครื่องมือของ MongoDB Database Tools สัก 1 ตัว โดยเปิด Command Prompt หรือ PowerShell จากนั้นพิมพ์คำสั่ง

mongodump --version

ถ้าแสดงผลดังภาพด้านล่าง ใช้งานได้

การติดตั้ง Git
ดาวน์โหลด Git

Git ใช้ในการอัปเดทระบบ แบบออนไลน์

ดาวน์โหลด Git ได้ที่ https://git-scm.com/downloads/win

เลือกดาวน์โหลดตัวติดตั้งสำหรับ Windows (ไฟล์ .exe)

ติดตั้ง Git

ดับเบิ้ลคลิกที่ไฟล์ .exe ที่ดาวน์โหลดมา เพื่อเริ่มการติดตั้ง จากนั้นทำตามขั้นตอนติดตั้งไปเรื่อยๆ ตามภาพ

1

2

3

ตรวจสอบการติดตั้ง Git โดยเปิด Command Prompt หรือ Windows Terminal จากนั้นพิมพ์คำสั่ง

git -v

ถ้าแสดงผลดังภาพด้านล่าง ใช้งานได้

ดาวน์โหลดโค้ดจาก GitHub
ดาวน์โหลดโค้ดจาก GitHub

เปิด Terminal ณ ตำแหน่งที่จะเก็บระบบ ในที่นี้จะเก็บไว้ที่โฟลเดอร์ Document

ดาวน์โหลดโค้ดจาก GitHub โดยใช้คำสั่งต่อไปนี้ คำสั่งนี้จะสร้างโฟลเดอร์ชื่อ mpos-deploy แล้วเก็บโค้ดของระบบไว้ที่นี่

พาธไปยังโฟลเดอร์ที่จะเก็บระบบ> git clone https://github.com/wasankds/mpos-deploy.git

เมื่อดูในโฟลเดอร์ mpos-deploy ที่เพิ่งดาวน์โหลดมา จะปรากฎรายการไฟล์ต่างๆ

ตั้งค่าและเปิดระบบ
ติดตั้ง pm2

เราจะเปิดระบบโดยใช้ pm2

pm2 ใช้ในการจัดการโปรเซสของ Node.js เช่น กรณี Server มีหลาย Cores pm2 จะทำหน้าที่กระจายโหลดไปตาม Cores เพื่อให้รองรับโหลดได้มากขึ้น หรือใช้ในการรีสตาร์ทตัวเอง หากโปรเซสนั้นๆมีปัญหา

ใช้คำสั่งต่อไปนี้เพื่อติดตั้ง pm2

พาธไปยัง mpos-deploy> npm install pm2 -g

ตรวจสอบการติดตั้ง pm2 โดยพิมพ์คำสั่ง

pm2 -v
ติดตั้ง Dependencies

ใช้คำสั่งต่อไปนี้เพื่อติดตั้ง Dependencies หรือโมดูลต่างๆที่ระบบต้องใช้

พาธไปยัง mpos-deploy> npm install
รันคำสั่งสร้างโฟลเดอร์

รันคำสั่งสร้างโฟลเดอร์ที่จำเป็น

บน GitHub ถ้าไม่มีไฟล์ในโฟลเดอร์ GitHub จะลบโฟลเดอร์ทิ้ง แต่เพื่อความแน่ใจว่ามีโฟลเดอร์ที่จำเป็น ให้รันคำสั่งต่อไปนี้เพื่อสร้างโฟลเดอร์

พาธไปยัง mpos-deploy> npm run create-f
ไฟล์ .env

เราต้องสร้างไฟล์ .env ขึ้นมา จากนั้นใส่การตั้งค่าระบบลงไป แต่เราได้เตรียมไฟล์ .env-deploy ไว้ให้แล้ว แค่เพียงเปลี่ยนชื่อก็ใช้งานได้แล้ว

ให้เปลี่ยนชื่อไฟล์ .env-deploy เป็น .env (ด้วยวิธีใดก็ได้)

เช่นคำสั่งใน Windows PowerShell

พาธไปยัง mpos-deploy> Rename-Item .env-deploy .env

เปิดไฟล์ .env ด้วยโปรแกรมแก้ไขข้อความ เช่น Notepad

ใช้งานระบบครั้งแรก บนเครื่องที่ติดตั้ง MPOS ไม่ต้องแก้ไขไฟล์ .env ก็สามารถใช้งานได้แล้ว เพราะตั้งค่าเริ่มต้นไว้ให้แล้ว (หากแก้ไขไฟล์ .env จะต้องรีสตาร์ทระบบใหม่ทุกครั้ง)

แต่ขออธิบายรายละเอียดต่างๆไว้ หากต้องการจะแก้ไข ดังนี้

กลุ่มฐานข้อมูล

DB_URL="mongodb://localhost:27017" : localhost:27017 เป็น URL ที่ใช้เชื่อมต่อกับ MongoDB ต้องตั้งให้ตรงกับที่ติดตั้ง MongoDB (ค่าปริยายเป็นค่านี้)

DB_NAME="mpos_server" : mpos_server เป็นชื่อของฐานข้อมูล ในกรณีที่เรามีหลายระบบต้องแก้ไม่ให้เหมือนกัน

กลุ่มห้ามแก้ไข

IS_PRODUCTION=1 : *** ห้ามแก้ ***

SOURCE_CODE="copy" : *** ห้ามแก้ ***

กลุ่มพอร์ตและโดเมน

PORT_DEPLOY=0 : ใช้ในการเลือกพอร์ตและโดเมน (จะใช้ 1 ก็ต่อเมื่อใช้งานระบบนอกเครือข่าย โดยใช้กับชื่อโดเมน)
# 0=PORT_DEPLOY, 1=PORT_SERVER
# 0=LOCALHOST_ALLOW, 1=DOMAIN_ALLOW

PORT_SERVER=80 : พอร์ต เมื่อตั้ง PORT_DEPLOY=1 ปกติตั้งเป็น 80 (หากเราใช้จริงบน Server อาจใช้พอร์ทที่ไม่ใช่ 80)

PORT_DEV=80 : พอร์ต เมื่อตั้ง PORT_DEPLOY=0

LOCALHOST_ALLOW="http://localhost" : URL สำหรับใช้ในเครือข่ายเดียวกัน (ถูกใช้เมื่อตั้ง PORT_DEPLOY=0) หากต้องการให้ Client เข้ามาใช้ ให้แก้เป็นเลข IP Address ของ Server ซึ่งจะได้อธิบายต่อไป

DOMAIN_ALLOW="https://tualeklek.com" : URL สำหรับใช้งานภายนอกเครือข่าย (ถูกใช้เมื่อตั้ง PORT_DEPLOY=1)

กลุ่มเพิ่มยูสเซอร์และเปิดใช้การเพิ่มยูสเซอร์ครั้งแรก

USE_STARTAPP_ROUTER=1 : เปิดใช้งานการเพิ่มยูสเซอร์เจ้าของระบบ(สิทธิการใช้งาน O) หลังเพิ่มแล้วให้เปลี่ยนเป็น 0

ADD_USER_KEY="wasan123" : คีย์ที่ใช้กับ USE_STARTAPP_ROUTER

START_PASSWORD="qwerty" : รหัสผ่านเริ่มต้นของยูสเซอร์ที่เพิ่มเข้ามาใหม่ ต้องเปลี่ยนทันทีที่ Login

กลุ่มตั้งเวลาแก้ไขหรือยกเลิกเอกสาร (หน่วยเป็นชั่วโมง สามารถใส่เลขทศนิยมได้)

เอกสาร "ขาย"

hoursCanEdit_sales=0 : 0=แก้ไขไม่ได้

hoursCanCancel_sales=1 : 1=ยกเลิกได้ภายใน 1 ชั่วโมง (หากยังไม่มีการชำระหนี้ กรณีเอกสารนั้นๆมีการค้างชำระ)

เอกสาร "คืนสินค้า"

hoursCanEdit_return=0 : 0=แก้ไขไม่ได้

hoursCanCancel_return=1 : 1=ยกเลิกได้ภายใน 1 ชั่วโมง

เอกสาร "สินค้าเข้าคลัง"

hoursCanEdit_warehouseIn=1 : 1=แก้ไขได้ภายใน 1 ชั่วโมง

hoursCanCancel_warehouseIn=2 : 2=ยกเลิกได้ภายใน 2 ชั่วโมง

เอกสาร "สินค้าออกคลัง"

hoursCanEdit_warehouseOut=0 : 0=แก้ไขไม่ได้

hoursCanCancel_warehouseOut=1 : 1=ยกเลิกได้ภายใน 1 ชั่วโมง

เปิดระบบ

เราทำไฟล์ .bat สำหรับเปิดระบบไว้ให้แล้ว ดับเบิ้ลคลิกที่ไฟล์ดังต่อไปนี้ได้เลย

1_start.bat : เปิดระบบด้วย pm2

2_restart.bat : รีสตาร์ทระบบที่เปิดด้วย pm2

3_delete.bat : ลบระบบที่เปิดด้วย pm2

4_kill-win.bat : ลบโปรเซสทั้งหมดของ Node.js

หลังเปิดระบบแล้ว สามารถตรวจสอบการเปิดระบบได้โดย ใช้คำสั่งต่อไปนี้

pm2 ls

หรือถ้าต้องการพิมพ์คำสั่งเอง สามารถใช้คำสั่งต่อไปนี้

พาธไปยัง mpos-deploy> npm start // เปิดระบบด้วย pm2
พาธไปยัง mpos-deploy> npm run start1 // เปิดระบบแบบ 1Core
พาธไปยัง mpos-deploy> npm run stop // หยุดระบบ
พาธไปยัง mpos-deploy> npm run restart // รีสตาร์ทระบบ
พาธไปยัง mpos-deploy> npm run delete // ลบระบบ
พาธไปยัง mpos-deploy> npm run kill-win // ลบโปรเซสทั้งหมดของ Node.js

หลังเปิดระบบแล้ว สามารถเข้าใช้งานระบบได้ที่ URL http://localhost ซึ่งเป็นการใช้งานบนเครื่องที่ติดตั้ง MPOS

เครื่องลูกข่ายเข้าใช้งาน

กรณีต้องการให้เครื่อง Client หรือ เครื่องลูกข่ายใช้งาน สามารถเข้าใช้งานผ่านเลข IP Address ของเครื่อง Server

ตรวจสอบเลข IP Address ของเครื่อง Server ได้โดยใช้คำสั่ง

ipconfig

และที่ไฟล์ .env แก้ค่า LOCALHOST_ALLOW เป็นเลข IP Address ของเครื่อง Server

LOCALHOST_ALLOW="http://192.168.1.100"

หลังจากนั้นให้ Restart ระบบ

พาธไปยัง mpos-deploy> npm run restart

ตัวอย่างหน้าจอเครื่อง Client เข้าใช้งานระบบผ่านเลข IP Address ของเครื่อง Server

เพิ่มข้อมูลครั้งแรก และตั้งค่าระบบ
เพิ่มยูสเซอร์เจ้าของระบบ

เมื่อเข้าสู่ระบบ เราจะติดอยู่ที่หน้า login ฉะนั้นเราต้องเพิ่มยูสเซอร์เจ้าของระบบก่อน (สิทธิ์การใช้งาน O) เพื่อให้สามารถจัดการระบบได้ทุกอย่าง

เนื่องจากเราได้ตั้งค่าในไฟล์ .env ให้เปิดใช้งานการเพิ่มยูสเซอร์เจ้าของระบบไว้แล้ว (USE_STARTAPP_ROUTER=1)

ให้กรอก URL ต่อไปนี้ลงใน Browser

http://localhost/add-wasan?key=wasan123

หลังกด Enter และเพิ่มยูสเซอร์สำเร็จ จะปรากฎข้อความยืนยันการเพิ่มยูสเซอร์

ยูสเซอร์ที่เพิ่มลงไป ใช้ username : wasankds, password : qwerty

หมายเหตุ : หลังเพิ่มยูสเซอร์เจ้าของระบบแล้ว ให้เปลี่ยน username และ password ทันทีที่ Login

หมายเหตุ : หลังเพิ่มยูสเซอร์เจ้าของระบบแล้ว ให้เปลี่ยนค่าในไฟล์ .env เป็น USE_STARTAPP_ROUTER=0 เพื่อปิดการเพิ่มยูสเซอร์เจ้าของระบบ (ถึงไม่ปิดก็เพิ่มไม่ได้ เพราะมีการตรวจจับการซ้ำด้วย แต่ปิดไปจะดีกว่า)

ถัดมาให้เรา Login ด้วยยูสเซอร์ที่เพิ่มลงไป

หลัง Login สำเร็จ จะเข้าสู่หน้าหลักของระบบ

หลังเพิ่มยูสเซอร์เจ้าของระบบแล้ว ให้เปลี่ยน username และ password ทันที

ให้คลิกที่ชื่อ username จะเข้าสู่หน้า "ข้อมูลผู้ใช้งาน"

ที่หน้าจอ ข้อมูลผู้ใช้งาน ให้เปลี่ยนรหัสผ่าน แล้วคลิกปุ่ม บันทึก

ถัดมา เปลี่ยนข้อมูลผู้ใช้งาน สำคัญที่ต้องใช้อิเมล์จริง ในกรณีลืมพาสเวิร์ด ระบบจะส่งลิงค์รีเซ็ตพาสเวิร์ดไปยังอิเมล์นี้

เพิ่มสาขา

หลังเพิ่มยูสเซอร์เจ้าของระบบแล้ว ให้เพิ่มข้อมูลสาขา เพราะยูสเซอร์เจ้าของระบบก็มีสาขาสังกัดเหมือนกัน

การเพิ่มสาขา(ครั้งแรก) ใช้วิธีเดียวกับการเพิ่มยูสเซอร์เจ้าของระบบ เพิ่มโดยใช้การกรอก URL

ให้กรอก URL ต่อไปนี้ลงใน Browser

http://localhost/add-branches?key=wasan123

หลังกด Enter และเพิ่มสาขาสำเร็จ เมื่อดูที่เมนู "จัดการสาขาผู้ใช้งาน" จะปรากฎสาขาที่เพิ่มเข้ามา 2 สาขา

ตั้งค่าระบบ (ข้ามไปก่อนได้)

ที่หน้า Home คลิกที่ ตั้งค่าระบบ

ที่หน้าจอ ตั้งค่าระบบ ใช้ตั้งค่าอย่างเดียว ก็คือ การส่งอีเมล์อัตโนมัติ

การส่งอีเมล์อัตโนมัติ ใช้อยู่ 2 กรณีก็คือ การสร้างยูสเซอร์ใหม่ โดยส่งอิเมล์แจ้งรหัสผ่านไปด้วย และ ส่งลิงค์รีเซ็ตพาสเวิร์ด เมื่อยูสเซอร์ลืมพาสเวิร์ด

ถือว่าจำเป็นโดยเฉพาะเมื่อลืมพาสเวิร์ด แต่การขอรหัสส่งอิเมล์อัตโนมัติจากบัญชี Google ต้องขออธิบายแยก และรหัสส่งอิเมล์ต้องเป็นความลับสูงสุดของเจ้าของอิเมล์

ในเบื้องต้น ยังไม่จำเป็นต้องตั้งค่า เพราะเรามีวิธีเพิ่มยูสเซอร์โดยไม่ต้องส่งรหัสผ่านไปให้ แต่ต้องเปลี่ยนรหัสผ่านทันทียูสเซอร์ที่ Login

ตั้งค่า

ไปที่เมนู "ตั้งค่า"

ที่แท็บ "ทั่วไป" ช่อง ไทเทิ้ลหน้าแรก กรอกชื่อร้านหรือบริษัทลงไป เช่น "ร้านทดสอบ"

ที่แท็บ "จัดการระบบ" ใช้สำหรับ สำรองข้อมูล, อัปเดท และ รีสตาร์ทระบบ

กรอกข้อมูลเริ่มต้น
เกริ่น

ระบบจะใช้งานได้ เราต้องมีข้อมูล "ผู้ใช้งาน" และ "สาขาของผู้ใช้งาน" ซึ่งเราได้เพิ่มไปแล้ว ก่อนหน้านี้

นอกจากนี้ เราต้องมีข้อมูล "หมวดหมู่ไอเท็ม" และ "ไอเท็ม" ซึ่งเราจะมาเพิ่มกันต่อในหัวข้อนี้

เพิ่มยูสเซอร์อื่นๆ (ข้ามไปก่อนได้)

เรามียูสเซอร์เจ้าของระบบแล้ว สามารถใช้งานระบบได้แล้ว แต่ถ้าต้องการเพิ่มยูสเซอร์อื่นๆ และกำหนดสิทธิต่างๆให้ (O,S,A,U) สามารถทำได้ดังนี้

ไปที่เมนู "จัดการผู้ใช้งาน" เพื่อเพิ่มยูสเซอร์อื่นๆ ที่จะมาใช้ระบบ

ปุ่ม "สร้างผู้ใช้ใหม่ทันที" จะสร้างผู้ใช้ใหม่ โดยไม่ส่งอีเมล์รหัสผ่านไปให้ โดยระบบจะตั้งรหัสผ่านเริ่มต้นให้ก่อนก็คือ qwerty

ฉะนั้นถ้าจะนำยูสเซอร์นี้ ไปให้ผู้ใช้งานใช้ ต้องเปลี่ยนข้อมูลยูสเซอร์ทันทีที่ login โดยเฉพาะรหัสผ่าน เพราะแม้แต่เจ้าของระบบหรือนายจ้าง จะต้องไม่รู้รหัสผ่านของผู้ใช้งานคนอื่นๆเลย

ตัวอย่างตามภาพ เพิ่มยูสเซอร์ user-1001

Login ด้วย username : user-1001, password : qwerty

เพิ่มหมวดหมู่ไอเท็ม

ตอนสร้างไอเท็ม(สินค้า) เราจะต้องเลือก หมวดหมู่ของไอเท็ม ฉะนั้นต้องเพิ่มหมวดหมู่ไอเท็ม ลงไปก่อน

ไปที่เมนู "หมวดหมู่ไอเท็ม" เพื่อเพิ่มหมวดหมู่ไอเท็มใหม่ ลงในระบบ (ไม่ขอลงรายละเอียด)

เพิ่มไอเท็ม

ไปที่เมนู จัดการสินค้า เพื่อเพิ่มไอเท็มใหม่ในระบบ (ไม่ขอลงรายละเอียด)

ระบบสร้างเอกสารได้แล้ว

ถึงตรงนี้ระบบ ก็ใช้สร้างเอกสารต่างๆได้แล้ว (ไม่ขอลงรายละเอียด)

การล้างข้อมูล
การล้างข้อมูล

หลังทดสอบระบบจนพอใจแล้ว ต้องการจะล้างข้อมูลทิ้ง สามารถทำได้โดยใช้คำสั่งต่อไปนี้

หมายเหตุ1 : ถ้าต้องการสำรองข้อมูลเดิมไว้ ให้คลิกปุ่ม "Backup Database" ในหน้า "ตั้งค่า" ไฟล์สำรองข้อมูลจะอยู่ในโฟลเดอร์ "backup" การกู้คืนต้องใช้ mongorestore ซึ่งจะได้อธิบายต่อไป

หมายเหตุ2 : โดยปกติ เราจะทำระบบทดสอบแยกออกมาต่างหาก สำหรับใช้ฝึกฝนพนักงาน จึงไม่ต้องกลัวข้อมูลเสียหาย

ล้างข้อมูลเอกสารทั้ง 4 ("ขาย", "คืน", "สินค้าเข้า", "สินค้าออก")

พาธไปยัง mpos-deploy> npm run clear-db-docs

ล้างข้อมูลเอกสารเกือบทั้งหมด ยกเว้นการตั้งค่าเท่านั้น

พาธไปยัง mpos-deploy> npm run clear-db-data

ล้างข้อมูลในฐานข้อมูลทั้งหมด ต้องเริ่มใหม่ตั้งแต่เพิ่มยูสเซอร์คนแรก

พาธไปยัง mpos-deploy> npm run clear-db-entire

ตัวอย่างการรันคำสั่ง npm run clear-db-docs เมื่อรันคำสั่งแล้ว จะต้องพิมพ์ yes เพื่อยืนยันอีกครั้ง

การขอรหัสส่งอิเมล์
การขอรหัสส่งอิเมล์

ระบบส่งเมล์อัตโนมัติ เราใช้เฉพาะบัญชี GMail (หรือบัญชี Google Wordkspace) ให้เราล็อกอินด้วยบัญชี GMail ที่ต้องการใช้ส่งอีเมล์

จากนั้นไปที่ https://myaccount.google.com/ คลิกเลือกแท็บ Security คลิกที่ 2-Step Verification

คลิก Turn on 2-Step Verification เพื่อเปิดใช้งาน

ที่หน้า 2-Step Verification เลื่อนมาด้านล่างสุด หาหัวข้อ App passwords จากนั้นคลิกเพื่อเข้าไปดู ( ถ้าไม่มีกรอบ App passwords ให้เข้าที่ลิงค์ตรง https://myaccount.google.com/apppasswords )

ที่หน้า App passwords ช่อง App name กรอกชื่อแอพ (อะไรก็ได้) จากนั้นคลิกที่ปุ่ม Create

หลังคลิกปุ่ม Create จะได้รหัสผ่าน 16 ตัว ในรูปแบบ xxxx xxx xxx xxx (ต้องเป็นความลับสูงสุด) ให้คัดลอกเก็บไว้ แล้วนำไปกรอกใน "การตั้งค่าระบบ"

กรอกรหัสผ่านสำหรับส่งอิเมล์ได้ตามภาพ

หมายเหตุ : การใช้ App Pasword ไม่เหมาะกับระบบใหญ่ๆ แต่การใช้วิธีอื่นในการส่งเมล์ค่อนข้างยุ่งยากกว่าและอาจมีค่าใช้จ่าย ในเวอร์ชั่นต่อไปเราอาจจะพิจารณาใช้บริการส่งเมล์จากภายนอก เช่น SendGrid, Mailgun, Mailjet, Amazon SES หรือ nodemailer-oauth2

การคืนค่าฐานข้อมูล
การคืนค่าฐานข้อมูล

เมื่อเราคลิกปุ่ม "Backup Database" ไฟล์ข้อมูลจะถูกเก็บอยู่ในโฟลเดอร์ "backup" ที่อยู่ภายในโฟลเดอร์ของโปรเจกต์

การสำรองฐานข้อมูลแต่ละครั้ง ระบบจะสร้างโฟลเดอร์แยกเก็บข้อมูลตามภาพ ชื่อโฟลเดอร์อยู่ในรูปแบบ ชื่อฐานข้อมูล_ปี-เดือน-วัน-ชั่วโมง-นาที

การคืนค่าฐานข้อมูล สามารถทำได้โดยใช้คำสั่งต่อไปนี้

พาธไปยัง mpos-deploy> mongorestore --uri="mongodb://localhost:27017/<ชื่อฐานข้อมูล>" --drop "backup\<ชื่อโฟลเดอร์เก็บข้อมูล>\<ชื่อฐานข้อมูล>"

ตัวอย่างการคืนค่าฐานข้อมูล ชื่อฐานข้อมูล mpos_server จากโฟลเดอร์ mpos_server_2025-10-03-14-57 จะใช้คำสั่งดังนี้

พาธไปยัง mpos-deploy> mongorestore --uri="mongodb://localhost:27017/mpos_server" --drop "backup\mpos_server_2025-10-03-14-57\mpos_server"

ตัวอย่างการรันคำสั่งคืนค่าฐานข้อมูล

หมายเหตุ : การสำรองข้อมูลอัตโนมัติ จะทำในเวอร์ชั่นต่อไป

✍ คอมเม้นต์ได้เฉพาะสมาชิกเท่านั้น (ช่องกรอกจะปรากฎเมื่อล็อกอินแล้ว)
✍ คอมเม้นต์จะปรากฎเมื่อได้รับอนุมัติจากผู้ดูและระบบ (มีระบบแจ้งเตือนเพื่อให้ผู้ดูแลระบบตรวจสอบโดยเร็ว)
✍ กรุณาแสดงความคิดเห็นด้วยความสุภาพ