แอปทั้งหมด

หารบ่

เลือกหน้าสำหรับ หารบ่

เกี่ยวกับหารบ่

อัปเดตเมื่อ 2026-07-29

หารบ่ (Hanbo) ช่วยหารบิลอย่างยุติธรรม แชร์ให้เพื่อน และสร้าง QR พร้อมเพย์ รองรับ Service Charge / VAT, OCR สลิปใบเสร็จ การแจ้งเตือนแบบพุช (FCM) และบัญชีเสริมเพื่อให้บิลตามคุณไปได้ทุกอุปกรณ์

เว็บไซต์จริง: bill.dolity.me

เวอร์ชัน 3.0 สร้างด้วย Nuxt 4, Vue 3, Tailwind CSS v4, DaisyUI v5 และดีพลอยบน Cloudflare ผ่าน NuxtHub กับ D1

ของใหม่ใน 3.0

  • บัญชีเสริม — เข้าสู่ระบบด้วยอีเมล/รหัสผ่าน หรือ Google (Better Auth) บิลแบบแขกบนอุปกรณ์จะถูก claim อัตโนมัติหลังล็อกอิน
  • ฐานข้อมูลแบบ normalize — บิล สมาชิก รายการ การชำระเงิน เซสชันแขก และโทเคนพุช ในสคีมา D1 เชิงสัมพันธ์ (Drizzle ORM)
  • บันทึกการชำระเงิน — ตาราง payments พร้อมตรวจสลิปและสถานะ (pending / verified / rejected)
  • หน้าแรกใหม่ — ส่วน landing แบบโมดูลาร์ (hero, วิธีใช้, คุณสมบัติ, FAQ, คู่มือ)
  • แพลตฟอร์ม SEO — sitemap, robots, Schema.org, canonical และเส้นทางมี locale (/th/…, /en/…)
  • หน้านโยบายและความน่าเชื่อถือ — About, Contact, Terms, Privacy
  • สคริปต์ migrate โปรดักชันแบบเป็นระยะ — อัปเกรดข้อมูล D1 เดิมอย่างปลอดภัย
  • เครื่องมือนักพัฒนา — Biome, Vitest และสคริปต์สำรอง/ตรวจ D1

คุณสมบัติ

สร้างบิลและหาร

  • แก้บิลหน้าเดียว: ชื่อ รายการ สมาชิก Service Charge/VAT และ PromptPay
  • OCR ใบเสร็จ: ถ่าย/อัปโหลด → บีบอัดฝั่ง client → Gemini API ดึงรายการ VAT และ service charge
  • สมาชิก: เพิ่ม แก้ไข ลบ ผูก PromptPay กำหนดผู้จ่ายและผู้ร่วมต่อรายการ
  • เทมเพลตสมาชิก บันทึกกลุ่มไว้ใช้ซ้ำ (ต่ออุปกรณ์หรือผู้ใช้ที่ล็อกอิน)
  • พรีเซ็ตเน้นไทย: ร้านอาหาร บาร์/เครื่องดื่ม ทริป สาธารณูปโภค
  • อินพุตอัจฉริยะ และการสรุปหนี้พร้อม QR พร้อมเพย์ดาวน์โหลดได้

การแชร์และการแจ้งเตือน

  • ลิงก์แชร์ /bill/share/[id] (พาไป URL ที่มี locale)
  • ตัวตนแขก: ผู้เยี่ยมชมเลือกช่องสมาชิก เก็บด้วย visitor token
  • แจ้งเตือน FCM ให้สมาชิกที่ยังไม่จ่าย (ไทย/อังกฤษตามภาษา)
  • เทมเพลตข้อความแชร์ พร้อมเครดิต “Powered by Hanbo” ได้
  • CTA บนหน้าแชร์ให้สร้างบิลของตัวเอง

บัญชี (ไม่บังคับ)

  • เริ่มแบบแขกได้เลย cookie อุปกรณ์ (hanbo_device_id) เป็นเจ้าของบิลแขก
  • ล็อกอิน/สมัครด้วยอีเมล+รหัสผ่าน หรือ Google OAuth
  • Auto-claim หลังล็อกอิน: บิลและเทมเพลตแขกผูกกับผู้ใช้
  • ซิงก์ข้ามอุปกรณ์เมื่อล็อกอินแล้ว

Analytics คู่มือ และ UX

  • แดชบอร์ดสรุปการใช้จ่าย แนวโน้ม และ insight
  • คู่มือ SEO เน้นไทย (หารอย่างยุติธรรม มื้ออาหาร เครื่องดื่ม ทริป)
  • อธิบายวิธีคำนวณบนหน้าแรก
  • i18n ไทย (ค่าเริ่มต้น) และอังกฤษ
  • ธีมสว่าง/มืด (DaisyUI) เลย์เอาต์มือถือก่อน และ Google Analytics (ถ้าเปิด)

เทคโนโลยี

ชั้น เทคโนโลยี
Framework Nuxt 4, Vue 3, Vue Router 5
Language TypeScript
Styling Tailwind CSS v4, DaisyUI v5
State Pinia
Auth Better Auth
Backend NuxtHub, Nitro, server routes
Database Drizzle ORM, Cloudflare D1
Deploy Cloudflare Workers/Pages, Wrangler
SEO / i18n @nuxtjs/seo, @nuxtjs/i18n
Notifications Firebase Cloud Messaging (FCM)
OCR Google Gemini API

เส้นทางหลัก

เส้นทาง คำอธิบาย
/ หน้า landing
/bill รายการบิลของฉัน
/bill/create สร้าง / แก้ไขบิล
/bill/[id] รายละเอียดบิลฝั่งโฮสต์
/bill/share/[id] มุมมองแชร์แบบอ่านอย่างเดียว
/analytics วิเคราะห์ค่าใช้จ่าย
/login เข้าสู่ระบบ / สมัคร
/guides/* บทความคู่มือ
/about, /contact, /terms, /privacy หน้าข้อมูลและกฎหมาย

เส้นทางฝั่งผู้ใช้มี locale prefix (/th/…, /en/…)

API โดยสรุป

Method Path วัตถุประสงค์
GET/POST /api/bills รายการ / สร้างบิล
GET/PATCH/DELETE /api/bills/[id] รายละเอียด / อัปเดต / ลบ
POST /api/bills/claim claim บิลแขกหลังล็อกอิน
GET /api/bills/share/[id] ข้อมูลบิลที่แชร์
GET/POST /api/bills/share/[id]/identity ตัวตนสมาชิกแขก
POST /api/bills/share/[id]/register-push ลงทะเบียนโทเคน FCM
POST /api/bills/[id]/notify ส่งการแจ้งเตือนให้จ่าย
POST /api/ocr/receipt OCR ใบเสร็จผ่าน Gemini
POST /api/verify-slip บันทึกสลิปที่ยืนยันแล้ว
GET/POST /api/templates CRUD เทมเพลตสมาชิก
DELETE /api/templates/[id] ลบเทมเพลต

ข้อมูลและการ migrate

หารบ่ 3.0 ใช้สคีมา D1 แบบ normalize การอัปเกรดจากฐานข้อมูลเก่าใช้สคริปต์ migrate เป็นระยะ พร้อมตรวจและสำรองข้อมูล การติดตั้งใหม่ใช้ Drizzle migrations

สัญญาอนุญาต

MIT — Dolity

สนับสนุนเรา

ถ้าแอปของเราช่วยคุณได้ สามารถเลี้ยงกาแฟเราได้

Buy me a coffee

เปิดในแท็บใหม่