5.0 KiB
Maintenance Documentation
| Document field | Value |
|---|---|
| Document | Maintenance Documentation |
| 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 architecture at report preparation |
Note: the example reference package filed the same content twice under Product Operation Guide and Maintenance Documentation. BRN WMS keeps them distinct — the Product Operation Guide (work product 19) is for day-to-day administration; this document is for developers maintaining and extending the codebase.
Objective (วัตถุประสงค์)
Give a developer maintaining BRN WMS enough architectural context, component ownership, and known-issue awareness to make a safe, correctly-scoped change.
1. Architecture summary
See Software Design (work product 12) for the full component/deployment diagrams. In summary: PHP presentation + business-logic manager classes → two MariaDB databases (wms identity/company, wms2 WMS/accounting), plus a Node.js real-time/scheduler tier reached only through a secret-protected internal endpoint.
2. Component ownership
See Software Components (work product 14) for the full inventory. When changing behavior, locate the owning manager class first (e.g., stock behavior → StockManager/StockSourceManager/StockTablesTrait; posting/GL behavior → PostingManager; document numbering → DocumentNumberManager) rather than editing page-level code directly, consistent with NFR-007 (maintainability).
3. Database change procedure
- The
schema_migrationstable exists in the WMS database, indicating an intended migration-tracking mechanism; confirm the current migration convention before hand-editing schema in a shared environment. setup.phpis the authoritative one-shot schema definition for a fresh environment; any schema change should be reflected there so a new environment matches production.- Prefer additive, backward-compatible schema changes; coordinate destructive schema changes through the Change Report.
4. Configuration points
| Area | File(s) | Notes |
|---|---|---|
| Database/app config | app/config.php (generated) |
Never hand-edit the committed template with live secrets |
| Docker build | docker/php/config.php.template, docker/php/entrypoint.sh |
Change here to affect all container deployments |
| Node.js services | nodejs/server.js, nodejs/scheduler.js, nodejs/ecosystem.config.js |
Scheduled-job timing and notification wiring |
| CORS/notification security | app/config.php (NODE_EMIT_SECRET), Node.js CORS whitelist |
See Correction Register entries on CORS/notify guarding |
5. Known issues and defect history
The Correction Register (work product 4) is the authoritative known-issue history: 29 recorded corrections, all currently "Implemented; verification pending." Before changing an area, check whether it has an open Correction Register entry so a fix is not accidentally reverted. Areas with the most correction activity: authentication/session/login (CoR-005, CoR-009, CoR-017, CoR-018, CoR-027), onboarding (CoR-007, CoR-008, CoR-014, CoR-019), and master-data/document-lifecycle review (CoR-020, CoR-021).
6. Release procedure
- Implement and locally verify the change.
- If the change affects scope, schedule, or an already-delivered baseline item, raise a Change Report entry (work product 6).
- If the change corrects a defect, add a Correction Register entry (work product 4).
- Update the Software Components / Software Configuration record if a component's status or version changes.
- Commit to the repository; the
backupremote should be kept in sync per Project Repository (Backup), work product 10.
7. 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: ___________________________________________________