การสร้างหน้าจอ Interactive และเชื่อมต่อข้อมูลแบบ Real-time ด้วย React และ Tailwind CSS
✅ พัฒนาหน้า Landing Page สำหรับแคมเปญโซลาร์เซลล์ [FR-1.1]
✅ สร้างระบบคำนวณแพ็กเกจเบื้องต้น (Solar Calculator) [FR-2.3]
✅ เชื่อมต่อฟอร์มลงทะเบียนเข้ากับ Django API ที่สร้างไว้เมื่อเช้า
✅ ปรับแต่งหน้าจอให้รองรับมือถือ (Mobile-first) [NFR-4]
อ้างอิงจาก SRS.md ข้อ 1.3
Component-Based Library
Utility-First Styling
Build Tool ความเร็วสูง
เราจะแบ่งหน้าเว็บออกเป็นชิ้นเล็กๆ เพื่อให้ AI สร้างได้แม่นยำที่สุด
"เมื่อโค้ดแยกส่วนกัน จะช่วยลดความเสี่ยงในการเกิด Code Smells ได้ถึง 89.1%"
Mood & Tone:
"เราจะใส่ข้อกำหนดนี้ไว้ใน .clinerules เพื่อให้ AI คุมโทนสีให้เรา"
"สร้าง Hero Section สำหรับ SolarCorp ที่ประกอบด้วยพาดหัวที่น่าสนใจ, รูปภาพแผงโซลาร์เซลล์, และปุ่ม 'ขอใบเสนอราคา' ที่นำทางไปยังแบบฟอร์มลงทะเบียน"
เปลี่ยนตัวเลขค่าไฟให้เป็น "คำแนะนำแพ็กเกจ"
Frontend Logic:
เราจะใช้ `useState` ใน React เพื่อเก็บค่าที่ผู้ใช้กรอก
"AI Orchestrator ต้องระบุฟิลด์เหล่านี้ให้ชัดเจนใน Prompt"
การปฏิบัติตามกฎหมายความปลอดภัยข้อมูล
"ต้องมีช่องติ๊กยอมรับนโยบายความเป็นส่วนตัว และปุ่มส่งข้อมูลจะกดได้ก็ต่อเมื่อติ๊กถูกแล้วเท่านั้น"
ฉันยอมรับเงื่อนไขการเก็บข้อมูล...
"เพราะลูกค้าส่วนใหญ่เข้าผ่านมือถือ"
Mobile (Single Column)
Desktop (Grid Layout)
สั่ง AI: "ใช้ Tailwind Utility Classes สำหรับ Responsive (sm:, md:, lg:)"
เราจะใช้ `fetch` หรือ `Axios` ในการส่งข้อมูลข้ามชั้น
"เมื่อผู้ใช้กดปุ่ม 'ส่งข้อมูล' React จะส่ง JSON ไปยัง URL ของ Django Backend ที่เราเตรียมไว้"
บั๊กอันดับ 1 ในโปรเจกต์ Fullstack
"Access to fetch at ... from origin 'http://localhost:5173' has been blocked by CORS policy"
"วิธีแก้: ต้องไปเพิ่ม URL ของ React ใน `CORS_ALLOWED_ORIGINS` ที่ Django เสมอ"
สร้างโครงสร้างโปรเจกต์ Vite + Tailwind (จบ Session)
พัฒนา UI Components และแบบฟอร์ม (จบ Session)
เขียน Logic การส่งข้อมูลไปยัง API (จบ Session)
อย่าปล่อยให้หน้าจอนิ่งเฉยเมื่อมีการทำงาน
แสดง Spinner เมื่อกำลังส่งข้อมูล
แสดงข้อความ 'ลงทะเบียนสำเร็จ' เมื่อบันทึกงานเสร็จ
"AI มักจะลืมเรื่อง Input Sanitization"
"โค้ดทำงานได้ แต่ดูแลยาก = AI Slop"
สิ่งที่ Orchestrator ต้องสั่ง AI ให้แก้:
Extract Components: แยกส่วน Logic ที่ยาวเกินไปออกมาเป็น Component ย่อย
Clean Classes: ยุบ Tailwind Classes ที่ซ้ำซ้อนด้วย `@apply` หรือตัวแปร
"ก่อนที่จะเขียนโค้ด React ช่วยอธิบายโครงสร้าง DOM และลำดับของ Tailwind classes ที่คุณจะใช้ในหน้าแบบฟอร์มลงทะเบียนให้ฉันฟังก่อน เพื่อให้แน่ใจว่าเป็น Mobile-friendly"
ใช้ AI ไปทดสอบคลิกปุ่มแทนคุณใน Antigravity
🤖 **Autonomous Validation:** AI จะเปิดเบราว์เซอร์ ทดลองกรอกค่าไฟ และบันทึกวิดีโอ (Walkthrough) มาให้คุณตรวจผลลัพธ์
1. เปิด Antigravity Chat และส่ง SRS.md ส่วน Frontend เข้าไป
2. สั่ง: "ช่วยสร้างหน้า Landing Page พร้อม Solar Calculator ตาม SRS FR-2.3"
3. ใช้ **Review Changes Panel** ตรวจสอบโค้ดก่อนกด Accept
"จำไว้ว่า AI ไม่มีสายตาเหมือนมนุษย์ มันอาจจัดวางปุ่มทับซ้อนกันได้..."
"คุณต้องเปิดเบราว์เซอร์และใช้สายตาของคุณยืนยันความงามและการใช้งานจริง!"
ด้วย AI Orchestration เราใช้เวลาน้อยกว่าเดิม 3-10 เท่า ในการสร้างหน้าจอที่ซับซ้อน
"จากเดิมที่ต้องใช้เวลา 2 วัน วันนี้คุณทำเสร็จใน 90 นาที!"
ช่วงต่อไป (14:45): **การคุมคุณภาพและการจัดการ Technical Debt**
เราจะมาเรียนรู้วิธีการทำความสะอาดโค้ดให้พร้อมใช้งานในระยะยาว
"ลุกยืดเส้นยืดสาย เพื่อกลับมาสู่ช่วงสุดท้ายของการคุมคุณภาพงาน"