n0uur / non-touch-roll-call

non-touch Roll-call | KMITL PSIT Project 2019

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

NON-TOUCH ROLL-CALL | KMITL PSIT 2019


รายละเอียด

โปรเจคสร้างขึ้นเนื่องจากมีปัญหาการเช็คชื่อในการเข้าห้องเรียนที่มีความล่าช้าหรือไม่สะดวก หรือมีช่องโหว่ให้นักศึกษาปลอมแปลงหรือเช็คชื่อแทนผู้อื่น พวกเราจึงจัดทำเว็บไซต์พร้อมกับโปรแกรมเช็คชื่อใช้คู่กับเครื่องอ่าน RFID สำหรับอ่านข้อมูลในบัตรนักศึกษาเพื่อยืนยันตัวตนในการลงชื่อเข้าห้องเรียน โดยตัวเว็บไซต์เป็นเว็บไซต์เขียนด้วยภาษา html, CSS และ JavaScript (VueJS Framework) สำหรับผู้สอนในการจัดการห้องเรียนทั้งการปรับสถานะห้องเรียน ดูรายชื่อนักศึกษา และดูสรุปห้องเรียน ในส่วนของโปรแกรมเขียนขึ้นด้วยภาษา Python 3 สำหรับรับข้อมูลจากเครื่องอ่าน RFID และส่งข้อมูลนักศึกษาเข้าระบบ API เพื่อลงทะเบียนเข้าห้องเรียน ส่วนของระบบ API และระบบหลังบ้านเพื่อจัดการฐานข้อมูลเขียนขึ้นด้วย Javascript โดยใช้ ExpressJS เป็น Framework และฐานข้อมูลใช้ฐานข้อมูลแบบ SQL (MariaDB) ในการจัดเก็บข้อมูลทั้งหมด


ประโยชน์ที่คาดว่าจะได้รับ

  • ได้ฝึกฝนทักษะและกระบวนการทำงานเป็นกลุ่ม
  • ฝึกหลักการแก้ปัญหา การคิดแบบขั้นตอนวิธี ผังงานแนวคิดและเกริ่นนำการเขียนโปรแกรมคอมพิวเตอร์
  • ฝึกการเขียนโปรแกรมด้วย ภาษา Python HTML CSS และ Javascript
  • เพื่อสร้างความเข้าใจความเป็นมาของเทคโนโลยี RFID NFC และการเชื่อมต่อกับ Web API เบื้องต้น
  • แก้ปัญหาการเช็คชื่อในห้องเรียนได้จริงและสามารถนำไปประยุกต์ใช้และต่อยอดได้จริง

ปัญหาและอุปสรรค

  • เครื่องอ่าน RFID ที่ซื้อมาไม่สามารถอ่านข้อมูลในบัตรทั้งหมดได้ อ่านได้เพียง 10 Bytes แรกจากบัตรเท่านั้น ทำให้ไม่สามารถแยกแยะตัวตนเจ้าของบัตรได้ แต่ก็ยังสามารถแยกบัตรแต่ละใบออกจากกันได้
  • สมาชิกภายในกลุ่มไม่สามารถใช้ Framework ที่ใช้ในการทำเว็บได้คล่อง
  • สมาชิกภายในกลุ่มมองภาพรวมของงานไม่ออก ทำให้บางครั้งงานออกมาไม่ตรงตามที่บางแผนไว้
  • มีสมาชิกถอนวิชาเรียนทำให้แผนงานที่กระจายไว้ตอนแรกใช้ไม่ได้ ทำให้งานไปตกอยู่ที่คนใดคนหนึ่งมากเกินไป

ข้อเสนอแนะ

  • ตัวเว็บไซต์สามารถนำไปพัฒนาต่อยอดแล้วใช้งานได้จริงได้
  • ประสิทธิภาพโดยรวมของระบบสามารถทำงานได้ดี แต่ต้องปรับแต่งส่วนหนึ่งหากนำไปใช้งานในระบบที่ใหญ่
  • Websocket ในระบบ API ยังไม่รองรับ SSL ทำให้มีปัญหาด้านความปลอดภัยอยู่ส่วนหนึ่ง

เครื่องมือที่จะใช้ในการทำ

  • Python 3.7
  • NodeJS
    • VueJS
    • ExpressJS
    • WebSocket
  • NFC
  • Database (SQL)
    • MariaDB

เครื่องอ่าน NFC ที่เราใช้

NFC_READER


อ้างอิง


วิดิโอนำเสนอโปรเจค

IMAGE ALT TEXT HERE


รูปภาพตัวอย่าง

ภาพหน้ารวมห้องเรียน

ภาพตัวอย่างหน้ารวมห้องเรียน

ภาพหน้าลงทะเบียน

ลงทะเบียน

ภาพหน้าสร้างห้องเรียน

สร้างห้อง

ภาพหน้าห้องเรียน

ห้องเรียน

ภาพหน้าสรุปห้องเรียน

สรุป

ภาพตัวอย่างไฟล์ที่ดาวน์โหลดผลสรุปเป็น Excel

exel


ผู้พัฒนา

รหัสนักศึกษา ชื่อ - นามสกุล Github หน้าที่ หมายเหตุ
62070002 นายกฤตณัฏฐ์ ศิริพรนพคุณ n0uur เขียนเว็บไซต์, ระบบ API และระบบฐานข้อมูล -
62070016 นายกิตติภัค พนารินทร์ hikariz01 ออกแบบและเขียนเว็บไซต์ -
62070026 นายจักรกฤษณ์ สายแฉ่ง boatlittlebear ระบบแสกนบัตรเข้าเชื่อมต่อ API -
62070091 นายธัชวุฒิ วิจิตรบรรจง FuMiRiO ออกแบบและเขียนเว็บไซต์ -
62070117 นายปวเรศ นุตาคม MeKing999 - ถอนวิชาเรียน

About

non-touch Roll-call | KMITL PSIT Project 2019


Languages

Language:HTML 48.5%Language:CSS 32.3%Language:JavaScript 16.8%Language:Vue 2.2%Language:Python 0.1%