TNSU EMS — AI Workspace
พื้นที่ทำงานร่วมระหว่างทีมและ AI Agent (Claude Code, Codex และอื่น ๆ) สำหรับโครงการ TNSU Education Management Platform (ระบบบริหารจัดการการศึกษาและกีฬา มหาวิทยาลัยการกีฬาแห่งชาติ) ครอบคลุม 17 วิทยาเขต และ 13 โรงเรียนกีฬา
repo นี้เก็บข้อมูลโครงการ เอกสารออกแบบ และการตัดสินใจ ที่ Agent ใช้เป็นแหล่งอ้างอิง ยังไม่มีซอร์สโค้ดของระบบ
สถานะ
ขั้น discovery และเริ่มออกแบบ (อัปเดต 2026-10-30)
| เรื่อง | สถานะ |
|---|---|
| ขอบเขตและ use case | ✅ 162 use case / 35 module จากเล่ม 02 Workflow |
| Role Matrix / Security Matrix | 📝 ฉบับร่าง v0.1 รอ BA รีวิว |
| Tech stack | ✅ ตัดสินใจแล้ว รวมฐานข้อมูล SQL Server (ADR-0001) |
| Data model | ⏳ จะออกแบบทีละ module |
| Sitemap และ mockup หน้าจอ | ⏳ รอคำสั่ง |
| การเชื่อมระบบภายนอก | ⏳ ออกแบบควบคู่กับ module ที่ต้องใช้ |
| ระบบเดิม | ไม่มี สร้างใหม่ทั้งหมด |
Tech stack
Vue + Nuxt.js (SSR) · Go + Stream Framework · SQL Server (ลูกค้าใช้อยู่แล้ว) · RabbitMQ (queue) · RustFS (S3) · Redis · Harbor · ArgoCD · Rancher · Kubernetes · OpenSearch + Dashboards · Grafana
รายละเอียดอยู่ใน docs/adr/0001-tech-stack.md
โครงสร้าง repo
.
├── AGENTS.md # คำสั่งสำหรับ AI Agent ทุกตัว (จุดเริ่มต้นของ Agent)
├── CLAUDE.md # ดึง AGENTS.md มาใช้ (สำหรับ Claude Code)
├── TNSU_EDU_Proposal_281069_Stream.docx # Business Proposal ต้นฉบับ v1.0
├── TNSU_EDU 191069.drawio # ต้นฉบับของ BA: module, โครงสร้างหน่วยงาน, หลักสูตร, flow
├── use_cases/ # Use case Explorer ที่ทีม export มา (ต้นฉบับ)
├── tracker/ # เว็บติดตามความคืบหน้างานของทีม (เครื่องมือภายใน ไม่ใช่ส่วนของระบบ)
└── docs/
├── adr/ # Architecture Decision Records
└── agent/ # ฐานความรู้ของโครงการ (เริ่มอ่านที่ README.md)
├── 01–14 *.md # ภาพรวม ศัพท์ module บทบาท workflow UX
│ # architecture NFR แผนงาน KPI คำถามค้าง
│ # use case Role Matrix Security Matrix
├── use-cases/ # catalog use case ทีละ module (สร้างอัตโนมัติ)
├── assets/ # ภาพ module ของ BA, workflow, ภาพตัวอย่างหน้าจอ
├── source/ # ข้อความดิบจาก Proposal
└── tools/ # สคริปต์สร้างเอกสารเริ่มต้นอ่าน
- คน: เริ่มที่ docs/agent/README.md ซึ่งมีแผนที่เอกสารว่าเรื่องไหนอยู่ไฟล์ไหน
- AI Agent: อ่าน AGENTS.md Claude Code โหลดให้อัตโนมัติผ่าน
CLAUDE.mdส่วน Codex และเครื่องมืออื่นที่รองรับ AGENTS.md ก็อ่านไฟล์นี้เอง
ไฟล์ที่ใช้บ่อย:
| ต้องการ | ไฟล์ |
|---|---|
| Use case ทั้งหมด (W-1…W-163) | docs/agent/12-use-cases.md → docs/agent/use-cases/ |
| ฟังก์ชันตามภาพ module ของ BA (UNI / SS) | docs/agent/03-modules.md |
| บทบาทและอำนาจอนุมัติ | docs/agent/13-role-matrix.md |
| สิทธิ์การเข้าถึงข้อมูลและความปลอดภัย | docs/agent/14-security-matrix.md |
| ศัพท์ไทย ↔ อังกฤษ | docs/agent/02-glossary.md |
| เรื่องที่ยังค้าง | docs/agent/11-open-questions-and-known-issues.md |
ติดตามความคืบหน้างาน
cd tracker && go run . # เปิด http://localhost:8099
scripts/tailscale.sh on # (ไม่บังคับ) เปิดให้เข้าจาก Tailscale ได้ที่ http://100.73.238.43:8099/เว็บแสดงจำนวน Task / Review / Checkpoint, milestone, งานที่กำลังทำ, ประวัติ commit, ผลทดสอบ, บันทึกการแก้ปัญหา และงานรอรีวิว อัปเดตสดเมื่อแก้ไฟล์ใน tracker/data/ วิธีอัปเดตข้อมูลอยู่ใน tracker/README.md เว็บนี้เป็นเครื่องมือภายในของทีม ไม่ได้เป็นส่วนหนึ่งของระบบ TNSU EMS
การอัปเดตข้อมูล
เมื่อทีม export Use case Explorer ใหม่
- วางไฟล์ export ใหม่ทับใน
use_cases/ - สร้าง catalog ใหม่ (ใช้แค่ Python 3 ไม่ต้องติดตั้ง package):
python3 docs/agent/tools/gen_use_cases.py- ตรวจ diff ใน
docs/agent/use-cases/แล้วอัปเดตdocs/agent/12-use-cases.mdถ้ามี module หรือแนวคิดใหม่
ห้ามแก้ไฟล์ใน docs/agent/use-cases/ ด้วยมือ เพราะจะถูกเขียนทับเมื่อรันสคริปต์
เมื่อ BA อัปเดตไฟล์ draw.io
วางไฟล์ใหม่ (TNSU_EDU*.drawio) ไว้ที่ root แล้วรัน python3 docs/agent/tools/gen_ba_drawio.py สคริปต์จะใช้ไฟล์ที่ใหม่ที่สุดและสร้าง docs/agent/ba-drawio.md ใหม่ จากนั้นตรวจ diff และอัปเดต docs/agent/03-modules.md ถ้ามีเนื้อหาเปลี่ยน
ดู Use case Explorer ในเบราว์เซอร์
cd use_cases && python3 -m http.server 8000
# เปิด http://localhost:8000/UC1-Explorer.dc.htmlเมื่อมีการตัดสินใจใหม่
- เรื่องเทคนิคหรือสถาปัตยกรรม: เพิ่ม ADR ใหม่ใน
docs/adr/NNNN-ชื่อเรื่อง.md - เรื่อง requirement หรือคำตอบจากลูกค้า: อัปเดตไฟล์ที่เกี่ยวข้องใน
docs/agent/และย้ายคำถามใน11-open-questions-and-known-issues.mdไปไว้ในส่วน Resolved พร้อมวันที่และแหล่งที่มา
ข้อควรรู้
- Proposal §5 และ §7 ยังไม่ได้เขียนสำหรับ TNSU เนื้อหาตอนนี้เป็นของที่ค้างมาจากเอกสารโครงการอื่น ห้ามใช้อ้างอิง
- ค่ากฎและนโยบาย (ค่าธรรมเนียม เกณฑ์ วงเงิน ระยะเวลาเก็บข้อมูล) มหาวิทยาลัยหรืออาจารย์เป็นผู้ตั้งค่าในระบบ ระบบต้องตั้งค่าได้ ห้าม hard-code
- รหัสที่ใช้อ้างอิง:
- use case:
W-49 - module ของ use case:
REG,FIN,SCH(SCH= ทุนและ กยศ.) - module ตามภาพของ BA:
UNI-04.6,SS-07(SS= โรงเรียนกีฬา) - ระบบย่อยใน Proposal:
TNSU-05 - ปีในระบบใช้ พ.ศ. และเขียนภาคเรียนแบบ
1/2568