การออกแบบระบบ (System Design)
Data model · Architecture · Feature roadmap — เอกสารอ้างอิงของแอปนี้
🗄 Entity Relationship Diagram
• ในเวอร์ชันนี้ warranty ถูกฝังในตาราง items (warranty_months) และ end_date คำนวณจาก purchase_date + months ณ runtime · • ลบรายการแบบ soft-delete · • รูปเก็บใน data/uploads/ เข้าถึงผ่าน /api/files/
✨ Features ที่ใช้งานได้แล้ว
✓
บันทึกการซื้อสินค้า/บริการ วันที่ซื้อ ราคา ร้านค้า ใบเสร็จ — บันทึกลง SQLite จริง
✓
ระบบประกันคำนวณวันหมดอายุ + สถานะ 3 ระดับ อัตโนมัติ
✓
ประวัติบริการเพิ่ม/แสดง timeline ซ่อม·บำรุงรักษา + ยอดค่าใช้จ่ายสะสม
✓
รูปหลายรูปอัปโหลดจริง ลาก-วางได้ ลบรูปได้ รองรับ PDF ใบเสร็จ
✓
ค้นหา + กรองค้นหาข้อความ กรองสถานะ เรียงตามราคา/วันที่
✓
แดชบอร์ดสถิติภาพรวม + กราฟค่าใช้จ่าย 6 เดือน
🚀 Features เสริมที่วางแผนไว้
+
แจ้งเตือนอัตโนมัติLine/Telegram ก่อนประกันหมด 30/7/1 วัน (cron รายวัน)
+
รายงาน + Exportสรุปค่าใช้จ่ายรายหมวด export CSV/PDF
+
ใบเสร็จ + OCRถ่ายใบเสร็จ → ดึงราคา/วันที่อัตโนมัติ
+
เตือนเปลี่ยนเครื่องค่าซ่อมสะสม > 50% ของราคา → แนะนำเปลี่ยน
+
Barcode / ค้นหารุ่นสแกนบาร์โค้ดดึงข้อมูลรุ่น + ประกันมาตรฐาน
+
แชร์ให้ครอบครัวหลาย user ต่อ 1 household + สิทธิ์ read/write
🏗 สถาปัตยกรรมที่ใช้ PWA-ready · SQLite
- Frontend: Next.js 16 (App Router, Turbopack) + Tailwind v4 — Server Components ดึงข้อมูลตรงจาก DB
- Database: SQLite ผ่าน
node:sqlite(built-in ไม่ต้องติดตั้ง engine) ไฟล์เดียวที่ data/assetbook.db - รูปภาพ: เก็บไฟล์ที่ data/uploads/<itemId>/ โดยตรง + serve ผ่าน route /api/files/ (ขยายระบบ → S3/B2 + CDN)
- แจ้งเตือน: วางแผน cron รายวันเช็ก warranty ใกล้หมด → LINE / Telegram
- Auth: โหมดส่วนตัวตอนนี้ไม่มี login — เพิ่ม PIN/magic link ได้ภายหลัง
🔌 API ทั้งหมดของระบบ
| Method | Endpoint | คำอธิบาย |
|---|---|---|
| GET | /api/items?q=&status=&sort= | ค้นหา/กรอง/เรียงรายการ |
| POST | /api/items/create | เพิ่มสินค้า/บริการใหม่ |
| GET | /api/items/:id | รายละเอียด + ประกัน + ประวัติ |
| PATCH | /api/items/:id | แก้ไขรายการ |
| DELETE | /api/items/:id | ลบ (soft-delete) |
| POST | /api/items/:id/photos | อัปโหลดรูป (หลายไฟล์) |
| DELETE | /api/photos/:photoId | ลบรูป + ไฟล์จริง |
| POST | /api/items/:id/services | เพิ่มประวัติการรับบริการ |
| GET | /api/stats | ตัวเลข dashboard + กราฟ |
| GET | /api/files/… | serve ไฟล์รูป/เอกสาร |
← กลับไปใช้งาน: แดชบอร์ด · รายการสินค้า