การบ้าน สัปดาห์ที่ 5:
ส่ง: คลิป ≤ 2 นาที — ตั้งชื่อ รหัสนักศึกษา_HW5
โจทย์
ทำแอปของตัวเอง (ธีมเดิม) ให้มี ระบบล็อกอิน + เก็บข้อมูลบน Firestore + แต่ละคนเห็นแค่ของตัวเอง + Security Rules
ต่อยอดจากสัปดาห์ 3 — เปลี่ยนจาก SQLite เป็น Firestore (cloud) + เพิ่มล็อกอิน
เกณฑ์ให้คะแนน (25 คะแนน)
ก. ระบบล็อกอิน (8)
| ข้อ | รายละเอียด | คะแนน |
|---|---|---|
| ก1 | สมัครสมาชิกด้วย Email/Password ได้ | 2 |
| ก2 | เข้าสู่ระบบ/ออกจากระบบได้ | 2 |
| ก3 | AuthGate — ล็อกอินอยู่ไปหน้าข้อมูล/ไม่อยู่ไปหน้า login อัตโนมัติ | 2 |
| ก4 | จัดการ error (รหัสสั้น/อีเมลซ้ำ/รหัสผิด) แสดงข้อความเข้าใจง่าย | 2 |
ข. Firestore CRUD ผูกผู้ใช้ (10)
| ข้อ | รายละเอียด | คะแนน |
|---|---|---|
| ข1 | Create — เพิ่มข้อมูลพร้อม userId | 2 |
| ข2 | Read — StreamBuilder แสดงเฉพาะข้อมูลของตัวเอง (.where userId) | 3 |
| ข3 | Update — แก้ไขได้ | 2 |
| ข4 | Delete — ลบได้ (มียืนยัน) | 2 |
| ข5 | จออัปเดตเรียลไทม์ (ไม่ต้อง reload) | 1 |
ค. ความปลอดภัยและความเป็นส่วนตัว (7)
| ข้อ | รายละเอียด | คะแนน |
|---|---|---|
| ค1 | 2 บัญชีเห็นข้อมูลคนละชุด (สาธิตในคลิป) | 3 |
| ค2 | ตั้ง Security Rules เช็คเจ้าของ | 3 |
| ค3 | โครงเดิม (รายการ/ฟอร์ม) ยังทำงานดี | 1 |
เงื่อนไข: แอป build ผ่าน + ล็อกอินได้ + 2 บัญชีเห็นข้อมูลแยกกัน
หมายเหตุ: เก็บโปรเจกต์ไว้ — สัปดาห์หน้า (สุดท้าย) build เป็น APK ติดตั้งจริง