-
Notifications
You must be signed in to change notification settings - Fork 3
Feature 3: A student review tutor
Thanawat Lodkaew edited this page May 6, 2019
·
1 revision

- ขั้นตอนที่ 1: ค้นหาผู้สอน
- ขั้นตอนที่ 2: เข้าไปยังหน้าโปลไฟล์ของผู้สอน
- ขั้นตอนที่ 3: กรอกข้อมูลรีวิว
- ขั้นตอนที่ 4: ยืนยันการรีวิว
-
Tutor service-
Database: Firebase real-time database
- Pros:
- เนื่องจากเป็น NoSQL ทำให้ประหยัด Query ไม่ต้อง join ข้อมูลหลาย table เราสามารถดึงออกมาเป็นก้อน object ผ่าน class model
- หากติวเตอร์มีการอัพเดทข้อมูลจะทำให้ผู้เรียนสามารถเห็นข้อมูลที่เปลี่ยนแปลงได้ทันที เช่น เวลาที่สะดวกสอน
- Cons:
- firebase ต้องดึงข้อมูลติวเตอร์ทั้งหมด จึงทำให้เกิดความล่าช้าเนื่องจากข้อมูลมีขนาดใหญ่
- Pros:
-
Database: Firebase real-time database
-
Tutor Search service-
Database: Firebase real-time database
- Pros:
- สามารถดึง object ของติวเตอร์โดยเป็น class model ทำให้สามารถดึงข้อมูลมาทีเดียว แล้วค่อยทำไปใช้ในหน้าดูข้อมูลติวเตอร์ได้
- Cons:
- ไม่จำเป็นต้องใช้ความเร็วขนาด real-time
- Pros:
-
Database: Firebase real-time database
-
Tutor Review service-
Database: Firebase real-time database
- Pros:
- ทำให้ผู้ใช้ที่อยู่ในหน้าดูโปรไฟล์ติวเตอร์ สามารถเห็นรีวิวแบบ real-time
- Cons:
- firebase ต้องดึงข้อมูลรีวิวทั้งหมด จึงทำให้เกิดความล่าช้าเนื่องจากข้อมูลมีขนาดใหญ่
- Pros:
-
Database: Firebase real-time database
-
Review Posting service-
Database: Firebase real-time database
- Pros:
- เมื่อผู้ใช้ทำการโพสต์รีวิว จะทำให้ข้อมูลฝั่งผู้ใช้ที่กำลังดูโพสต์มีการอัพเดตทันที
- Cons:
- รูปแบบข้อมูลของการรีวิวไม่เหมาะกับการเก็บแบบ JSON
- Pros:
-
Database: Firebase real-time database
-
Action: ค้นหาผู้สอน
-
Descriptive view
-
Input: ตัวเลือกการกรองลิสต์ผู้สอน -
Output: ผลลัพธ์การค้นหา (ลิสต์ผู้สอน)
-
-
Technical view
-
| Event | Endpoint URL | Service | Request | Response |
|---|---|---|---|---|
| Search for tutor | GET /searchtutor |
Tutor Search | Tutor Tags | รายชื่อติวเตอร์ตาม Tags |
- Action: ไปยังหน้าโปรไฟล์ของติวเตอร์
-
Action: ค้นหาผู้สอน
-
Descriptive view
-
Input: ติวเตอร์ที่ถูกเลือก -
Output: โปรไฟล์ของติวเตอร์
-
-
Technical view
-
| Event | Endpoint URL | Service | Request | Response |
|---|---|---|---|---|
| Get tutor's information | GET /tutor/:tutorid |
Tutor | Tutor ID | ข้อมูลติวเตอร์ |
| Get all review messages for tutor | GET /tutor/:tutorid/reviews |
Tutor Review | Tutor ID | comments ที่ติวเตอร์ได้รับมา |
- Action: เขียนรีวิวให้ผู้สอน
There is no event
-
Action: ยืนยันการรีวิว
-
Descriptive view
-
Input: - -
Output: โปรไฟล์ของติวเตอร์ที่ถูกเลือกมาแล้ว
-
-
Technical view
-
| Event | Endpoint URL | Service | Request | Response |
|---|---|---|---|---|
| Post a review message to tutor | POST /review/:reviewid/post |
Review Posting | Review ID | Success/Fail message |
| Get tutor's information | GET /tutor/:tutorid |
Tutor | Tutor ID | ข้อมูลติวเตอร์ |
| Get all review messages for tutor | GET /tutor/:turtorid/reviews |
Tutor Review | Tutor ID | comments ที่ติวเตอร์ได้รับมา |