แบบทดสอบด่วนตาม Serverless
มันขึ้นอยู่กับ HTML, CSS และ JavaScript คำถามมีตัวจับเวลาหน้าต่าง 20 วินาทีหลังจากนั้นคำถามถัดไปจะโหลดโดยอัตโนมัติ
แบ็กเอนด์ทั้งหมดถูกสร้างขึ้นบนเทคโนโลยีที่ไม่มีเซิร์ฟเวอร์: AWS Lambda มีฟังก์ชั่นแลมบ์ดาสามฟังก์ชั่น:
แอปพลิเคชันใช้สองตาราง:
เครื่องถ่ายภาพ | ชื่อผู้ใช้ | แบบสอบถาม |
---|---|---|
9999999999 | ซรูชิ ธ | 5 |
8888888888 | การฟาดฟัน | 8 |
7777777777 | Ashvini | 7 |
เครื่องถ่ายภาพ | ชื่อผู้ใช้ | แบบสอบถาม | คำตอบ | timetaken (s) |
---|---|---|---|---|
9999999999 | ซรูชิ ธ | 5 | 4 | 15 |
8888888888 | การฟาดฟัน | 8 | 2 | 8 |
7777777777 | Ashvini | 7 | 1 | 11 |
แบบทดสอบเริ่มต้นจากหน้าลงทะเบียน (index.html) ที่นี่ผู้เล่นสามารถกรอกข้อมูลได้เช่นชื่อและหมายเลขโทรศัพท์
รูปที่ 1: หน้าลงทะเบียน
เมื่อผู้ใช้คลิกที่ปุ่ม 'ลงทะเบียน' ลงทะเบียน _check แลมบ์ดาเรียกว่าตรวจสอบตารางการลงทะเบียน _info สำหรับรายการก่อนหน้านี้ในหมายเลขโทรศัพท์เดียวกัน หากพบให้ส่งคืนค่าของแบบสอบถามสำหรับ phonenumber นั้นและหากไม่ส่งคืนศูนย์ (0) เมื่อได้รับค่าที่ไม่เป็นศูนย์คำถาม 'ค่า+1' จะปรากฏขึ้นเพื่อกลับมาใช้เซสชันก่อนหน้า หากเป็นศูนย์ได้รับการตอบคำถามเริ่มต้นจากจุดเริ่มต้น
รูปที่ 2: หน้าคำถาม
รูปที่ 2 แสดงหน้าคำถามตัวอย่างที่ผู้ใช้สามารถเลือกตัวเลือกสี่ตัวเลือกและคลิกที่ส่งเพื่อส่งคำตอบ เมื่อผู้ใช้คลิกที่ปุ่ม 'ส่ง' ฟังก์ชัน Update_DB Lambda จะถูกเรียกด้วย 'หมายเลขโทรศัพท์', 'ชื่อผู้ใช้', 'คำถาม', 'คำตอบ', 'เวลา' เป็นพารามิเตอร์ ฟังก์ชั่นแลมบ์ดานี้ verfies สำหรับคำตอบและการอัปเดต
ที่นี่ขั้นตอนการตรวจสอบสำหรับเกมเกิดขึ้นเพียงอย่างเดียวเมื่อคำตอบถูกต้องรายการจะถูกสร้างขึ้นสำหรับผู้ใช้ในฐานข้อมูลพร้อมกับเวลาหมายเลขคำถามและชื่อของผู้เล่น
สำหรับกรณีการใช้งานของเราเราได้ใช้ MySQL เป็นฐานข้อมูลบน RDS (ฐานข้อมูลเชิงสัมพันธ์) คุณสามารถตรวจสอบข้อมูลเพิ่มเติมได้ที่นี่
หมายเหตุ: ในกรณีที่ปัญหาด้านความปลอดภัยใด ๆ โปรดตรวจสอบให้แน่ใจว่าได้ตรวจสอบกลุ่มความปลอดภัยที่จัดสรรด้วยฐานข้อมูล RDS
ประกอบด้วยขั้นตอนต่อไปนี้:
หมายเหตุ: อย่าลืมเปิดใช้งานการกำหนดค่า CORS สำหรับถัง S3 อ้างถึงโพสต์นี้สำหรับคำแนะนำ
ใบอนุญาต MIT