Files
wms-app/sdlc/2-SI Process (12 Work Product)/19.Product Operation Guide/200-WMS-26-001-00 Product Operation Guide 25690817 V1.0.md
T
2026-08-17 17:09:27 +07:00

6.0 KiB
Raw Blame History

Product Operation Guide

Document field Value
Document Product Operation Guide
Project BRN WMS
Project code 200-WMS-26-001-00
Title เอกสารคู่มือปฏิบัติงานสำหรับผู้ดูแลระบบ
Project period 05/01/26–24/08/26
Preparation date 17/08/26
Release 17/08/26 V1.0
Standard ISO/IEC 29110 Basic Profile
Organizer คุณอภิรัชต์ สุภัทรประทีป (Project Manager), ธนกร สถิตวิทยากุล (Developer / System Analyst)
Status Final — reflects the implemented deployment mechanisms at report preparation

Objective (วัตถุประสงค์)

Guide a System Administrator through installing, configuring, operating, monitoring, backing up, and recovering BRN WMS, so operation is consistent, correct, and quickly recoverable.

1. Deployment options

BRN WMS supports two deployment paths, evidenced in the repository:

Path Mechanism Reference
Manual installation One-shot database setup script setup.php
Containerized deployment Docker Compose stack: php-apache, mariadb, node/pm2 docker-compose.yml, docker/
  1. Copy .env.example to .env, or run the interactive generator: docker/init-env.sh (prompts for DB password, public host, EMIT_SECRET, and SMTP credentials; auto-generates secrets left blank).
  2. Run docker compose up -d --build. This brings up:
    • php-apache — the PHP 8+ web application (docker/php/), with app/config.php generated from .env at container start by docker/php/entrypoint.sh — never baked into the image or committed.
    • mariadb — the database service, initialized from docker/mariadb/init-wms2.sql and setup.php.
    • node — the Node.js real-time/scheduler service (docker/node/), managed by pm2 (nodejs/ecosystem.config.js).
  3. Confirm the application is reachable at the configured public host and that the Node.js service is running (Section 5).

3. Manual installation

  1. Provision a PHP 8+ / MariaDB / Node.js environment.
  2. Configure app/config.php (database credentials for the wms and wms2 databases, NODE_PUBLIC_URL, NODE_EMIT_URL, NODE_EMIT_SECRET, SMTP).
  3. Run setup.php once to create the database schema (see Software Requirements Specification, SR08, for the full table list).
  4. Start the Node.js services (nodejs/server.js, nodejs/scheduler.js), for example under pm2 using nodejs/ecosystem.config.js.

4. Configuration

Item Location Notes
Application configuration app/config.php Generated at deploy time; never committed
Environment secrets .env (Docker) or shell/deployment environment (manual) Excluded via .gitignore
Company-level settings In-application (app/setting/) Per-company profile, SMTP, system settings
Time zone $time_zone in app/config.php Fixed to Asia/Bangkok

5. Monitoring

  • Web application: confirm the PHP application responds and users can authenticate.
  • Database: confirm both wms and wms2 databases are reachable.
  • Node.js service: confirm server.js (Socket.IO) and scheduler.js (scheduled jobs) are running under pm2; review nodejs/logs/ (socket.log, scheduler.log, scheduler-error.log) for errors.
  • Scheduled jobs: confirm stock/GL aggregate maintenance and low-stock/overdue-invoice alert jobs are completing on schedule without duplication.

6. Backup and recovery

Item Mechanism Status
Source code and configuration templates Git, two remotes (origin, backup) See Project Repository / Project Repository (Backup), work products 9–10
Database (wms, wms2) Scheduled mysqldump script, run daily, output stored off-server with a retention policy Reported by the Developer / System Analyst (17/08/26); script location, exact schedule, off-server destination, and retention period are not yet recorded in a controlled configuration reference, and no restoration has been tested — see Section 7
SDLC documents External PDF export package See Project Repository (Backup), Section 3

7. Outstanding operational gaps

ID Gap Owner Required before
OP-001 A daily mysqldump backup exists for wms/wms2 (developer-reported), but its script location, exact schedule, off-server destination, and retention period are not yet recorded in a controlled reference, and no restoration has been tested. Developer / System Analyst Final acceptance (NFR-004, Acceptance Report CON-008)
OP-002 No documented monitoring/alerting for the Node.js service beyond log files. Developer / System Analyst Operational acceptance

8. User and access management

An Owner/Admin manages users, roles (Owner/Admin/Staff/Viewer), and application-access flags from Settings (app/setting/). Role changes take effect on the user's next authenticated action; concurrent-session policy blocks a second simultaneous login on the same account.

Approval

Prepared by

Name: ธนกร สถิตวิทยากุล
Role: Developer / System Analyst
Signature: ______________________________________________
Date: ___________________________________________________

Reviewed by

Name: คุณอภิรัชต์ สุภัทรประทีป
Role: Project Manager
Signature: ______________________________________________
Date: ___________________________________________________

Reviewed and authorized by

Name: คุณเสรี วิริยะสกุลธรณ์
Project roles: Project Sponsor / Customer Representative / Authorized Approver
Position: กรรมการผู้จัดการ
Company: บริษัท บี.อาร์.เอ็น. เอ็นเตอร์ไพรส์ จำกัด
Signature: ______________________________________________
Date: ___________________________________________________