Section 6: Lab: AnimationController, Tween และ Hero
- สร้าง AnimationController พร้อม Tween และ CurvedAnimation
- ใช้ AnimatedBuilder และ Transition Widget ควบคุมการเคลื่อนไหว
- Hero Animation ระหว่างหน้ารายการกับหน้ารายละเอียด
- ทำ Transition ตอนเปลี่ยนหน้าด้วย PageRouteBuilder
- ประยุกต์ Animation กับโปรเจกต์ตัวอย่างโดยไม่ให้แอปช้า
Section 7: Lab: จัดการ State ด้วย Provider
- ปัญหาการส่ง State ข้ามหลายหน้าจอเมื่อแอปเริ่มใหญ่
- ChangeNotifier, ChangeNotifierProvider และ MultiProvider
- context.watch, context.read และ Selector ลดการ Rebuild ที่ไม่จำเป็น
- แยก Class ของ Provider ตามส่วนงานให้รองรับโปรเจกต์ขนาดใหญ่
- ภาพรวม Riverpod และ Bloc เพื่อเลือกใช้ในขั้นต่อไป
Section 8: Lab: เชื่อม Flutter กับ Laravel API
- ติดตั้ง Package http และกำหนด Base URL สำหรับ Emulator และเครื่องจริง
- เขียน Service และ Repository แยกการเรียก API ออกจากหน้าจอ
- สร้าง Model ด้วย fromJson และ toJson
- แสดงข้อมูลจาก API ใน ListView พร้อมสถานะโหลดและข้อผิดพลาด
- จัดการ Error, Timeout และรหัสสถานะ HTTP อย่างเป็นระบบ
Section 9: Workshop: CRUD ข้อมูลผ่าน API
- สร้างฟอร์มเพิ่มข้อมูลพร้อมตรวจสอบค่าที่กรอก
- แก้ไขข้อมูลเดิมและส่งค่าที่เปลี่ยนไปยัง API
- ลบข้อมูลพร้อมยืนยันก่อนลบ
- เลือกรูปจากกล้องหรือคลังภาพด้วย image_picker แล้วอัปโหลดไปยัง API
- Workshop: อัปเดตรายการทันทีหลังเพิ่ม แก้ไข หรือลบ
Section 10: Lab: Login ด้วย Token และเก็บอย่างปลอดภัย
- หน้า Login ที่เรียก Endpoint ของ Sanctum แล้วรับ Token
- เก็บ Token ด้วย flutter_secure_storage แทนการเก็บแบบข้อความธรรมดา
- แนบ Bearer Token ทุก Request และจัดการเมื่อ Token หมดอายุ
- เข้าระบบอัตโนมัติเมื่อเปิดแอปใหม่และทำ Logout