WannSystem v.2
การ Rewrite ระบบจาก Single-developer ไปสู่ระบบที่รองรับการทำงานเป็นทีม (อยู่ระหว่างพัฒนา) รับผิดชอบโครงสร้างโปรเจคและฝั่ง Frontend โดยเน้นเรื่อง Permission, Migration จาก v.1 และความถูกต้องของข้อมูลในระดับองค์กร
ภาพรวมโปรเจค
- พัฒนาระบบ Internal Business Support เวอร์ชันใหม่ที่รองรับการทำงานร่วมกันเป็นทีม
- ปรับเปลี่ยนสถาปัตยกรรมซอฟต์แวร์มาเป็น TypeScript ทั้งระบบ เพื่อสร้างมาตรฐานการรับส่งข้อมูลผ่าน API ให้แม่นยำ
- สร้างระบบพื้นฐานใหม่ทั้งหมด (User, Department, Position, Permissions) เพื่อความยืดหยุ่นในการขยายตัว
- ออกแบบให้ครอบคลุมทุก Module ของ v.1 (76 users, 5 กลุ่มงาน) และขยายเพิ่มระบบจัดการคลังวัตถุดิบ RM/PKG รวมเป็น 7 กลุ่มงาน
- เพิ่มระบบ Scan QR Code สำหรับตัดสต็อก RM/PKG เพื่อลดการคีย์ข้อมูลซ้ำซ้อนใน SAP
- เมื่อพัฒนาครบทุก Module แล้ว v.1 จะถูกปลดระวางและโอนผู้ใช้งานทั้งหมดมายัง v.2
บทบาทและความรับผิดชอบ
- รับผิดชอบการออกแบบโครงสร้างโปรเจค (Project Structure) และการพัฒนาฝั่ง Frontend ทั้งหมด
- ออกแบบและพัฒนาระบบ User Permission ที่ละเอียดระดับหน้าจอและระดับการกระทำ (CRUD)
- พัฒนาระบบแจ้งเตือนที่ยืดหยุ่น โดยสามารถตั้งค่าเงื่อนไขผู้ส่ง-ผู้รับได้ตามความต้องการของแต่ละแผนก
- ประสานงานร่วมกับ Backend Developer ในการกำหนด Type และ Interface ของ API ด้วย TypeScript เพื่อลดความผิดพลาดในการเชื่อมต่อข้อมูล
- ตั้งค่า CI/CD Pipeline ด้วย GitHub Actions เพื่อ Auto Deploy บน Windows Server และใช้ Vercel สำหรับ Public Test
ความเป็นมา
- เมื่อองค์กรมีความต้องการด้านซอฟต์แวร์มากขึ้น จึงได้มีการจัดตั้งทีมพัฒนา โดยมุ่งเน้นการเปลี่ยนผ่านจากระบบเดิมที่เป็น Single-developer project ไปสู่ระบบที่รองรับมาตรฐานการพัฒนาแบบทีม
- ตัดสินใจทำเว็บขึ้นมาใหม่ (Rewrite) แทนการต่อเติมจากเวอร์ชันเดิม เพื่อวางรากฐานโครงสร้างข้อมูลให้แข็งแรงและทันสมัยมากขึ้น
- ให้ความสำคัญกับความถูกต้องของข้อมูล (Data Integrity) และการตรวจสอบย้อนหลัง (Audit Trail) เพื่อใช้ควบคุมการทำงานในระดับองค์กร
ปัญหาที่พบ
- การเปลี่ยนผ่านจากระบบ v.1 ไปยัง v.2 (Migration Gap) ทำให้เกิดความท้าทายในการรักษาความต่อเนื่องของการทำงานของผู้ใช้งานเดิม
- ความต้องการระบบที่มีความปลอดภัยสูงและตรวจสอบได้ ทำให้ต้องจัดการโครงสร้างข้อมูลที่ซับซ้อนขึ้น
- การทำงานร่วมกันเป็นทีมครั้งแรกในโปรเจคนี้ ทำให้ต้องกำหนดมาตรฐานการโค้ดให้สอดคล้องกัน
วิธีคิดและการแก้ไข
- เราใช้การเปลี่ยนผ่านแบบค่อยเป็นค่อยไป โดยพัฒนาฟีเจอร์ใน v.2 ให้ครอบคลุมการคีย์ข้อมูลพื้นฐานเท่ากับ v.1 ก่อนเป็นลำดับแรก
- ทำระบบ Seamless Redirect โดยนำเมนูใหม่ๆ ไปแปะไว้ที่ v.1 แล้วส่งผู้ใช้งานมายัง v.2 เพื่อลดความสับสนและให้ผู้ใช้ค่อยๆ ปรับตัว
- นำระบบ Database Transactions มาใช้เพื่อป้องกันข้อมูลผิดพลาด (Rollback เมื่อเกิดปัญหา) และจัดทำ Action Logs อย่างละเอียดเพื่อความโปร่งใส
- ใช้ TypeScript เป็นตัวกำหนดมาตรฐานในการทำงานร่วมกับทีม เพื่อให้การส่งมอบงานระหว่าง Frontend และ Backend เป็นไปอย่างราบรื่น
แกลเลอรี่



