ระบบคลังข้อมูลเพื่อการวางแผนการวิจัยสังคมสูงวัยที่ยั่งยืนภายใต้วิถีชีวิตใหม่

Published on
Tags

ภาพรวม

ระบบคลังข้อมูลเพื่อการวางแผนการวิจัยสังคมสูงวัยที่ยั่งยืนภายใต้วิถีชีวิตใหม่ เป็นระบบภายใต้โครงการพัฒนาคุณภาพแผนการวิจัยสังคมสูงวัยที่ยั่งยืนภายใต้วิถีชีวิตใหม่ของมูลนิธิสาธารณสุขแห่งชาติ (มสช.) ที่คาดหวังจะนำข้อมูลที่จากผลประเมินความมีชีวิตชีวาของผู้สูงอายุมาใช้ในการสังเคราะห์และเชื่อมโยงเพื่อให้สะท้อนปัญหา ความมีศักยภาพ และคุณภาพชีวิตของผู้สูงอายุ จากนั้นนำผลลัพท์ที่ได้มาช่วยพัฒนาคุณภาพของผู้สูงอายุให้ดียิ่งขึ้นในมิติต่างๆ ไม่ว่าจะเป็นร่างกาย จิตใจ สติปัญญา รวมถึงการเรียนรู้ด้านสังคม และความมั่นคง

Frameworks & Librariess

คลังภาพ

จุดเด่นในการพัฒนา

  1. Rails 7

    สำหรับในโปรเจ็คสิ่งที่น่าจะเป็นความท้าทายใหม่ก็คือการที่ต้องเปลี่ยนมาใช้ Rails เวอร์ชัน 7 ที่ค่อนข้างจะเปลี่ยนไปเยอะและยังคงอยู่ในรุ่น alpha อยู่ และมีการใช้ Hotwired ซึ่งเป็นไฮไลท์ของเวอร์ชันนี้เลยทีเดียว

  2. Stimulus & TailwindCSS

    Stimulus เป็นเฟรมเวิร์คในฝั่ง JavaScript ที่ดีมากๆ ในการพัฒนาโปรแกรมไม่ว่าจะใหญ่หรือเล็ก ซึ่งเมื่อนำมาใช้คู่กันกับ TailwindCSS ผลลัพท์ที่เกิดขึ้นมานำไป deploy จริงทำให้เว็บของเราสามารถโหลดได้เร็วขึ้น เพราะขนาดของไฟล์ที่เล็กมากๆ

    • JS หลักจะอยู่ที่ประมาณ 178kb

    Stimulus Controllers

    • JS ที่ใช้สำหรับแสดงผลกราฟต่างๆ อยู่ที่ 474kb
    • CSS ของ tailwind ที่ผ่านการ purge มาจะอยู่ที่ 90kb

    ขนาดไฟล์ JavaScript และ CSS

  3. Rollup

    เมื่อไม่ใช้ Webpack เราได้เลือกใช้ Rollup ซึ่งเป็น Bundling Tool ที่ค่อนข้างใช้งานได้ง่ายกว่า ​Webpack อยู่พอสมควร และเราได้ทำการ customize Rollup เพิ่มเติมเล็กน้อยไว้คอยจัดการกับ chunk name เมื่อมีการเรียกใช้งานผ่าน dynamic import เพื่อให้ใช้งานร่วมกับ Sprocket ได้อีกด้วย

  4. Testing & CI

    การเขียนเทสเป็นสิ่งที่พยายามพลักดันมาตลอด แต่ด้วยปัจจัยเรื่องเวลาทำให้หลายต่อหลายโปรเจ็คต้องมาคอยเขียนเทสตามหลังอยู่เสมอ สำหรับในโปรเจ็คถือเป็นสิ่งที่แตกต่างในทางที่ดี เพราะว่าเรามีเทสเคสก่อนที่จะนำโปรแกรมไป deploy ใช้งานจริง และยังใช้ CI ของ Gitlab ในช่วยรันเทสให้เราอีกด้วย

    Test & Coverage

    Gitlab CI

    Badge

  5. Ansible

    อีกหนึ่ง automation ที่ได้รับความนิยมในท้องตลาด เราหยิบมาใช้ในการ deploy โปรเจ็ค เพื่อเพิ่มความรวดเร็วและสะดวกมากยิ่งขึ้น

ทีมพัฒนาภายใต้บริษัทโอเพน ซอร์ส เทคโนโลยี จำกัด

  • เอฟ (Developer)
  • นิค (Developer)
  • บอย (Data Analyst)
  • เกตุ (Tester)