VTRC Knowledge Manual v2
คู่มืออ้างอิงภายในสำหรับระบบ HR/Welfare ของสภากาชาดไทย — ฉบับปรับปรุงใหม่ที่ครอบคลุมทุกบริการในแพลตฟอร์ม
จัดทำโดยทีมที่ดูแลระบบ สำหรับวิศวกรและบุคลากรที่เข้ามาดูแลระบบต่อ
ดูฉบับเก่าได้ที่ v1 Archive (เมนู Version → v1) หรือโฟลเดอร์ docs-v1-archive/ บนดิสก์
เอกสารฉบับนี้ครอบคลุมอะไร
VTRC เป็นชุดเว็บแอปพลิเคชันและ API ที่พนักงานสภากาชาดไทยใช้ในงานด้าน HR ประจำวัน ระบบเริ่มต้นราวปี 2019 และขยายตัวมาตลอดจนถึงปัจจุบันที่มีบริการย่อยกระจายออกเป็น microservices
ฉบับที่ 2 นี้ เขียนใหม่ทั้งหมดเพราะฉบับแรก (v1 Archive, เก็บใน docs-v1-archive/) ครอบคลุมเพียง 5 repositories หลัก ทั้งที่แพลตฟอร์มจริงประกอบด้วย 31 repositories ที่มีโค้ดจริงใน 7 กลุ่ม บวกอีก 8 repositories ที่เป็น placeholder ว่างเปล่า (ดู Volume 10) — รวม 39 repositories ทั้งหมดใน workspace (ดู repo fact-sheet index สำหรับรายชื่อทุกตัว)
7 กลุ่มแพลตฟอร์ม
| กลุ่ม | Repositories | Stack |
|---|---|---|
| Legacy Core | vtrc-api, cu-central-api, centralize-api | Node.js + Apollo GraphQL + Sequelize (MariaDB/MSSQL) + LDAP |
| Web Frontends | vtrc-web, vtrc-rc-backoffice, vtrc-backoffice, vtrc-backoffice-new | React 16 + Webpack/CRA + Ant Design (v3 เฉพาะ vtrc-web; อีก 3 repo resolve เป็น v4.15.4 ตรงกันหมด — ไม่ใช่ "v3/v4" แบบรวมกลุ่ม) |
| 2way Platform | 2way-api, 2way-batch, 2way-line-service, 2way-meeting-backoffice, 2way-vtrc-api | ผสมสองยุค — NestJS 9 (2way-api/2way-batch/2way-line-service, จัดการเฉพาะบาง feature) และ Express.js + Sequelize/Mongoose (2way-vtrc-api, backend หลักที่ frontend ฝั่งพนักงานเรียกจริง) + Next.js/React (2way-meeting-backoffice) |
| Domain Microservices | benefit-api, chat-center-api, job-scheduler-api, workflow-api, recruitment-api, ai-recruitment-api, pms-api, sso-api, vtrc-common | NestJS 9 + TypeORM/MSSQL เป็นหลัก (ยกเว้น ai-recruitment-api ที่เป็น Express) — ไม่มี MongoDB ในกลุ่มนี้ (vtrc-common เป็น standalone microservice พอร์ต 9310 ไม่ใช่ shared npm library) |
| Meeting Platform | meeting-vtrc-api, meeting-backoffice, meeting-backoffice-new | Express + TypeScript + Sequelize/MSSQL (meeting-vtrc-api — mongoose เป็น dead dependency ไม่ได้ใช้งานจริง) / Next.js + MUI (meeting-backoffice, deploy เดี่ยว) / CRA (meeting-backoffice-new, ฝังเป็น static sub-app ใน vtrc-backoffice(-new)) |
| Mobile | vtrc-mobile, new-vtrc-mobile, vtrc-application-front | React Native (vtrc-mobile, new-vtrc-mobile) / Static HTML ล้วน ไม่มี framework (vtrc-application-front — ไม่ใช่ Cordova app) |
| OCR & Aux | vtrc-ocr-api, report-log, recruitment-web, interns_playground (sandbox ฝึกฝน ไม่ใช่ production) | Express + Swagger / React (CRA) + Ant Design 5 |
นอกจากนี้ยังมี 8 repositories ที่เป็น placeholder (สร้างไว้เป็นแผน microservices split แต่ยังไม่มีโค้ด — ดู Volume 10)
วัตถุประสงค์
คู่มือฉบับนี้มีเป้าหมายสามข้อ
- อ้างอิงสถาปัตยกรรม — อธิบายว่าระบบมีส่วนใดบ้าง แต่ละส่วนทำงานอย่างไร และเชื่อมต่อกันอย่างไร
- วางแผนปรับปรุง — ระบุหนี้ทางเทคนิค ช่องโหว่ และเส้นทางการ modernization
- ดำเนินการได้จริง — ให้รายละเอียดพอที่จะ deploy, debug, และแก้ไขปัญหาได้
ทุก claim มี citation เป็น file:line — ก่อนเชื่อข้อความใดให้เปิดไฟล์ที่อ้างถึงเพื่อยืนยันเสมอ
โครงสร้างคู่มือ
20 volumes แบ่งเป็น 4 ชั้น
ชั้นที่ 1 — Foundation (Vol 0–2)
| Volume | ชื่อ | กลุ่มผู้อ่าน |
|---|---|---|
| 0 | Getting Started | ทุกคน — อ่านก่อนเล่มอื่น |
| 1 | Business & Operations | HR, Operations, Product |
| 2 | Architecture & Topology | วิศวกรใหม่ |
ชั้นที่ 2 — Per-service deep dives (Vol 3–10)
| Volume | กลุ่มแพลตฟอร์ม |
|---|---|
| 3 | Legacy Core — vtrc-api, cu-central-api, centralize-api |
| 4 | Web Frontends — 4 backoffices |
| 5 | 2way Platform — NestJS + Next.js |
| 6 | Domain Microservices — 9 services |
| 7 | Meeting Platform |
| 8 | Mobile Apps |
| 9 | OCR & Auxiliary |
| 10 | Future / Placeholder Services |
ชั้นที่ 3 — Cross-cutting (Vol 11–16)
| Volume | ชื่อ |
|---|---|
| 11 | Data Model & Persistence |
| 12 | Security & Authentication |
| 13 | API Reference |
| 14 | Business Logic & Workflows |
| 15 | Infrastructure & Deployment |
| 16 | Operational Runbooks |
ชั้นที่ 4 — Findings & Roadmap (Vol 17–20)
| Volume | ชื่อ |
|---|---|
| 17 | Technical Debt Register |
| 18 | Security Review Findings |
| 19 | Modernization Roadmap |
| 20 | Appendices |
แนะนำลำดับการอ่าน
- ยังไม่คุ้นเคยระบบ — เริ่มที่ Volume 0 (1 ชั่วโมง) แล้วเลือกตามบทบาท
- HR / Operations — Vol 0 + Vol 1
- วิศวกรใหม่ — Vol 0, 2, 11, 12 แล้วเลือก deep-dive ของกลุ่มที่ดูแร
- DevOps — Vol 15, 16
- ประเมินความเสี่ยง — Vol 12, 17, 18
- วางแผน modernization — Vol 17, 19
เอกสารกำกับ
- Style Guide — กฎการเขียนของคู่มือเล่มนี้
- Canonical Truths — ข้อเท็จจริงยืนยันจากโค้ด ใช้ตรวจสอบ claim
- Audit Reports — รายงาน verification ของตัวคู่มือเอง
- v1 Archive — คู่มือฉบับแรก (เก็บไว้อ่านเทียบ)
ข้อตกลงเรื่องภาษา
คู่มือเขียนเป็นภาษาไทย แต่ใช้คำทับศัพท์อังกฤษในทุกกรณีที่นักพัฒนาไทยใช้จริง (เช่น login, fetch, deploy, cache miss, query, mutation, token) เหตุผลคือโค้ดทั้งหมดเป็นภาษาอังกฤษ หากแปลเป็นไทยล้วน ผู้อ่านจะไม่ทราบว่าควรเปิดไฟล์ใด
คำศัพท์สั้น ๆ ดูได้ที่ Volume 20 · Glossary
สถานะการจัดทำ
คู่มือทั้ง 21 volume (0-20) เขียนครบแล้ว — Volume 3-20 (per-service deep dive + cross-cutting + findings/roadmap) เขียนก่อน ตามด้วย Volume 0-2 (foundation) ที่สังเคราะห์จากเนื้อหาทั้งหมดเป็นลำดับสุดท้าย ดูรายละเอียดการจัดทำที่ Volume 20 · Changelog
รุ่นก่อนหน้า (v1) เก็บไว้ใน docs-v1-archive/ — ยังอ่านได้แต่ข้อมูลบางส่วนล้าสมัย และครอบคลุมเพียง 5 repositories