ตอนนี้แอปของคุณสมัครสมาชิกได้ เข้าระบบได้ และออกจากระบบได้แล้ว
แต่คุณน่าจะสังเกตเหมือนกันว่า ถึงจะมีสองบัญชี ทั้งสองคนก็ยังเห็นข้อมูลชุดเดียวกันอยู่ดี เหมือน รปภ.หน้าตึกเช็กชื่อแล้ว แต่สุดท้ายยังพาทุกคนเข้าห้องรวมเดิม
ล็อกอินอย่างเดียว ยังไม่ได้แปลว่าข้อมูลแยกกัน
ระบบล็อกอินตอบคำถามแรกได้แล้วว่า “คนนี้คือใคร”
แต่ยังมีอีกคำถามหนึ่งที่สำคัญพอๆ กัน คือ “ข้อมูลแถวนี้เป็นของใคร”
ถ้าแอปยังไม่ผูกข้อมูลแต่ละรายการกับเจ้าของ ต่อให้รู้ว่าคนที่ล็อกอินคือ User A หรือ User B ระบบก็ยังหยิบข้อมูลกองเดียวกันขึ้นมาให้ดูเหมือนเดิม
นี่คือปัญหาที่บทนี้จะจัดการ
คิดแบบ spreadsheet: เพิ่มช่องว่าแถวนี้เป็นของใคร
ลองกลับไปนึกถึง spreadsheet ของแอปค่าใช้จ่าย
ก่อนหน้านี้แต่ละแถวอาจมีแค่ ชื่อรายการ จำนวนเงิน วันที่ และหมวดหมู่ แต่ยังไม่มีช่องที่บอกว่าแถวนี้เป็นของใคร
พอไม่มีช่องนี้ ทุกคนก็ต้องเห็นทุกแถวเหมือนกัน
วิธีคิดที่ง่ายที่สุดของบทนี้คือ เพิ่มความหมายใหม่ให้แต่ละรายการว่า “เจ้าของคือใคร” แล้วเวลาแอปโหลดข้อมูล ก็ให้หยิบมาเฉพาะแถวที่เป็นของคนที่กำลังล็อกอินอยู่
คุณยังไม่ต้องรู้ว่าระบบข้างหลังทำงานยังไง แค่เข้าใจว่าทุกแถวต้องมีเจ้าของ และแอปต้องรู้ว่าจะหยิบเฉพาะข้อมูลของเจ้าของคนนั้นมาแสดง
ถ้าจะเทียบกับอาคารเดิม ตอนนี้เรากำลังแยกห้องจริงๆ
บทที่แล้ว รปภ.รู้แล้วว่าใครเดินเข้ามา
บทนี้เรากำลังเพิ่มกติกาว่า เมื่อรู้แล้วว่าเป็นใคร รปภ.ต้องพาไปห้องของคนนั้นจริงๆ ไม่ใช่ปล่อยให้ทุกคนเข้าไปห้องกลางเหมือนเดิม
User A ต้องเห็นแต่ข้อมูลของ User A
User B ต้องเห็นแต่ข้อมูลของ User B
นี่คือจุดที่แอปเริ่มรู้สึกเหมือนแอปจริงที่หลายคนใช้ร่วมกันได้ แต่ข้อมูลไม่ปนกัน
Prompt ที่จะส่งในบทนี้
เราจะบอก AI ให้ผูกข้อมูลค่าใช้จ่ายแต่ละรายการกับผู้ใช้ที่ล็อกอินอยู่ และเวลาโหลดก็ให้แสดงเฉพาะของคนนั้น
ใช้ prompt นี้ได้เลย:
แก้ระบบข้อมูลค่าใช้จ่ายให้แยกตามผู้ใช้ที่ล็อกอินอยู่
- เมื่อผู้ใช้เพิ่มรายการค่าใช้จ่าย ให้ผูกรายการนั้นกับบัญชีของผู้ใช้ที่กำลังล็อกอินอยู่
- เมื่อโหลดรายการค่าใช้จ่าย ให้แสดงเฉพาะรายการที่เป็นของผู้ใช้คนนั้น
- ผู้ใช้คนหนึ่งต้องไม่เห็นข้อมูลของผู้ใช้อีกคน
- ยอดรวมค่าใช้จ่ายให้คำนวณเฉพาะรายการของผู้ใช้ที่ล็อกอินอยู่
ไม่เปลี่ยน design หรือฟังก์ชันที่มีอยู่แล้ว
สิ่งที่ prompt นี้กำลังสั่งมีอยู่ 2 เรื่องหลัก:
- ตอนบันทึก ให้จำว่าใครเป็นเจ้าของรายการนั้น
- ตอนแสดงผล ให้หยิบเฉพาะของเจ้าของคนนั้นขึ้นมา
ลงมือทำ — ส่ง prompt แล้วเตรียมทดสอบแบบสองหน้าต่าง
- เปิดโปรเจกต์ของคุณใน Lovable
- คัดลอก prompt ด้านบนไปวางในแชท
- ส่งให้ AI ทำงาน
- รอจนแอปอัปเดตเสร็จ
หลังจากเสร็จ อย่าเพิ่งเชื่อว่ามันแยกข้อมูลได้แล้ว
บทนี้ต้องพิสูจน์ด้วยตาเท่านั้น
สองหน้าต่าง คือคำตอบที่ชัดที่สุด
ขั้นตอนที่ 1 — เข้าเป็น User A
- เปิดแอปในหน้าต่างปกติ
- เข้าสู่ระบบด้วยบัญชีแรก
- เพิ่มค่าใช้จ่าย 3 รายการ เช่น
ค่ากาแฟ,ค่าแท็กซี่,ค่าข้าว - ดูว่ายอดรวมของ User A เปลี่ยนตามข้อมูลชุดนี้
ขั้นตอนที่ 2 — เข้าเป็น User B ในอีกหน้าต่าง
- เปิดหน้าต่าง incognito หรือ private window
- เข้าแอปเดียวกันด้วยบัญชีที่สอง
- ดูว่าตอนแรกควรยังไม่เห็นรายการของ User A
ถ้าตรงนี้ขึ้นว่าง นี่คือสัญญาณที่ดีมาก เพราะหมายความว่าแอปเริ่มแยกโลกของแต่ละคนแล้ว
ขั้นตอนที่ 3 — เพิ่มข้อมูลของ User B
- เพิ่มค่าใช้จ่ายอีก 2 รายการในบัญชีที่สอง
- ใช้ชื่อคนละชุดกับของ User A เช่น
ค่าหนัง,ค่ารถเมล์ - ดูยอดรวมของ User B ในหน้าต่างนี้
ขั้นตอนที่ 4 — กลับไปดู User A
- กลับไปที่หน้าต่างแรก
- รีเฟรชหน้า
- ดูว่าหน้าต่างของ User A ยังเห็นแค่ 3 รายการเดิมของตัวเอง
- ดูว่ายอดรวมของ User A ยังเป็นของตัวเอง ไม่ปนกับของ User B
ถ้าเป็นแบบนี้ครบทุกข้อ แปลว่าระบบแยกข้อมูลตามผู้ใช้ได้จริงแล้ว
ถ้า User A และ User B เปิดแอปเดียวกัน แต่เห็นคนละข้อมูลกัน นี่ไม่ใช่แค่ระบบล็อกอินธรรมดาแล้ว มันคือแอปหลายผู้ใช้ที่เริ่มใช้งานได้จริง
ถ้ายังเห็นข้อมูลปนกัน ลองคิดแบบนี้ก่อน
ถ้าคุณทำสองหน้าต่างแล้วทั้งสองคนยังเห็นข้อมูลเหมือนกัน ยังไม่ต้องตกใจ
ให้กลับมาถามทีละข้อ:
- ตอนเพิ่มรายการใหม่ ระบบกำลังจำไหมว่าใครเป็นคนเพิ่ม
- ตอนโหลดรายการ ระบบกำลังหยิบเฉพาะของคนที่ล็อกอินอยู่หรือยัง
- คุณกำลังทดสอบด้วยข้อมูลใหม่ที่เพิ่มหลังจาก AI ปรับระบบแล้วหรือยัง
ถ้ายังไม่แน่ใจ ลองส่ง prompt เดิมอีกครั้ง แล้วทดสอบใหม่ตั้งแต่ต้นแบบสองหน้าต่าง
ถ้ามีข้อมูลเก่าที่ถูกสร้างไว้ก่อนระบบแยกผู้ใช้ บางครั้งมันอาจทำให้ภาพดูสับสน เวลาทดสอบบทนี้ ให้สังเกตข้อมูลที่เพิ่มใหม่หลังจากการเปลี่ยนแปลงจะชัดที่สุด
สำหรับแอปของคุณเอง
ถ้าแอปของคุณไม่ได้เป็น expense tracker หลักคิดก็ยังเหมือนเดิม
คำถามคือ “ข้อมูลหนึ่งรายการในแอปนี้ควรเป็นของใคร” เมื่อคุณตอบได้ ระบบก็ต้องจำเจ้าของของแต่ละรายการ และตอนแสดงผลก็ต้องโชว์เฉพาะของคนที่กำลังใช้อยู่
คุณเพิ่งทำอะไรสำเร็จไปแล้วบ้าง
- คุณเข้าใจแล้วว่าล็อกอินอย่างเดียวไม่พอ ถ้าข้อมูลยังไม่ถูกผูกกับเจ้าของ
- คุณทำให้ข้อมูลแต่ละแถวเริ่มมีความเป็นเจ้าของชัดเจนแล้ว
- คุณพิสูจน์ด้วยสองหน้าต่างได้ว่า User A และ User B เห็นคนละข้อมูลจริง
- แอปของคุณขยับจาก “มีคนเข้าใช้ได้” ไปสู่ “แต่ละคนมีพื้นที่ข้อมูลของตัวเอง” แล้ว
บทต่อไป เราจะจัดการอีกปัญหาหนึ่งที่คนมักเจอหลังมีระบบล็อกอินแล้ว คือถ้ายังไม่ล็อกอินเลย คนควรเห็นอะไร ไม่ใช่เปิดมาแล้วเจอหน้าว่างหรือหน้าพัง