interns_playground
interns_playground (branch: main, 28 tracked files) ไม่ใช่ระบบ production ของ VTRC — เป็น sandbox ฝึกงาน Express + TypeScript + PostgreSQL สำหรับ CRUD พื้นฐานและโจทย์ export PDF/Excel
ชื่อ package ใน package.json คือ todo-list-api (package.json:2-4) ไม่ใช่ชื่อที่เกี่ยวกับ Red Cross
หลักฐานว่าเป็น sandbox
- README หัวข้อ "Todo List API" สอน CRUD (
README.md:1-3) - Feature branches เป็นหัวข้อฝึก (
features/CRUD_practice,features/export_pdf, …) — จากgit branch -a - Commit messages ทั่วไป (
test,update, …) ไม่มี ticket VTRC - grep
redcross/vtrc/recruitmentทั้ง repo — ไม่พบ - โดเมนโค้ด:
todo,task,user,product,cart— ไม่ใช่ HR/welfare - มีเอกสารสอน PDF workflow ใน
docs/export-pdf-workflow.md
Stack
| Layer | Detail | Citation |
|---|---|---|
| Runtime | Express 4.18 | package.json:30 |
| Language | TypeScript 5.3 | package.json:43 |
| DB | PostgreSQL via pg | package.json:32, src/config/database.ts:1-12 |
| Dev | tsx watch src/server.ts | package.json:7 |
| Docs | Swagger UI /api-docs | src/server.ts:38-42 |
| PDF/Excel | Puppeteer + EJS + ExcelJS + aspose-pdf-js | package.json:25,28-29,33 |
| Upload | multer → public/ | src/server.ts:15-16,30-36 |
Default port: process.env.PORT || 3000 (server.ts:17)
Credential hygiene (สำคัญ)
README.md และ default ใน database.ts มี host/user/password ของ interns_db ฝัง plaintext (README.md:6-11, database.ts:6-11)
เอกสารคู่มือเล่มนี้ไม่คัดลอกค่ารหัสผ่าน — ผู้อ่านดูที่ไฟล์ต้นทางเอง แม้เป็น DB ฝึก (interns_db) การฝัง credential ใน git ก็ยังเป็นสุขนิสัยที่ไม่ควรทำ
สารบัญ
| บท | หัวข้อ |
|---|---|
| 01 | Repository map + API surface |
| 02 | Scorecard (เบา — ไม่กระทบ production VTRC) |
ดูภาพรวมกลุ่ม OCR & Auxiliary ที่ Volume 9 index.