Image from @dhanavadh

4 minutes Reading

Artsgoz Backend Server – พรีวิว

บทความนี้จะพาดูเทคโนโลยีที่ใช้ในการสร้างระบบหลังบ้านของเว็บ artsgoz พร้อมพาดู drawback ของการสร้าง backend server ด้วย free service

สวัสดีครับ จากบทความ สำรวจหน้าบ้านของเว็บไซต์ Artsgoz ที่ผมได้พูดคร่าว ๆ เกี่ยวกับระบบหลังบ้านของเว็บไซต์กอศ หรือ artsgoz วันนี้ผมจะพามาพรีวิวระบบหลังบ้านให้ดูกันครับ

เทคโนโลยีที่ใช้งาน

เทคโนโลยีที่ใช้หลัก ๆ คือ Express.js สำหรับสร้าง route ไว้ยิง API, MongDB เป็นตัวเก็บพวก non-relational document database และ AWS S3 เป็น cloud storage ไว้เก็บพวก static file เช่น รูปภาพ ประมาณนี้ครับ ส่วนระบบ Auth ใช้ jsonwebtoken กับ firebase เป็นตัวเข้าสู่ระบบโดยใช้บัญชีกูเกิลครับ

MongoDB/AWS S3

Schema

พูดถึงเรื่องการกำหนด schema ให้กับฐานข้อมูลของเรา คือว่าเราจะเก็บข้อมูลอะไรบ้าง

อย่างในโปรเจคนี้ผมมี schema อยู่ 6 อัน โดยที่แบ่งเป็น user, staff, notification, comment, blog, และ ajarn ครับ โดยตัว schema อาจารย์จะไม่ได้มีการยิง API ผ่านเว็บหน้าบ้านได้ ส่วนนี้ผมทำ docs ให้คนหลังบ้านยิง API เข้าโดยตรงเลยครับ

ตัวอย่าง Schema ของ Ajarn

การที่ผมจะเก็บข้อมูลจำเป็นต้องมีอะไรบ้าง ผมก็ได้กำหนดไว้ว่าต้องมี ชื่อเต็ม ชื่อย่อ แผนก ไบโอ และตั้ง default profile image ไว้ให้เรียบร้อยแล้วครับ สามารถดูโค้ดฉบับเต็มได้ที่นี่

Deploy Backend Server

ตัว backend server ที่เราได้สร้างไว้ถูก deploy บนเว็บที่ให้บริการเจ้าหนึ่ง ซึ่งสารมารถใช้ได้ฟรีครับ แต่จะมีข้อเสียคือจะช้า หากไม่มีใครเข้าใช้งานเว็บระยะเวลาหนึ่ง ตัว server ก็จะ shut down ตัวเองลงครับ ถ้ามีคนเข้ามาค่อยรันใหม่ อันนี้ถือเป็น drawback ของการใช้ free service ครับ

อย่างไรก็ดี ในปี 2025 มีแพลนว่าจะย้ายตัว service ไปใช้ของ Azure ครับ แต่อาจจะต้องรอดูทางคณะกรรมการอีกทีว่าจะมีแนวทางจัดการอย่างไรครับ

Crafted by

writer-img

Dhanavadh Saito

@dhanavadh

Reference