สวัสดีครับ/ค่ะ ผม/ฉันสร้าง Uri Hakgyo Eottae ขึ้นมาเพราะอยากลดความยุ่งยากที่ต้องสลับไปมาระหว่างหลายเว็บไซต์และไฟล์ Excel เมื่อต้องค้นหาข้อมูลโรงเรียน

กระบวนการพัฒนาทั้งหมดดำเนินไปในรูปแบบ vibe coding ไม่ใช่โปรเจกต์ที่ให้ AI สร้างโค้ดครั้งเดียวแล้วจบ แต่เป็นการแบ่งความต้องการออกเป็นเอกสาร เปรียบเทียบผลลัพธ์การพัฒนากับข้อมูลจริง และแก้ไขข้อผิดพลาดซ้ำไปมา โดยเฉพาะข้อมูลโรงเรียน ผม/ฉันเห็นว่าการไม่เชื่อมโยงผิดไปยังโรงเรียนอื่นสำคัญกว่าหน้าจอที่ดูดี จึงใช้เวลามากที่สุดกับการจับคู่ข้อมูลและการตรวจสอบความถูกต้อง

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

โครงสร้างข้อมูล

  • ข้อมูลพื้นฐานของโรงเรียน
  • จำนวนชั้นเรียนและจำนวนนักเรียน
  • จำนวนครู
  • ข้อมูลการย้ายนักเรียน (ย้ายเข้า, ย้ายออก)
  • ชั่วโมงการอบรมด้านความปลอดภัย
  • ผลของคณะกรรมการพิจารณามาตรการรับมือความรุนแรงในโรงเรียน
  • ผลสัมฤทธิ์ทางการเรียนรายวิชา (สะท้อนเฉพาะคะแนนเฉลี่ย)

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

  • Next.js App Router, TypeScript, Tailwind CSS
  • Firebase Firestore และ Firebase Admin SDK
  • ดีพลอยบน Vercel และทำงานอัตโนมัติด้วย GitHub Actions
  • ไฟล์ search-index.json แบบสแตติกสำหรับการค้นหาในเบราว์เซอร์
  • JSON แบบสแตติกสำหรับหน้ารายละเอียดโรงเรียน อันดับ และเปรียบเทียบ
  • เก็บข้อมูลจาก NEIS·Hakgyo Alrimi และอัปเดตเฉพาะส่วนที่เปลี่ยนแปลงโดยอิง row_hash
  • เครื่องมือนำเข้าข้อมูลการเปิดเผยแบบแมนนวลที่ใช้ตรวจจับโครงสร้างตารางของไฟล์ XLS จาก Hakgyo Alrimi

ส่วนที่ยากกว่าที่คาดระหว่างการสร้าง

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

ไฟล์ XLS ของข้อมูลผลสัมฤทธิ์ทางการเรียนและข้อมูลความรุนแรงในโรงเรียนก็ไม่ได้มีตำแหน่งคอลัมน์ในตารางเหมือนกันทุกไฟล์ หากอ่านโดยตรึงหมายเลขคอลัมน์ตายตัว อาจได้ค่าที่ผิดแต่ดูเหมือนตัวเลขปกติ จึงเพิ่มขั้นตอนตรวจสอบโดยเช็กชื่อหัวตารางและส่วนหัวเพื่อแยกรูปแบบ และไม่สะท้อนค่าที่อยู่นอกช่วงที่กำหนด

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น