ລະບົບຄຸ້ມຄອງເຄືອຍາດ

ພາບລວມ
ລະບົບເກັບຂໍ້ມູນເຄືອຍາດທັງໝົດໄວ້ບ່ອນດຽວ. ສະມາຊິກຖືກຈັດເປັນຕະກຸນ, ລຸ່ມ ແລະ ຄອບຄົວ ພ້ອມເຊື່ອມຄວາມສຳພັນຈິງ — ພໍ່ແມ່, ຄູ່ສົມລົດ, ລູກ — ຈຶ່ງສາມາດແຕ້ມເປັນແຜນຜັງຄອບຄົວໄດ້ ແທນທີ່ຈະຈື່ໄວ້ໃນຫົວຄົນໃດຄົນໜຶ່ງ. ການບຸນ ແລະ ກິດຈະກຳຄອບຄົວ ຖືກບັນທຶກຕິດກັບຜູ້ທີ່ເຂົ້າຮ່ວມ. ໜ້າຜູ້ດູແລລະບົບປ່ຽນຂໍ້ມູນທັງໝົດເປັນຕົວເລກ: ຈຳນວນລຸ່ມ ແລະ ສະມາຊິກ, ຜູ້ມີຊີວິດ ແລະ ຜູ້ເສຍຊີວິດ, ອັດຕາສ່ວນເພດ, ສະມາຊິກຕາມລຸ່ມ ແລະ ການເກີດຕາມທົດສະວັດ.
ສິ່ງທ້າທາຍ
ເຄືອຍາດບໍ່ແມ່ນລາຍຊື່ແບບຮຽບງ່າຍ. ຄົນໜຶ່ງຢູ່ໃນຕະກຸນ, ລຸ່ມ ແລະ ຄອບຄົວ ພ້ອມກັນ ແລະ ຜູກພັນກັບຄົນອື່ນດ້ວຍຄວາມສຳພັນທີ່ຕ້ອງຖືກຕ້ອງທັງສອງທາງ — ຖ້າ A ເປັນລູກຂອງ B, B ກໍຕ້ອງເປັນພໍ່ແມ່ຂອງ A ສະເໝີ. ຂໍ້ມູນເຄືອຍາດຍັງຢູ່ກັບຜູ້ເຖົ້າຜູ້ແກ່: ໃຜຢູ່ລຸ່ມໃດ, ໃຜເສຍຊີວິດແລ້ວ, ໃຜຢູ່ລຸ້ນໃດ. ຖ້າຂຽນໄວ້ໃນເຈ້ຍ ມັນກໍລ້າສະໄໝ ແລະ ບໍ່ມີໃຜຕອບຄຳຖາມງ່າຍໆໄດ້ ເຊັ່ນ: ຍັງມີສະມາຊິກມີຊີວິດຢູ່ຈັກຄົນ ໂດຍບໍ່ຕ້ອງນັບດ້ວຍມື.
ວິທີແກ້ໄຂ
Backend ດ້ວຍ Node.js/TypeScript ແບບແບ່ງຊັ້ນ (model → repository → service → controller) ທີ່ເກັບຄວາມສຳພັນໄວ້ບ່ອນດຽວ ແລະ ກວດສອບດ້ວຍ DTO ຈຶ່ງບໍ່ຂັດແຍ້ງກັນ ພ້ອມບັງຄັບສິດຕາມບົດບາດໃນທຸກເສັ້ນທາງ — ຜູ້ດູແລແກ້ໄຂໄດ້, ສະມາຊິກເບິ່ງໄດ້ຢ່າງດຽວ. ເບື້ອງໜ້າແມ່ນໜ້າຜູ້ດູແລດ້ວຍ Vue: ໜ້າສະຫຼຸບພ້ອມຕົວເລກ ແລະ ຕາຕະລາງສະຖິຕິ, ໜ້າຈັດການຕະກຸນ, ລຸ່ມ, ຄອບຄົວ ແລະ ສະມາຊິກ, ໜ້າແຜນຜັງຄອບຄົວ ແລະ ບັນທຶກການບຸນ ແລະ ກິດຈະກຳ. ຍ້ອນຂໍ້ມູນເປັນກຣາຟຈິງ ບໍ່ແມ່ນຕາຕະລາງ ແຜນຜັງ ແລະ ສະຖິຕິຈຶ່ງຖືກສ້າງອັດຕະໂນມັດ ບໍ່ຕ້ອງດູແລດ້ວຍມື.
ຄຸນສົມບັດເດັ່ນ
ເຕັກໂນໂລຊີ
Crimson — ຮ້ານເຄັກ ຂາຍອອນລາຍ ແລະ ໜ້າຮ້ານ