Skip to content

Feature 2: A student searches for tutors

Thanawat Lodkaew edited this page May 6, 2019 · 1 revision

✂️ Prototype

🚦 User Flow

  • ขั้นตอนที่ 1: ค้นหาตามชื่อและตัวกรองที่ได้กำหนดลงไป
  • ขั้นตอนที่ 2: เลือกติวเตอร์จากผลลัพธ์การค้นหาที่ปรากฏ
  • ขั้นตอนที่ 3: ติดต่อติวเตอร์เพื่อสอบถามข้อมูลเพิ่มเติม

⚡ Services

  • Search service
    • Database: Firebase real-time database
      • Pros:
        • รูปแบบข้อมูลที่ได้จากการ query สามารถนำไปใช้ต่อได้ง่าย
      • Cons:
        • เนื่องด้วยข้อจำกัดของ firebase การ search อาจทำได้ไม่มีประสิทธิภาพเท่าที่ควร
  • Tutor service
    • Database: Firebase real-time database
      • Pros:
        • หากติวเตอร์มีการอัพเดทข้อมูล ผู้เรียนสามารถเห็นข้อมูลที่เปลี่ยนแปลงได้ทันที
      • Cons:
        • หากข้อมูลของติวเตอร์มีขนาดใหญ่ จะทำให้เกิดความล่าช้า เนื่องจากต้องดึงข้อมูลทั้งหมดของติวเตอร์

📜 Detailed Actions

  • Action: ค้นหาตามชื่อและตัวกรองที่ได้กำหนดลงไป
    • Descriptive view

      • Input: ชื่อติวเตอร์, ตัวเลือกการกรองติวเตอร์
      • Output: ผลลัพธ์การค้นหา (ลิสต์ของติวเตอร์)
    • Technical view

Event Endpoint URL Service Request Response
Search GET /searchform/search Search Tutor Name, Tutor Tags List of Tutors

  • Action: เลือกติวเตอร์จากผลลัพธ์การค้นหาที่ปรากฏ
    • Descriptive view

      • Input: ติวเตอร์ที่ถูกเลือก
      • Output: โปรไฟล์ของติวเตอร์
    • Technical view

Event Endpoint URL Service Request Response
Get a selected tutor's information GET /tutor/:tutorid/information Tutor Tutor ID Tutor Profile

  • Action: ติดต่อติวเตอร์เพื่อสอบถามข้อมูลเพิ่มเติม
    • Descriptive view

      • Input: ช่องทางการติดต่อกับติวเตอร์
      • Output: ข้อมูลการติดต่อกับติวเตอร์ของช่องทางที่เลือก
    • Technical view

Event Endpoint URL Service Request Response
See tutor's contacts GET /tutor/:tutorid/information/contacts Tutor Contact Type Contact Information

  • Action: ยกเลิกการค้นหา

    There is no event.


  • Action: ย้อนกลับไปเลือกติวเตอร์คนอื่นจากผลลัพธ์
    • Descriptive view

      • Input: ชื่อติวเตอร์, ตัวเลือกการกรองติวเตอร์
      • Output: ผลลัพธ์การค้นหา (ลิสต์ของติวเตอร์)
    • Technical view

Event Endpoint URL Service Request Response
Search GET /searchform/search Search Tutor Name, Tutor Tags List of Tutors

  • Action: ยกเลิกการติดต่อกับติวเตอร์
    • Descriptive view

      • Input: ติวเตอร์ที่ถูกเลือก
      • Output: โปรไฟล์ของติวเตอร์
    • Technical view

Event Endpoint URL Service Request Response
Get a selected tutor's information GET /tutor/:tutorid/information Tutor Tutor ID Tutor Profile

Clone this wiki locally