APIBackend (ระบบหลังบ้าน)
แพ็กเกจนี้คืออะไร
API คือฐานของทุกอย่างที่เหลือ ผมออกแบบฐานข้อมูลให้ตรงกับของจริงที่คุณมี แล้วเขียน API ให้หน้าบ้านของคุณเรียกใช้ พร้อมระบบล็อกอิน และกำหนดได้ว่าใครเข้าถึงข้อมูลส่วนไหนได้บ้าง
แพ็กนี้ครอบคลุมข้อมูลไม่เกินแปดประเภท และคำสั่งที่หน้าบ้านเรียกใช้ไม่เกินสิบห้าอย่าง ซึ่งผมเขียนชื่อทั้งหมดลงในสเป็คตั้งแต่วันตกลงงาน เกินจากนั้นคิดเพิ่มและแจ้งราคาก่อนทำ ของที่ส่งมอบไม่ได้มีแค่โค้ดที่รันได้ แต่มีเอกสารที่ทีมคุณเปิดอ่านเองได้และกดลองใช้ดูผลได้ทันทีจากหน้าเว็บ กับชุดตรวจอัตโนมัติที่รันซ้ำได้ทุกครั้งที่มีคนแก้โค้ด สองอย่างนี้คือสิ่งที่ทำให้ทีมอื่นทำงานต่อจากผมได้โดยไม่ต้องโทรถาม
สิ่งที่แพ็กนี้ยังไม่มีคือหน้าหลังบ้านสำหรับคนที่ไม่ใช่โปรแกรมเมอร์ และงานรับเงิน ทั้งสองอย่างอยู่ในแพ็กถัดไป
ลองดูของจริง
| #1043 | มาลี ใจดี | ฿1,290 | ค้างจ่าย |
| #1042 | ปิยะ ทองดี | ฿590 | จ่ายแล้ว |
| #1041 | นภา แสงจันทร์ | ฿2,450 | ค้างจ่าย |
| #1040 | ธนา วงศ์ดี | ฿890 | จ่ายแล้ว |
หน้านี้อ่านอย่างเดียว แก้ข้อมูลไม่ได้
| เลขที่ | ลูกค้า | ยอด | สถานะ |
|---|---|---|---|
| #1043 | มาลี ใจดี | ฿1,290 | |
| #1042 | ปิยะ ทองดี | ฿590 | จ่ายแล้ว |
| #1041 | นภา แสงจันทร์ | ฿2,450 | |
| #1040 | ธนา วงศ์ดี | ฿890 | จ่ายแล้ว |
ตัวเลขสี่ตัวนี้คือสิ่งที่เจ้าของเปิดดูทุกเช้า มันคำนวณจากข้อมูลจริงทุกครั้งที่เปิด ไม่ใช่ตัวเลขที่มีคนมานั่งพิมพ์อัปเดต
แพ็กนี้หน้าสรุปอ่านได้อย่างเดียว ส่วนหน้าหลังบ้านที่แก้ข้อมูลได้และกราฟย้อนหลัง อยู่ในแพ็ก Admin
นี่คือตัวจำลองหน้าจอของระบบที่ส่งมอบจริง ข้อมูลทั้งหมดอยู่ในหน้าเว็บนี้ ไม่ได้ต่อกับระบบไหน ของจริงคำนวณจากฐานข้อมูลของคุณเอง และหน้าบ้านของคุณเรียกข้อมูลชุดเดียวกันนี้ไปแสดงได้ด้วย
สิ่งที่คุณจะได้ ทั้งหมด
รายการนี้คือขอบเขตงานทั้งหมดของแพ็กเกจนี้ ไม่มีข้อไหนซ่อนไว้ในสัญญา
- ออกแบบฐานข้อมูลและเขียน API ให้หน้าบ้านของคุณเรียกใช้
- ข้อมูลไม่เกิน 8 ประเภท และคำสั่งที่หน้าบ้านเรียกใช้ไม่เกิน 15 อย่าง เขียนชื่อไว้ในสเป็คตั้งแต่วันตกลง
- หน้าสรุปตัวเลขธุรกิจ 4 ตัวหลัก เปิดดูได้ทุกวัน อ่านอย่างเดียว ยังแก้ข้อมูลไม่ได้
- ระบบล็อกอิน และกำหนดได้ว่าใครเข้าถึงข้อมูลส่วนไหนได้บ้าง
- เอกสารที่ทีมคุณเปิดอ่านเองได้ และกดลองใช้ดูผลได้ทันทีจากหน้าเว็บ
- ชุดตรวจอัตโนมัติ รันซ้ำได้ทุกครั้งที่มีคนแก้โค้ด จะได้รู้ทันทีว่าแก้แล้วพังตรงไหน
- ขึ้นเซิร์ฟเวอร์ให้พร้อมใช้ พร้อมวิธีอัปเดตซ้ำที่ทีมคุณทำเองได้
- งานออกแบบและทำหน้าบ้าน บริการนี้ทำเฉพาะระบบที่อยู่ข้างหลัง ถ้าอยากได้ทั้งสองฝั่ง ดูบริการเว็บโปรไฟล์ธุรกิจหรือระบบจองคิวซึ่งมีหน้าบ้านมาให้แล้ว
- ค่าเซิร์ฟเวอร์และบริการภายนอกรายเดือน จ่ายในบัญชีของคุณเองเพื่อให้ระบบเป็นของคุณจริง ผมประเมินตัวเลขให้ก่อนเริ่ม
- การย้ายข้อมูลจากระบบเดิมที่โครงสร้างซับซ้อน ถ้าเป็นไฟล์ Excel ปกติผมย้ายให้ได้ ถ้าต้องดึงผ่าน API ของระบบเก่า ผมประเมินเพิ่มและแจ้งก่อนเสมอ
- แอปมือถือที่ลงจาก Play Store อยู่ในบริการแอปมือถือ Android ซึ่งเรียกใช้ API ที่ทำในบริการนี้ได้เลย
คำถามที่พบบ่อยของแพ็กเกจนี้
เอกสาร API ที่ว่า หน้าตาเป็นยังไง
เป็นหน้าเว็บที่เปิดแล้วเห็น endpoint ทั้งหมด รู้ว่าแต่ละอันรับอะไรและคืนอะไร และมีปุ่มให้กดยิงจริงจากในหน้านั้นเลยเพื่อดูผลลัพธ์ ทีมหน้าบ้านของคุณจึงต่อได้เองโดยไม่ต้องนัดคุยกับผมทีละครั้ง
ชุดทดสอบสำคัญตรงไหน ในเมื่อระบบก็ทำงานได้อยู่แล้ว
มันไม่ได้สำคัญวันส่งมอบ แต่สำคัญวันที่มีคนแก้โค้ดในอีกหกเดือน ถ้ามีเทสต์ เขารู้ทันทีว่าแก้แล้วพังตรงไหน ถ้าไม่มี เขาจะกลัวจนไม่กล้าแก้ แล้วระบบก็ค่อยๆ กลายเป็นของที่ไม่มีใครแตะ ซึ่งเป็นสภาพที่ลูกค้าหลายรายมาหาผมด้วยเรื่องนี้พอดี
ทำไมไม่ใช้ Firebase หรือ Supabase ไปเลย ถูกกว่า
ผมใช้ Supabase อยู่แล้วในหลายงานและจะแนะนำเองถ้ามันพอ ถ้างานของคุณคือเก็บข้อมูลกับล็อกอินธรรมดา ใช้ของสำเร็จรูปคุ้มกว่าจริงและผมบอกตรงๆ การเขียนเองคุ้มเมื่อมีตรรกะทางธุรกิจที่ของสำเร็จรูปทำไม่ได้ หรือข้อมูลห้ามไปอยู่บนบริการของคนอื่น
ระบบเดิมผมเขียนด้วย PHP ต้องเปลี่ยนภาษาไหม
ไม่ต้องครับ ถ้าของเดิมเป็น PHP กับ Laravel ผมทำต่อด้วยตัวนั้น การบังคับให้ลูกค้าเปลี่ยนภาษาตามที่ผมถนัด แปลว่าคุณต้องจ้างเขียนใหม่ทั้งระบบโดยไม่ได้อะไรเพิ่ม ผมเปิดโค้ดตัวอย่างทั้ง TypeScript, Laravel และ Python ให้อ่านก่อนตัดสินใจได้
โค้ดกับข้อมูลเป็นของใคร
ของคุณทั้งหมด โค้ดเข้าบัญชี GitHub ของคุณตั้งแต่วันแรกของงาน ฐานข้อมูลกับเซิร์ฟเวอร์อยู่ในบัญชีของคุณเอง ผมไม่ถือของอะไรไว้เป็นตัวประกัน และเปลี่ยนคนดูแลได้ตลอดโดยไม่ต้องขอผม