Feature 1: A student posts for finding tutor - Skydddoogg/soa2019_group2 GitHub Wiki

:scissors: Prototype

:vertical_traffic_light: User Flow

  • ขั้นตอนที่ 1: ไปที่หน้าสร้างประกาศหาติวเตอร์
  • ขั้นตอนที่ 2: กรอกฟอร์มสำหรับประกาศหาติวเตอร์
  • ขั้นตอนที่ 3: โพสต์ประกาศ
  • ขั้นตอนที่ 4: ยืนยันโพสต์
  • ขั้นตอนที่ 5: หลังจากโพสต์ประกาศเสร็จแล้วจะกลับสู่หน้าหลัก

:zap: Services

  • Post service
    • Database: MongoDB
      • Pros:
        • หากมีการแก้ไขโพสต์ จะทำให้คนที่กำลังดูเห็นความเปลี่ยนแปลงทันที
        • หากมีการรับงานสอนไปแล้ว ความที่เป็น real-time จะทำให้ไม่เกิดการรับงานซ้ำ (การกดแบบฟอร์มซ้ำ ยกตัวอย่างเช่น การจองตั๋วหนัง)
      • Cons:
        • รูปแบบข้อมูลของการโพสต์ไม่เหมาะกับการเก็บแบบ JSON

:scroll: Detailed Actions

  • Action: โพสต์ประกาศ

    • Descriptive view

      • Input: ข้อมูลประกาศ
      • Output: กล่องข้อความแจ้งยืนยันการโพสต์ประกาศ
    • Technical view

Event Endpoint URL Service Request Response
Post information POST /create Post service ข้อมูลประกาศ ข้อมูลประกาศ

  • Action: ยืนยันการสร้างประกาศ

    • Descriptive view

      • Input: ผู้เรียนที่ทำการเข้าสู่ระบบแล้ว
      • Output: ข้อมูลอีเมลและสถานะของผู้ใช้ (ผู้เรียน, ผู้สอน)
    • Technical view

Event Endpoint URL Service Request Response
Post a finding statement POST /findingtutorform/:postid/post Posting Post ID Success/Fail message
Get user's emain and status GET /student/:studentid/information Student Student ID ข้อมูลอีเมลและสถานะ

  • Action: กลับไปแก้ไขรายละเอียดประกาศ

    • Descriptive view

      • Input: ผู้เรียนที่ทำการเข้าสู่ระบบแล้ว
      • Output: ฟอร์มกรอกข้อมูลสำหรับการสร้างประกาศหาติวเตอร์
    • Technical view

Event Endpoint URL Service Request Response
Get tutor-finding form GET /findingtutorform Finding Post - -
Get finding information GET /findingtutorform/:postid/information Finding Post Post ID ข้อมูลประกาศ

  • Action: ยกเลิกการสร้างประกาศ

    • Descriptive view

      • Input: ผู้เรียนที่ทำการเข้าสู่ระบบแล้ว
      • Output: ข้อมูลอีเมลและสถานะของผู้ใช้ (ผู้เรียน, ผู้สอน)
    • Technical view

Event Endpoint URL Service Request Response
Get user's emain and status GET /student/:studentid/information Student Student ID ข้อมูลอีเมลและสถานะ