Skip to content

Volume 10 · Future / Placeholder Services

Volume นี้บันทึกสถานะของ repositories ที่ถูกสร้างไว้ในองค์กร (i3dev บน Bitbucket) แต่ยังไม่มีการ implement โค้ดจริงในทุก branch — ต่างจาก 25 repositories อื่นที่มีโค้ด production หรืออย่างน้อยมีโค้ดที่ deploy ได้

รายการ placeholder repos

ตรวจสอบตรงกับทุก repo ณ วันที่ตรวจสอบ (ดูวิธี verify ด้านล่าง) — ทั้ง 8 repos มีโครงสร้างเหมือนกันทุกประการ: 1 ไฟล์ (.gitignore) และ 1 commit ชื่อ "Initial commit"

RepositoryPathCommit เดียวที่มีRemote
attendance-apiattendance-api/575775b Initial commitbitbucket.org/i3dev/attendance-api
auth-apiauth-api/f4c1947 Initial commitbitbucket.org/i3dev/auth-api
career-apicareer-api/51158d2 Initial commitbitbucket.org/i3dev/career-api
hrservice-apihrservice-api/d7d1ca0 Initial commitbitbucket.org/i3dev/hrservice-api
learning-apilearning-api/1cf478d Initial commitbitbucket.org/i3dev/learning-api
notification-apinotification-api/ed56958 Initial commitbitbucket.org/i3dev/notification-api
payroll-apipayroll-api/fa16123 Initial commitbitbucket.org/i3dev/payroll-api
performing-apiperforming-api/29bfe8e Initial commitbitbucket.org/i3dev/performing-api

หลักฐานที่ตรวจสอบ

สำหรับแต่ละ repo ได้รัน find <repo> -type f -not -path '*/.git/*' และพบเพียงไฟล์เดียวคือ .gitignore (generic template ที่มาจาก Atlassian gitignore generator — ไม่ได้ customize สำหรับ stack ใด ๆ โดยเฉพาะ ดูตัวอย่างเนื้อหาที่ attendance-api/.gitignore:1-51) และรัน git log --all --oneline พบ commit เดียวคือ "Initial commit" ในทุก repo ไม่มี branch อื่นนอกจาก master (remotes/origin/master, remotes/origin/HEAD -> origin/master)

เนื่องจากไม่มีโค้ด ไม่มี package.json หรือไฟล์ config ใด ๆ ที่จะบอก stack ที่ตั้งใจไว้ — บรรทัด # Node artifact files / node_modules/ ใน .gitignore เป็นเพียงส่วนหนึ่งของ template มาตรฐาน ไม่ใช่หลักฐานว่าจะใช้ Node.js — จึงต้องระบุว่า stack ที่ตั้งใจไว้เป็น UNVERIFIED

ตีความจากชื่อ repo (hypothesis เท่านั้น — ไม่ใช่ข้อเท็จจริงที่ verify ได้)

ชื่อ repo สอดคล้องกับหมวดหมู่งาน HR ที่ยังไม่มี service เฉพาะในแพลตฟอร์มปัจจุบัน:

Repoหมวดงานที่ชื่อบอกใบ้บริการที่ทำหน้าที่นี้อยู่ในปัจจุบัน (ถ้ามี)
attendance-apiบันทึกเวลา/การลงเวลาเข้างานไม่มี service เฉพาะที่พบในโค้ดปัจจุบัน — UNVERIFIED ว่าฟังก์ชันนี้อยู่ที่ไหน
auth-apiauthentication กลางปัจจุบัน auth กระจายอยู่ใน vtrc-api (JWT + apiKey header) และ sso-api (branch: master) แยกกัน — ไม่มี auth service กลางที่รวมทุกระบบ
career-apiเส้นทางความก้าวหน้าในสายงานส่วนหนึ่งอาจอยู่ใน pms-api (branch: uat) ซึ่งมี branch ชื่อ feature/dropdown_position_career
hrservice-apiบริการ HR กลาง (generic)ทับซ้อนกับ vtrc-api, benefit-api, workflow-api ในปัจจุบัน
learning-apiระบบการเรียนรู้/อบรมworkflow-api (branch: uat) มี branch ชื่อ feature/course_analyzation ซึ่งเกี่ยวกับ course — อาจเป็นส่วนที่ยังไม่ได้แยกออกมา
notification-apiการแจ้งเตือนกลางปัจจุบันแต่ละ service (เช่น benefit-api, 2way-line-service) ส่ง notification ของตัวเองแยกกัน ไม่มี notification service กลาง
payroll-apiระบบเงินเดือนไม่มี service เฉพาะที่พบในโค้ดปัจจุบัน
performing-apiระบบประเมินผลการปฏิบัติงานทับซ้อนกับ pms-api (Performance Management System) ซึ่ง active มาก

ข้อสังเกต — ชื่อ repo หลายตัวทับซ้อนกับหน้าที่ของ pms-api ที่มีอยู่แล้วและ active มาก (376 ไฟล์, 1900+ commits) จึงตีความได้ว่า placeholder เหล่านี้คือแผน microservices-split ที่วางไว้ล่วงหน้าตอนออกแบบสถาปัตยกรรม 7 กลุ่มแพลตฟอร์ม แต่ทีมเลือก implement ฟังก์ชันจริงเข้าไปใน pms-api/benefit-api/workflow-api ที่มีอยู่แล้วแทนการสร้าง service ใหม่ตามชื่อที่วางไว้ — เป็น hypothesis, ไม่มีหลักฐานยืนยันตรง ๆ

นัยต่อการวางแผนปรับปรุง (Volume 19)

  • Repo เหล่านี้ไม่ใช่หนี้ทางเทคนิคหรือความเสี่ยง — เป็นเพียง placeholder ว่างเปล่า จึงไม่ต้องมี debt ID หรือ scorecard
  • ไม่ควรแก้ไขหรือลบ repo เหล่านี้โดยไม่ได้รับการยืนยันจากผู้ที่ดูแลแผน architecture เพราะไม่ทราบว่ายังอยู่ในแผนระยะยาวหรือถูกยกเลิกไปแล้วโดยพฤตินัย (de facto) เมื่อฟังก์ชันถูกย้ายไป implement ใน service อื่น
  • หากทีมตัดสินใจยืนยันว่า placeholder เหล่านี้ถูกยกเลิกแล้ว ควร archive หรือลบ repo และปรับปรุงเอกสารสถาปัตยกรรมทั้ง docs/index.md และ Volume 2 ให้ตรงกัน

อ้างอิงข้าม

  • Canonical Truths § Placeholder repos — รายชื่อ 8 repos นี้ถูกบันทึกไว้แล้วเป็นข้อเท็จจริงพื้นฐาน
  • Volume 6 · Domain Microservicespms-api, benefit-api, workflow-api ที่อาจครอบคลุมฟังก์ชันบางส่วนของ placeholder เหล่านี้ไปแล้ว