Section 6: หลักการออกแบบ RESTful API
- ตั้งชื่อ Resource และเลือก HTTP Method และ Status Code ให้ถูกต้อง
- Pagination, Filtering, Sorting และรูปแบบ Error Response มาตรฐาน
- API Versioning และเอกสาร API ด้วย OpenAPI
- Lab: ออกแบบ Endpoint ทั้งหมดของ Resource และ Booking ก่อนเขียนโค้ด
Section 7: Hono บน Node.js
- โครงสร้างแอป Routing, Middleware และ Context
- แยก Layer เป็น Route, Service และ Repository
- ใช้ Zod Validator กับ Request Body, Query และ Params
- Lab: สร้าง API ของ Resource พร้อม Validation จาก Shared Schema
Section 8: PostgreSQL 18 และ Prisma ORM 7
- ออกแบบ Schema ความสัมพันธ์ One-to-Many และ Many-to-Many
- Prisma Schema, Migration และ Seed Data
- สิ่งที่เปลี่ยนใน Prisma 7 ที่ Prisma Client ไม่พึ่ง Rust Query Engine แล้ว
- Lab: รัน PostgreSQL ใน Docker ทำ Migration และ Seed ห้องประชุมและรถส่วนกลาง
Section 9: การ Query อย่างมีประสิทธิภาพ
- Select เฉพาะ Field ที่ใช้, Include ความสัมพันธ์ และการหลีกเลี่ยง N+1 Query
- Transaction สำหรับงานที่ต้องสำเร็จพร้อมกัน
- สร้าง Index ให้ตรงกับรูปแบบการค้นหา
- Lab: วัดจำนวน Query ก่อนและหลังแก้ปัญหา N+1 ในหน้ารายการจอง
Section 10: Workshop Day 2: Error Handling, Logging และ API ของ BookingNest
- Global Error Handler และการแยก Error ฝั่งผู้ใช้กับฝั่งระบบ
- Structured Logging และ Request ID
- Workshop: พัฒนา API จัดการ Resource และ Booking ครบ CRUD ค้นหา และกรองตามวันที่
- Workshop: ทดสอบทุก Endpoint ด้วย HTTP Client และเปิดเอกสาร OpenAPI ให้ทีม Frontend