vtrc-backoffice-new · ภาพรวม
vtrc-backoffice-new เป็น Bitbucket repository คนละตัวจาก vtrc-backoffice (i3dev/vtrc-backoffice-new.git vs i3dev/vtrc-backoffice.git — vtrc-backoffice-new/.git/config:9) แต่ source code เกือบเหมือนกันทั้งหมด — package.json ของทั้งสอง repo ระบุ "name": "vtrc-backoffice" เหมือนกัน (vtrc-backoffice-new/package.json:2) และรายชื่อไฟล์ใน src/ ตรงกัน 99%+ (มีเพิ่มเพียง 3 ไฟล์ — ดูหัวข้อ "ความสัมพันธ์กับ vtrc-backoffice" ด้านล่าง)
เขียนเรื่อง branch ให้ถูก — default branch ของ repo นี้คือ master แต่ตาม canonical-truths ของแพลตฟอร์ม branch ที่ต้องใช้อ้างอิงจริงคือ uat (773 ไฟล์ที่ track ด้วย git — ยืนยันตรงกับตัวเลขที่ได้รับมาก่อนตรวจ) ทุก citation ในเอกสารกลุ่มนี้จึงระบุ (branch: uat) เสมอตามกฎ
vtrc-backoffice-new คืออะไร
หน้าที่หลักเหมือน vtrc-backoffice ทุกประการ — เครื่องมือ backoffice ของทีม HR/Admin สภากาชาดไทย (การลา สวัสดิการรักษาพยาบาล กองทุน ผู้แทน จัดการผู้ใช้ ฯลฯ) — รายชื่อ module ใน src/pages/ ตรงกับ vtrc-backoffice เกือบทั้งหมด (41 โฟลเดอร์เดียวกัน) ดู 03-features-map
สิ่งที่ต่างจาก vtrc-backoffice อย่างมีนัยสำคัญคือ login flow มี logic ใหม่ที่เช็คประเภทพนักงาน (checkEmployeeCU) แล้วส่ง SSO bypass token ไปยัง vtrc-rc-backoffice โดยตรงถ้าไม่ตรงเงื่อนไข — รายละเอียดเต็มดู 02-core-pipeline ซึ่งเป็นหลักฐานสำคัญของความสัมพันธ์ระหว่าง repo กลุ่ม backoffice ทั้งสาม (vtrc-backoffice, vtrc-backoffice-new, vtrc-rc-backoffice)
Stack และเวอร์ชัน (branch: uat)
| ด้าน | ค่า | หลักฐาน |
|---|---|---|
| React | ^16.13.1 | vtrc-backoffice-new/package.json:31 (branch: uat) |
| Build tool | CRA (react-scripts 3.4.3) ไม่ eject | vtrc-backoffice-new/package.json:40 (branch: uat) |
| AntD | package.json ระบุ ^4.6.6, resolve จริงเป็น 4.15.4 — เวอร์ชันเดียวกันกับ vtrc-backoffice เป๊ะ (lockfile ยืนยันตรงกัน) | vtrc-backoffice-new/package.json:11 (branch: uat), vtrc-backoffice-new/package-lock.json entry "antd": {"version": "4.15.4"} |
| Apollo Client | v2 (apollo-client@^2.6.3 + react-apollo@^3.1.5) | vtrc-backoffice-new/package.json:13,32 (branch: uat) |
| State management | Recoil ^0.7.5 | vtrc-backoffice-new/package.json:44 (branch: uat) |
| Routing | react-router-dom ^5.2.0 | vtrc-backoffice-new/package.json:39 (branch: uat) |
dependency ทุกตัวใน package.json เหมือนกับ vtrc-backoffice ทุกบรรทัด (ตรวจด้วย diff ตรง — ไม่มีความต่าง) — ยืนยันว่าเป็นการ fork/copy โครงสร้าง dependency มาทั้งชุด ไม่ใช่การเขียนใหม่
Entrypoint
เหมือน vtrc-backoffice ทุกประการ — src/index.js mount ผ่าน ApolloProvider + RecoilRoot (branch: uat) และ App/index.js ยัง override console.log/warn/error เป็น no-op เหมือนกัน:
vtrc-backoffice-new/src/containers/App/index.js:14
console.log = console.warn = console.error = () => { };(branch: uat)
Build tooling — ต่างจาก vtrc-backoffice อย่างชัดเจน
vtrc-backoffice-new มี Dockerfile แบบ multi-stage ที่ build จาก source จริง — ไม่เหมือน vtrc-backoffice ที่ image มีแค่ nginx เปล่า:
vtrc-backoffice-new/Dockerfile:1-11
FROM node:14.20 AS stage-1
WORKDIR /usr/src/app
ADD . .
RUN npm install --legacy-peer-deps
RUN npm run build
FROM nginx:1.24.0 AS stage-2
COPY ./rc/default.conf /etc/nginx/conf.d/
COPY --from=stage-1 usr/src/app/build/ /usr/share/nginx/html/build/(branch: uat)
อย่างไรก็ตาม docker-compose.yml ของ repo นี้ ไม่ได้ใช้ Dockerfile นี้เลย — ระบุ image: nginx:latest ตรงแล้ว mount ./build (ที่ commit ไว้ล่วงหน้า ~47 MB) เข้า container โดยตรง เหมือน vtrc-backoffice:
vtrc-backoffice-new/docker-compose.yml:1-19
version: '3.8'
services:
web-server:
image: nginx:latest
container_name: nginx-web-server
restart: always
environment:
TZ: Asia/Bangkok
volumes:
- ./build:/usr/share/nginx/html
- ./meeting:/usr/share/nginx/meeting
- ./nginx:/etc/nginx/conf.d
- ./web-logs:/var/log/nginx
- ./cert:/etc/sslcert
ports:
- 80:80
- 443:443
networks:
- vtrc-backoffice-network(branch: uat)
สรุป: Dockerfile ที่ build จาก source มีอยู่จริงแต่ ดูเหมือนไม่ได้ถูกเรียกใช้จาก docker-compose.yml ในรอบตรวจนี้ (docker-compose.yml ใช้ image: ไม่ใช่ build:) — เข้าข่ายว่า Dockerfile อาจถูกใช้แยกในอีก pipeline (เช่น CI ที่ build แล้ว push image ไปที่อื่น) ทำเครื่องหมาย UNVERIFIED สำหรับ pipeline จริงที่ ops ใช้งาน ดู QUAL-BONEW-01 ใน 04-scorecard
การเชื่อมต่อกับ vtrc-api
เหมือนกับ vtrc-backoffice — ใช้ checkLinkURL() แบบ window.location.href-based ตรงตาม pattern ที่ canonical-truths ระบุ (ไม่ใช่ NODE_ENV) รายละเอียดเต็มและความต่างจาก vtrc-backoffice (refresh flow ใหม่ที่ใช้ refreshTokenBO, origin เพิ่มสำหรับ uat-rc-vtrcbackoffice) ดู 02-core-pipeline
สิ่งที่บทนี้ไม่ cover
- schema ฝั่ง
vtrc-api— ดู Volume 3 (Legacy Core) - รายละเอียดของ
vtrc-rc-backofficeที่เป็นปลายทางของ SSO bypass — จัดทำโดยทีมอื่นในรอบนี้ (อ้างอิงจาก v1 archive เท่านั้น) - ความสัมพันธ์เต็มกับ
vtrc-backoffice— ดู_partial-index-backoffices.md
โครงสร้างบท
| บท | ชื่อ |
|---|---|
| 01 | Repository map |
| 02 | API endpoint resolution + auth/login flow + SSO handoff |
| 03 | Feature/module list |
| 04 | Scorecard + debt register |