https://election.voicetv.co.th/
- ใช้ dev 2 คน manager 1 คน สำหรับทั้งโปรเจค (มีกันอยู่แค่นี้)
- ใช้ dev ทำ UX/UI ด้วย
- ใช้ dev design และ deploy infrastructure ด้วย
- ใช้ manager ให้คุยกับมนุษย์ทั้งหมด dev ไม่คุย วุ่นวาย
- ใช้ manager ทำ master data ข้อมูลเขตเลือกตั้งด้วย
- เป็นการทำการรายงานผลครั้งที่ 3 ของทีม ก่อนหน้านี้ทำ เลือกตั้ง 54 และ ประชามติมาแล้ว
- ใช้ GKE สำหรับ frontend สำหรับรัน SPA และ SSR
- ใช้ Nuxt.js สำหรับ frontend
- ใช้ typescript สำหรับ backend
- ใช้ Firebase Cloud Firestore สำหรับเป็นฐานข้อมูลคะแนนทั้งหมด โชคดีจริงๆที่ GA ก่อน
- ใช้ Rancher สำหรับทำ k8s cluster ใน office (มี cluster เหลืออยู่ 96 cores, ram 256Gb)
- สร้าง fetcher สำหรับดึง raw data จาก dttpool
- ใช้ redis เป็น queue ใช้ mongodb เป็นฐานข้อมูล raw data
- สร้าง pusher สำหรับคำนวน และส่งข้อมูลเข้า Firebase Cloud Firestore
- วันจริงมี scale pusher ไป 100 pods fetcher อีก 30 pods เนื่องจากเราแยก process ตามเขตเลือกตั้ง และตามจังหวัด รันทุก 2 นาที
- ใช้ jenkins มาทำ CD เพื่อลดงานของ dev
- ใช้ sentry มาทำ error tracking เพื่อแก้ปัญหาได้อย่างรวดเร็ว
- ใช้ graylogs เก็บ error logs ในฝั่ง pusher/fetcher
- ใช้ lib คำนวน partylist จากทีม Cleverse กราบขอบพระคุณเป็นอย่างสูง ลดเวลาไปได้เยอะ (https://github.com/Cleverse/thailand-party-list-calculator)
- โดนใช้ไปทำ CG ขึ้นหน้าจอ TV ด้วย ก่อนวันเลือกตั้ง 2 วัน (ไม่อยู่ใน diagram)
- ใช้ Nuxt.js สำหรับทำ HTML CG ดึงข้อมูลจาก API ที่เขียนมาเฉพาะ
- ใช้ pupeteer ทำ snapshot ให้ครบ 350 เขต เพื่อที่นำไปใช้ทำ lowerthird
- ใช้ OBS สำหรับรัน screen ส่งไป studio ผ่านทางสาย SDI
- ใช้ HTML + Firestore สำหรับทำ screen เรื่องจำนวนที่นั่งขึ้นบนจอ โดยให้ทีมงานในสตู remote เปลี่ยนค่าได้
- ใช้เงินสำหรับค่า GCP (ขึ้นพันดอลล์แน่นอน)
- ใช้ท็อฟฟี่ให้โปรโมทออนไลน์ให้
- ใช้พลังงานของปีนี้หมดแล้ว -_-
ปล. นึกอะไรออกจะเขียนเพิ่มเรื่อยๆ
https://web.facebook.com/photo.php?fbid=10156222565948106&set=a.336387198105&type=1&theater