← กลับไปหน้าบทเรียนบทที่ 14
14. Admin CMS — /mimoadminza
Admin Path
text
/admin → เปลี่ยนเป็น path จริงที่คุณเลือก
├── /tools # CRUD tools
├── /guides # CRUD guides
├── /news # CRUD news
├── /deals # CRUD deals
└── /media # Media library⚠️ ทำไมต้องเปลี่ยน path? — เพื่อความปลอดภัย อย่าใช้ path default/adminเพราะรู้กันทั่วว่า admin อยู่ตรงนี้ ยิ่งเว็บคุณมีคนใช้เยอะ ยิ่งต้องซ่อน วิธีทำใน Next.js: ใช้ redirect ในnext.config.ts``typescript async redirects() { return [{ source: "/admin", destination: "/your-secret-path", permanent: false }] }``
CRUD Pattern (Server Actions)
ระบบ CMS ที่ mimoth.com ใช้เป็น Mock-first approach — สร้าง mock data ก่อน, แล้วค่อยเชื่อม Supabase จริง ข้อดีคือ dev เร็วและไม่พัง production
typescript
// ตัวอย่าง Server Action สำหรับสร้าง tool ใหม่
// ทำไมต้อง Server Action? — เพราะข้อมูลต้อง validate ฝั่ง server
// ถ้า validate แค่ client side, hacker ส่ง request ตรงมาข้ามได้
"use server"
export async function createTool(formData: FormData) {
const slug = formData.get("slug")
const name = formData.get("name")
// validate + save to database
}📥 ดาวน์โหลดฉบับเต็ม
