จากเครื่องพัฒนา สู่ระบบ Production จริงและเวทีสอบป้องกัน
สัปดาห์ที่ 14 เป็นสะพานเชื่อมระหว่างการพัฒนาซอฟต์แวร์แพลตฟอร์ม Grocery POS ในห้องปฏิบัติการ ไปสู่การติดตั้งใช้งานจริงบน Cloud (Live System URL) และการสอบป้องกันโครงงานฉบับสมบูรณ์ในสัปดาห์ที่ 15 โดยทีม 1–3 คนต้องพิสูจน์ทั้งความเสถียรของระบบและการสื่อสารเชิงวิศวกรรม
Docker, PaaS & AWS/GCP
ย้ายระบบจาก Localhost ขึ้นเซิร์ฟเวอร์จริง พร้อม Managed Database และ HTTPS
Live System URL Validation
ตรวจความพร้อม URL จริง, CORS, Env Vars, Healthcheck และข้อมูล Seed สำหรับสอบ
Time-Boxed Presentation
ซ้อมบรรยายไม่เกิน 15 นาที แบ่งบทบาทสมาชิกทุกคนอย่างสมดุล พร้อมตอบ Q&A
Demo Routine & Plan B
ซ้อมลำดับการกดจริง (Auth → POS → ตัดสต็อก → ความเสี่ยง) และแผนสำรองฉุกเฉิน
ความสอดคล้องกับผลลัพธ์การเรียนรู้รายวิชา 1145 204
ยืนยันประวัติ Git Commit ตลอด 3 สปรินต์และหลักฐานการทำงานเป็นทีม
ซอฟต์แวร์ POS เชื่อมฐานข้อมูล 3NF และ Deploy ขึ้น Production สำเร็จ
จัดการข้อมูลสินค้า/คลัง และป้องกันความเสี่ยงตัดสต็อกซ้อนทับพร้อมกัน
นำเสนอด้วยวาจา สาธิต Live Demo และส่งรายงานฉบับสมบูรณ์บทที่ 1–5
ห้ามนำเสนอด้วย Localhost
คณะกรรมการประเมินต้องสามารถเปิดเข้าถึงแพลตฟอร์ม Grocery POS ผ่าน Live System URL บนอินเทอร์เน็ตได้จริงจากเครื่องของกรรมการเอง ก่อนเริ่มการสาธิต
แพ็กเกจส่งมอบฉบับสมบูรณ์ 4 รายการ และเกณฑ์ระดับดีเยี่ยม
คะแนนปลายภาครวมมาจาก Advisor 50% และ Committee 50% โดยส่วนของการนำเสนอด้วยวาจา การสาธิตระบบ และการตอบคำถามเชิงเทคนิค (ด้านที่ 3) มีน้ำหนักสูงถึง 25 คะแนน
| ลำดับ | รายการส่งมอบ (Final Deliverables Package) | องค์ประกอบสำคัญที่ตรวจ |
|---|---|---|
| 01 | รายงานโครงงานฉบับสมบูรณ์ Final Project Report (PDF) |
ครบทั้งบทที่ 1–5 ครอบคลุม SRS, ER Diagram (3NF), Architecture, ผลการทดสอบ และสรุปผล |
| 02 | คู่มือติดตั้งและใช้งาน Deployment & User Manual (PDF) |
อธิบาย System Requirements, ขั้นตอน Deploy/Env Vars และคู่มือใช้งาน POS สำหรับร้านค้า |
| 03 | Live System URL & GitHub Repo Production Endpoint + Source Code |
URL ระบบที่รันจริงบน Cloud + Repository ที่มี README.md และประวัติ Commit ตลอดภาคการศึกษา |
| 04 | สไลด์สอบป้องกันโครงงาน Final Slide Deck (PDF / PPTX) |
กระชับ ตรงประเด็น ครอบคลุมปัญหา–สถาปัตยกรรม–ความเสี่ยง ใช้เวลาบรรยายรวมสาธิตไม่เกิน 15 นาที |
คลิกดูเกณฑ์ประเมินแต่ละระดับ
นำเสนอและสาธิตระบบ (Live Demo) ได้อย่างมืออาชีพ กระชับ ตรงประเด็น สมาชิกทุกคน (1–3 คน) มีส่วนร่วมอย่างสมดุล สามารถตอบคำถามเชิงเทคนิคและสะท้อนการแก้ปัญหา/ความเสี่ยง (เช่น ปัญหาตัดสต็อกพร้อมกัน) ได้อย่างลึกซึ้ง
เลือกสถาปัตยกรรม Cloud Hosting ที่เหมาะกับ Grocery POS
แพลตฟอร์ม Grocery POS ประกอบด้วย 3 ส่วนหลักคือ Frontend (POS UI), Backend API (Node.js/Python) และ Relational Database (MySQL/PostgreSQL แบบ 3NF) คลิกเลือกสถาปัตยกรรมด้านล่างเพื่อดูแผนภาพการไหลและข้อควรระวังก่อนวันสอบ
| เกณฑ์พิจารณา | PaaS (Render / Railway) | Docker + Cloud Run | AWS EC2 / GCP Compute + RDS |
|---|---|---|---|
| ความเร็วในการ Deploy | เร็วที่สุด (Push GitHub → Deploy) | ปานกลาง (ต้องเขียน Dockerfile) | ช้ากว่า (ตั้งค่า Network, Firewall, SSL เอง) |
| การควบคุม Environment | ปานกลาง (พึ่งพา Buildpack) | สูงมาก (Runtime เดียวกันทุกเครื่อง) | สูงสุด (ควบคุม OS, Nginx, Ports ได้เต็มที่) |
| ความเสี่ยงวันสอบ Live Demo | Free tier หลับ (Cold start 20–50 วินาที) | Cold start ต่ำ หากตั้ง Min-instance = 1 | ต้องระวัง Security Group ปิด Port หรือใบรับรอง SSL หมดอายุ |
| ความเหมาะสมกับทีม 1145 204 | เหมาะมากสำหรับทีมที่เร่งปิดงานในสัปดาห์ที่ 14 | แนะนำสูงสุด (พกพาง่าย ย้าย Cloud ได้ทันที) | เหมาะกับทีมที่มีพื้นฐาน Linux / Cloud Networking แข็งแรง |
แพ็กเกจด้วย Docker และจัดการ Environment Variables อย่างปลอดภัย
ปัญหาอันดับหนึ่งที่ทำให้ระบบพังเมื่อขึ้น Cloud คือความแตกต่างของเครื่องนักศึกษากับเซิร์ฟเวอร์ (เช่น เวอร์ชัน Node/Python, Path ไฟล์, และการ Hardcode ค่า localhost) การใช้ Docker และ .env ช่วยปิดช่องโหว่นี้ได้อย่างเด็ดขาด
วางท่อส่งซอฟต์แวร์ CI/CD Pipeline ก่อนโค้งสุดท้าย
การ Deploy แบบ Manual โดยอัปโหลดไฟล์ทีละตัวเสี่ยงต่อข้อผิดพลาด การผูก GitHub Actions หรือ PaaS Auto-Deploy เข้ากับ Branch main ทำให้ทุกครั้งที่แก้บั๊ก ระบบจะสร้าง Build, รัน Test และอัปเดต Production ได้อย่างตรวจสอบย้อนหลังได้
Source Control
Push โค้ดที่ Review แล้วขึ้น Branch main
Build Artifact
ติดตั้ง Dependency และ Build Docker Image
Automated Test
รัน Unit Test คำนวณยอด POS และตัดสต็อก
Cloud Deploy
สลับ Traffic สู่ Container เวอร์ชันใหม่
Smoke Check
ตรวจ /api/health ตอบ HTTP 200 OK
ทดลองรัน Deployment Pipeline
[READY] กดปุ่ม "จำลองการ Deploy" เพื่อดูลำดับการทำงานของ CI/CD จาก GitHub สู่ Cloud Production...
หลักการ Code Freeze ก่อนวันสอบ
ให้หยุดเพิ่มฟีเจอร์ใหม่ (Feature Freeze) อย่างน้อย 48 ชั่วโมงก่อนสอบป้องกัน แก้ไขได้เฉพาะ Critical Bug ที่มี Test รองรับ และห้าม Force Push ทับ Production คืนก่อนสอบเด็ดขาด
ตรวจสอบความพร้อมของ Live System URL ทั้ง 5 ด่าน
ก่อนส่งลิงก์ลง Google Classroom ทีมต้องทดสอบ Live URL จากอุปกรณ์อื่นนอกเครือข่ายตัวเอง ทดลองเลือกกรณีศึกษาหรือกรอก URL ของทีมเพื่อตรวจจุดผิดพลาดที่พบบ่อยในวันสอบ
| ด่านตรวจสอบ (Validation Gate) | ผลลัพธ์ | รายละเอียดเชิงเทคนิค |
|---|
จัดสรรเวลา 15 นาที และซ้อมจริงด้วย Rehearsal Timer
เกณฑ์ระดับดีเยี่ยมระบุชัดว่าต้องควบคุมเวลาไม่เกิน 15 นาที และสมาชิกทุกคน (1–3 คน) มีส่วนร่วมอย่างสมดุล แนะนำให้แบ่งเวลาแบบ 3 – 3 – 6 – 3 นาที โดยทุ่มเวลาส่วนใหญ่ (40%) ให้กับการสาธิตระบบจริง
กด "เริ่มจับเวลา" เพื่อฝึกพูดและเปลี่ยนผู้บรรยายตามจังหวะเวลาจริง
| ช่วงเวลา | เนื้อหาหลัก | บทบาททีม (3 คน) |
|---|---|---|
| 00–03 น. | Problem & Agile โจทย์ร้านชำ, User Stories, Sprint 1–3 |
คนที่ 1 (Project Lead) |
| 03–06 น. | Architecture & 3NF ER Diagram 6 ตาราง, Cloud Topology |
คนที่ 2 (Backend/DB) |
| 06–12 น. | Live System Demo รันจริงบน Live URL ตาม Routine 5 ขั้น |
คนที่ 3 กด Demo + คนที่ 1–2 บรรยายสลับ |
| 12–15 น. | Test & Risk Mitigation ผลทดสอบ, การกันตัดสต็อกชนกัน, สรุป |
ทุกคนร่วมสรุปและรับช่วง Q&A |
ลำดับการสาธิต Grocery POS แบบไร้รอยต่อ 5 ขั้นตอน
อย่ากด Demo แบบสุ่มหรือพิมพ์ข้อมูลยาวเกินไปกลางห้องสอบ ให้ซ้อมลำดับ "Golden Path" ที่มีข้อมูลทดสอบเตรียมไว้ล่วงหน้า เพื่อให้ครบทุกฟีเจอร์สำคัญภายใน 6 นาที
ซ้อมตอบคำถามเชิงเทคนิคจากคณะกรรมการสอบ
กรรมการไม่ได้ตรวจเพียงแค่หน้าจอสวยงาม แต่จะเจาะลึกการออกแบบฐานข้อมูล 3NF การจัดการความเสี่ยงทางเทคนิค และหลักฐานการทำงานร่วมกันของทีม คลิกเปิดดูแนวทางตอบที่แข็งแกร่งในแต่ละหมวด
เช็กลิสต์ก่อนขึ้นเวทีสอบ และแผนสำรอง (Plan B)
ทำเครื่องหมายรายการที่ทีมดำเนินการเสร็จแล้ว ระบบจะบันทึกความคืบหน้าไว้ให้อัตโนมัติ และสามารถดาวน์โหลดสรุปเป็นไฟล์รายงานสำหรับตรวจเช็กก่อนวันสอบจริง
3 มาตรการรับมือเหตุฉุกเฉิน
- T-15 นาที Warm-Up: เปิดหน้า Live URL ทิ้งไว้และยิงคำสั่ง
/api/healthปลุก PaaS ก่อนเข้าห้องสอบ - วิดีโอ Demo สำรอง: อัดคลิปหน้าจอ Flow 5 ขั้นตอนแบบ Full HD (1080p) เก็บในเครื่องเผื่อเน็ตห้องสอบล่ม
- Hotspot มือถือ + ข้อมูลสะอาด: เตรียมเน็ตมือถือส่วนตัวและปุ่ม/สคริปต์ Reset Seed Data ให้พร้อมสอบรอบถัดไป
อ้างอิงเนื้อหาจากแนวทางโครงงานรายวิชา 1145 204 Sophomore Project (เกณฑ์สอบป้องกันโครงงาน Final Project Defense, แม่แบบชิ้นงานระบบ POS ปี 1–3), หลักการ Continuous Delivery และมาตรฐานการตรวจรับระบบซอฟต์แวร์เพื่อการใช้งานจริง