1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khóa luận tốt nghiệp Công nghệ phần mềm: Xây dựng ứng dụng quản lý khóa học trực tuyến

143 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây dựng hệ thống quản lý khóa học trực tuyến
Tác giả Bùi Thiện Nhân, Nguyen Yen Nhi
Người hướng dẫn Nguyễn Trịnh Đông
Trường học Trường Đại học Công nghệ Thông tin - Đại học Quốc gia Thành phố Hồ Chí Minh
Chuyên ngành Công nghệ phần mềm
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2023
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 143
Dung lượng 77,42 MB

Nội dung

Với sự gia tăng đáng kể về nhu cầu học tập từ xa và tìm kiếm kiến thức trực tuyến, tích hợp một hệ thong quản lý khoá học trực tuyến sẽ dem lại nhiều ưu điểm cho cả tổ chức giáo dục va n

Trang 1

ĐẠI HỌC QUỐC GIA TP HÒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KY SU/ CU NHAN NGANH CONG NGHE PHAN MEM

GIANG VIEN HUONG DAN NGUYEN TRINH DONG

TP HO CHÍ MINH, 2023

Trang 2

LỜI CẢM ƠN

Đầu tiên, cho nhóm chúng em xin dành lời cảm ơn chân thành đến tat cả các giáo viên

và giảng viên của Trường Đại học Công nghệ Thông tin — Đại học Quốc gia Thành phố Hồ Chí Minh nói chung và của Khoa Công nghệ Phần mềm nói riêng, vì đã hướng dẫn và hỗ trợ

chúng em trong suốt quãng thời gian học tập tại trường, giúp chúng tôi có được những kiến thức quý báu và xây dựng nền tảng cho việc thực hiện khoá luận tốt nghiệp.

Tiếp theo, chúng em muốn xin lời cảm ơn trực tiếp đến thầy Nguyễn Trịnh Đông, là

giảng viên hướng dẫn trực tiếp đến nhóm Những lời tư vấn, góp ý và hướng dẫn tận tính

của thay là những điều quý báu giúp nhóm xuyên suốt thời gian thực hiện dé tài Nhờ sự hỗ

trợ và đồng hành của thầy, chúng em đã có thể hoàn thành luận án này một cách suôn sẻ.

rong quá trình thực hiện luận án, chúng em đã áp dụng những kiến thức nền tảng đã học và tích lũy được, đồng thời kết hợp với những kiến thức mới trong quá trình tìm hiểu và

thực hiện Tuy nhiên, do kiến thức và kinh nghiệm của nhóm còn hạn chế, gặp khó khăn ở

từng giai đoạn, dẫn đến có thể xuất hiện các sai sót Vì vậy, chúng em mong nhận được những lời góp ý, ý kiến quý báu từ quý thầy cô đề hỗ trợ và cải thiện bài báo cáo của chúng em.

Một lân nữa nhóm chúng em xin chân thành gửi lời cảm ơn sâu sắc.

TP Hỏ Chí Minh, ngày tháng 7 năm 2023

Sinh viên

BÙI THIỆN NHÂN NGUYEN YEN NHI

Trang 4

1.3 Phạm vi nghiên cứu và ưu nhược GUGM voce eeccccecsesecsesecsesecsesecseseceesecsesecaneeees 19

1.4 Chite nang áo — 5 20 1.5 Công nghệ sử dụng - G11 HH HH nếp 21

1.6 Cấu trúc khoá luận: :-cc+++tceEktrtttrrkrrrrtrrtrrrrrtrrirrrrrirrrrrk 22

I.7 Thong tin nhốm - - + E1 1E991 1991 199111991 11 ng nếp 24

CHƯƠNG 2 CƠ SỞ LÝ THUYÉT s«°°eeseeesrvveeseeree 25

2.1 Learning Management System (Hệ thong quản lý hoc tập) 25

2.1.1 Giới thiệu chung về LMS — Hệ thông Quản lý Học tập 252.1.2 Các thành phan Cau tạO -2¿5£+522EE££E+£E£E£EE+EEeEkerkerkrrreres 262.1.3 Mô hình triển khai và quản lý LMS 2- 2 252 s£s+£szzzzsee: 28

2.1.3.1 Mô hình triển khai truyền thống -¿-2©5++cxz+zeecsze 282.1.3.2 Mô hình triển khai dựa trên đám mây, -2- 2-5 52555: 292.1.3.3 Quản lý và bảo trì hệ thống LMS ©22©22+c<+ccczxcrxcceee 302.1.3.4 Các thách thức và giải pháp trong việc triển khai và quản lý LMS 30

2.1.4 Tích hợp và mở rộng LMS - -c CS Sky 31

2.1.4.1 Tích hợp hệ thống LMS - ¿52 2+2E+EEtEECEEEEEeEEerkerkerrrres 31

2.1.4.2 Mở rộng tính năng LMS - - Ăn ngư 31

2.1.5.1 Tầm quan trong và sự phát triển của LMS trong tương lai 322.1.5.2 Các xu hướng và dự đoán về LMS -¿©-scs++cxccsscres 33

2.2 PRU n — AOdÂẨ^ÂẨẰ.L)L 33 2.3 ÌNGS(ĨS L LH HH HH ng ưy 34 2.4 Web Socket, Socket(.]O - c2 1111119931111 111kg xen 35

PS NN ,/uavaao 3Ầ3ẦẴẨÂ 36 2.6 Firebase SfOTaỹe HH HT TH TH HT TH Hà HH trệt 38 2.7 MongoDB eeeeceeeceeeeeeceeeeaeeeaeceaecaeseesseesseeeasseaeseeeeeeeags 39

2.8 Tích hợp công thanh toán VNPAYY ¿ 2¿©2++2+22ExtEESEESrxerkrerkerred 40

2.8.1 Sơ đồ tuần tự ceiritrrrrrirrririrrirrirrried 40

2.8.2 0-110ìsãï(i8i0 01117 42 2.9 Search engine by Google APÌL - + c kxkvv ng ng ng rệt 44

CHUONG 3 RECOMMENDATION SYSTEM CHO TÍNH NĂNG DE

XUAT KHOA HỌC DUA TREN COLLABORATIVE FILTERING 46

3.1 _ Giới thiệu về Recommendation System va Collaborative Filtering 46

Trang 5

3.1.1 Khái niệm về Recommendation System . -s¿©2 5+5: 47

3.1.2 Collaborative Filtering va vai trò trong Recommendation System 47

3.1.3 Ưu điểm va han chế của Collaborative Filtering - 48

3.2 Cơ sở lý thuyết về Collaborative Filtering .: -¿c-«©-++-s+¿ 48 3.2.1 Đánh giá và xếp hang trong hệ thống đánh giá người dùng 48

3.2.1.1 Hình thức đánh giá người dùng - - 5+ ++<s+ssseexseeeeresee 49 3.2.1.2 Xếp hạng và mức độ quan trỌng - 2 s+s+x+zsz+xz+xzrxeex 49 3.2.1.3 Xử lý dữ liệu đánh giá - - SĂ St S si ggrey 49 3.2.2 Phân loại Collaborative EIÏt€TInE -. - csnsg set 49 3.2.2.1 User-Based Collaborative FIltering - -«++-x+sx+eexsess 50 3.2.2.2 Item-Based Collaborative Filtering -+-s<c+sscesseees 50 3.3 _ Cách thức hoạt động của Collaborative Filtering -«<-s++ 50 3.3.1 _ Xây dựng ma trận đánh giá người dùng - 7-5 +5- << +2 50 3.3.2 Tính toán sự tương đồng giữa các khoá MOC ecescescessessesseessessesseeseeseses 52 3.3.3 Dự đoán xếp hang cho khoá hoc chưa xem/khám phá 55

3.4 Đánh giá và cải tiến Recommendation System -2- 5 52522522 57 3.4.1 Đánh giá hiệu suất và chất lượng của Recommendation System 58

3.4.2 _ Cải tiến và tối ưu hóa hệ thong oo cece ees ceseeseeseessessesseesesesseeneens 58 3.5 Ứng dụng của Recommendation System trong tính năng dé xuất khoá học 59 3.5.1 _ Thiết kế giao điện đề xuất khoá học -¿2z+s+zxzxezxzes 59 3.5.2 Quy trình đề xuất khoá học - -+-+++++++k+EzEkzrxerxerkerreres 60 3.5.2.1 Xác định người dùng đang xem/khám phá khoá học 60

3.5.2.2 Tìm kiếm những người dùng có sở thích tương tự - - 61

3.5.2.3 Đề xuất khoá hoc dựa trên sự tương đồng của người dùng 61

3.6 Ưu điểm và thách thức của Recommendation System trong LMS 61

3.6.1 Ưu điểm của Recommendation System -. 2 s+sz+sz+x+zs+cs2 61 3.6.2 _ Thách thức và giải phấp - - 6 + ng ng rưy 62 3.7 _ Tổng kết và Tầm nhìn về Recommendation System trong LMS 62

3.8 Tầm nhìn và phát triển tương lai của Recommendation System trong LMS: 62 CHUONG 4 PHAN TÍCH VÀ THIET KE HỆ THÓNG - 64

AL Phân tích yêu cầu - 2+ ++E++E++EE#EEEEEEEEEEEEEEEEEEEEEEEErkrrrrrrrkee 64 4.2 _ Kiến trúc tổng quan -¿- - + k+SE+EE+EEEEEEEEEEEEEEE2E2171 E121 cyeeg 67 4.2.1 Mô hình kiến trúc -cct+ccxtrrrkttrrrtrrrrrrrrtrttrrrrriirerriee 67 4.2.2 Các thành phan Chinh c.ccccscccscsssesssessesseesseessessecssecsesssecssessesssecseesecs 67 4.2.3 Clean Architecture 101777 68

4.3 _ Thiết kế hệ thong oo eecceccecccceccsessecsesssessessessessessussssssessessessussesseessessessesssseeeses 72 4.3.1 J0 ‹ -1 72

4.3.2 Danh sách các IS€-CASG - G1911 TH TH HH ng ngư 73

4.3.3 DAC tả US€-CAS€ - 000011110011 HT ngư 75

4.3.3.1 Use-case “Đăng nhập”” ch HH ng 75

Trang 6

4.3.3.2 Use-case “Đăng kỹ” HH HH TH HH HH HH, 76

4.3.3.3 Use-case “Đăng Xuất” cc 2k v22 2112211211111 78

4.3.3.4 Use-case “Xác thực ermalÏ”” - << + + v31 1193 1 1119 111 sec 79

4.3.3.5 Use-case “Quên mật khẩẩu”” c2 x21122127171211211 2111111 re 79

4.3.3.6 Use-case “Xem danh sách khóa học”” -+-<«s++++<<x+++eexs+s 80

4.3.3.7 Use-case “Xem chi tiết khóa hoc” csseccssessssecessesesseseseesessecevseeesseceveees 81

4.3.3.8 Use-case “Tham gia khóa hoc” eeceeceesceeseeeeeeeseeeeeeeeeeeeeseesneeseeees 82 4.3.3.9 Use-case “Binh luận khóa hoc” ou cece cccesecceesssecceesseecessseeeessseeeeeaes 84 4.3.3.10 Use-case “Đánh giá khóa hoc” 0 ee eeeeseeseeeeeeeeeeeeeseeeeeeeeseeeseeees 85

4.3.3.11 Use-case “Nâng cấp tài khoản” c+cs+cxsrterkerrerrsrsrred 874.3.3.12 Use-case “Làm bài kiỂm tra” ccsccesccsssessesssesssesseessessessecsseesesesecsees 88

4.3.3.13 Use-case “Tham gia Livestream” cecceeeeeseeeceeeeeeeeeeteeeseeeneees 89 4.3.3.14 | Use-case “Tuong tac với người dùng khác” -« -<++s+ 90 4.3.3.15 Use-case “Đánh giá giang VIÊH” - S-csScx + ssiesrrreeeereske 9]

4.3.3.16 Use-case Cập nhật hồ sơ 2- 2 2+E+EE+EE2EE2EE2EEeEErrkerrerree 924.3.3.17 Use-case “Bắt đầu livestream'” -+ce+cksrkerkerrerrersrred 93

4.3.3.18 Use-case “Thém mới khóa họC”” +22 sx << £++£++zseeeeess 93 4.3.3.19 Use-case “Chỉnh sửa khóa họC” - - 55 <s + +2 s+++zeeeeszsee 96 4.3.3.20 Use-case “Xóa khóa hỌC”” -c 111112111 sgk 98

4.3.3.21 Use-case “Tạo mới bài kiỂm tTa” -s©s + k+k+EeEeEkekerererkeesre 99

4.3.3.22 Use-case “Cập nhật bài kiểm tra” - + c+c+E+E+rserxeei 1004.3.3.23 Use-case “Xóa bài kiểm tra” -¿-cc+cscckccEcrrreerserkeee 1014.4 Thiết kế đữ liệu ctìccSeetrrrirrrirtrrrirrrrrirrrrrrio 103

4.4.2 Mô tả chỉ tiết bảng dữ liệu - 2-5255 E+EE+E2EczEerkerkererreee 104

4.4.2.1 Bảng “S€T” Ă HH HH HH key 104 4.4.2.2 Bảng “COUTS€” Gv 105 4.4.2.3, son 106 4.4.2.4 Bảng “L©SSOTI” SH HH net 106 4.4.2.5 Bảng “EXaTm” HH HH ket 107

“U90 on 107

“HN nh 108 4.4.2.8 Bảng “COmTm€TIỂ” G5 S111 kg vn rey 108 4.4.2.9 Bảng “Raf€” HH HH TH HH HH TH HH gà 108 4.4.2.10 Bang “HISfOTYy” HH HH ng HH Hệ 109 4.4.2.11 Bang “RecenfCOUTS€” HH nkey 109

4.5 Thiet kế giao diện -:- ccc St EEE211212121711112112111 1111 c0 110

4.5.1 Danh sách màn hình - - 5 5E E33 111 EEEEikresrerereereeee 110

4.5.2 Chi tiết màn hình 2- 2c ©5c+5++EE2EE£EEEEEtEEvErrrrrrerrervees 112

4.5.2.1 Màn hình “Signln”” - xxx HH HH nh nrkt 112 4.5.2.2 Man hinh 0 114 4.5.2.3 Màn hình “ForgotPasswWOrdÌ” -ccc cty ey 115

Trang 7

4.5.2.4 Man hinh so ae 119 4.5.2.5 Man hinh “Search ccc 5 121 4.5.2.6 Màn hình “TeacherDetail” 0.0 ce eeceeeeeceeeececeeeeeeeeeeeeeaeeeneeeees 123 4.5.2.7 Màn hình “CourseDetail” 0 ce eeeeccesccececececeeeceeeeseeeseeeaeeeneesees 124 4.5.2.8 Màn hình “LessonDetail” 0 eee eeceescceseeeececeeeeeeeeeeeeeaeeeneeeees 128 4.5.2.9 Màn hình “Livestream”? 0.0.0.2 cccecceeseesseeseceseceseceeeceeeeeeeeeeeaeeeneenees 129 4.5.2.10 Man hình “EnrolledCourse” cccecccesceeseeececeeeeseeeeeeeeeeseeeees 130 4.5.2.11 Man hình “Profile” ececeescesceseeseeeececeeseeseeeeaeeeeeeeseeeeaeeaeens 131 4.5.2.12 Man hình “UpdateProfile” - á- 5kg 133 4.5.2.13 Man hình “UpgradeAccOUif” - «cssxsssessessesserske 134 4.5.2.14 Man hình “NOtIẨicatiOnÏ”” án HH ng nưkt 135 4.5.2.15 Man hình “LangUage€”” - -ccsc kg gnrey 136 4.5.2.16 Man hình “PrivacyPOlICY” cty 137 4.5.2.17 Man hình “HelpCeniter” 2s cv rưkp 138 4.5.2.18 Man hình “UploadedCOUTS€S” - 55c sS<ssrssersserrsrrs 140 4.5.2.19 Màn hình “CreateCOUTS€”” c3 vs ssirrrrerrree 141

CHUONG 5 KẾT LUẬN -cccsccscsccsscsscsseesreerssrrssrssrssree 145

5.1 Tóm tắt mục tiêu và phạm vi của nghiên cứu - 2 2s s+zszszzs+ 145

5.1.1 Mục tiêu nghiÊn CỨU 5 c1 32111391113 11 11 vn rệt 145 5.1.2 Phạm vi nghiÊn CỨU 5 21 33111321133 5E 5E EEEEErrerrree 145 5.1.3 Giới hạn nghiÊn CỨU c6 + 331111511113 1 EEEEEkEsrserreee 145

5.1.4 _ Cấu trúc khoá luận cc+ccxerrrrtrrerrtrerrrirerrrked 146

5.2 _ Đánh giá kết quả đạt được - 55c S22 2E EEEEEEEEEEEEEEEkerkerreei 146

5.3 Tầm quan trọng và ứng dụng của khoá luận - 2-2 2s s+szszzs2 147

5.3.1 Tâm quan tFỌng ¿- ¿525252 S E£EEÉEE2EE2EEEEEEEEEEEEEEEEEEEEEErkrrkrrrred 147

5.3.2 Ứng dụng c.cs2 tt HH HE 11121 cxe 147

5.4 _ Những đóng góp của khoá luận . - + 5 S13 EseeeEseeeereeereeere 148

5.4.1 Đóng góp công nghệ và phát triển hệ thống -:s- 1485.4.2 Cung cấp giải pháp học tập linh hoạt và tiện ích: - 148

5.4.3 Góp phần nâng cao chất lượng giáo dục va dao tạo trực tuyến: _ 148

5.5 _ Những giới han và hướng phát triỂn - 2 2© s+++£z+Ee+Eerxerszrezes 1485.6 Tổng kết -c C22 22221 212212112112112111111 212 11 xe 149

TÀI LIEU THAM KKHẢÁO - 2-2-2 s£ 2£ ©Ss£ES££Ss£ESs£Essexsevssezssessers 151

15

Trang 8

DANH MỤC HÌNH

Hình 2.1: Cấu trúc code dart cơ bản -ccc+cccvvctttEktrrtrttrtrrrrrrirrrrrrrirrrrrrre 34

Hình 2.3: Thanh phần của Web R'TC - 2-2 + +E+SE+EE£EE2EEEEEEEEEEEEEEEEEerkerkrree 38

Hình 2.4: Firebase storage Ác HH HH HH kh 38

Hình 3.1: Mô hình hệ thống 2-22 + 5222+2EE+EE+2EEEEEEEEE2EEEEEESEEEEEEErkvrrkrrrree 69

Hình 3.2: Sơ đồ use-case tổng quất ¿- 2: + +E£+E£+EE+EEEEEEEEEEEEEEEEEEEEErkerkerreee 72

Hình 4.1.1: Sơ đồ logic dữ liệu ¿2 2 2 5SSE£E2E£EE£EEEEEEEErrErrkrrkrrkrrkrrkee 103

Hình 4.2.2.1: Màn hình Signdn - -. 5 1 112111391113 11 19 1119 1H ng rệt 112 Hình 4.2.2.2: Màn hình SignnÚD - c6 1 1E 191119111 HH ng kh 114 Hình 4.2.2.3.1: Màn hình GetPasswordTlOke€n - -. s5 + re 116 Hình 4.2.2.3.2: Màn hình ResetPassWOT - - s1 HH Hư 117 Hình 4.2.2.4: Màn hình Home - 2 1 1251 9113511319 vn ng ng ng 119 Hình 4.2.2.5: Màn hình TeacherDetail - - - 5 6 + * + E + E*kE+kEssiksskkseereekee 123 Hình 4.2.2.6.1: Màn hình CourseDetail (false) - ¿+ + ++<<<++++++seeeeeess 125 Hình 4.2.2.6.2: Màn hình CourseDetail (tTU€) 55552 S+s**++s++eeeeeeeeesseeess 126 Hình 4.2.2.7: Màn hình LessonIDetalÏ - 5 5 1E 33 E931 vn ey 128 Hình 4.2.2.8: Màn hình LIV€SfT€A1 - 0 56 1 211121119111 11 91 9 1191119 re 129 Hình 4.2.2.9: Màn hình EnrolledCOUTSG 5 6 6E E33 E39 E+5EESSEEsskrseesseere 130 Hình 4.2.2.10: Màn hình PrOfẨIÏG - - c6 3 1211121112111 1 9111111101 ng HH ng 131 Hình 4.2.2.11: Man hình UpdateProfile - 5+2 11+ E+eeEEseeeeeseeeeeee 133 Hình 4.2.2.12: Màn hình UpgradeACCOUII - 5 5 + 1x 3 gi, 134 Hình 4.2.2.13: Màn hình Notification cee - 5 51119 91 vn ng ng ng 135 Hình 4.2.2.14: Màn hình Language s5 1 13115111911 9111 1191 9 ng ng net 136 Hình 4.2.2.15: Màn hình PrivacyPolicy - s13 1x SH ng rệt 137 Hình 4.2.2.16: Màn hình HelpCenter - - «6xx x9 ngư 138 Hình 4.2.2.17: Màn hình UploadedCOUTS€S c5 55+ *+vEEseeereeeereeeee 140 Hình 4.2.2.18: Màn hình CreateCourse 5c 11111 HH nệt 141

16

Trang 9

DANH MỤC BANG

Bảng 1.7: Thông tin thành viên nhóm - <5 +1 3211113 EESEeEeeeereeeerereere 24

Bảng 4.1.2.1: Chi tiết bang US€T 2525252 SE‡EESEE2EE2E12E127171 21121121111 Ecre 104

Bang 4.1.2.2: Chi tiết bảng COUTSG - - 2-5252 SSEEEE9EE2E2EEEEEEEEEEEEE2E21 21211 xeC 105

Bang 4.1.2.3: Chi tiết bảng Section -¿- 2-52 SsSEEE2E2EE2E12E171 212112212 cre 106 Bang 4.1.2.4: Chi tiết bảng L/essOn 22- 2-52 SEEE‡EE2 2112232217121 cre 106 Bảng 4.1.2.5: Chi tiết bang Exam ¿22 252 SE‡EE‡EE2EE2EE2EEEEEEEEEEEEEEEEEkrrkerkrree 107

Bang 4.1.2.6: Chi tiết bảng Quesfion - 2-52 SE SE2E22E2EEEEEEEEEEEEEEEEEEEEEErkrrrrree 107

Bang 4.1.2.7: Chi tiết bang R€suÌt 2-5252 S<EEEE2EE2EE2EEEEEEEEEEEEEEExerkrrei 108

Bang 4.1.2.8: Chi tiết bảng Comment - + ¿2 525£+E2+E£EE£EE£EE2EEZErEerkerxrrerree 108

Bang 4.1.2.9: Chi tiết bảng Rafe ¿5252221 2E EEEEE211211211211 7111121121111 re 108

Bảng 4.1.2.10: Chi tiết bảng HistOFY - 2-5 SE SE2S2‡E2EEEEEEEEEEEEEEEEEerkerkrrrrree 109 Bảng 4.1.2.11: Chi tiết bảng RecentCOUTSe - 2-5-5252 5£2S££EE££EeEEzEvEerxerxrree 109

Bảng 4.2.1: Danh sách màn hình: - 5 - 5 3113321113911 13911 9 11 9 11 1 ng rệt 110

Bảng 4.2.2.1: Chi tiết về các thành phan trên giao diện Signln - 112

Bang 4.2.2.2: Chi tiết về các thành phan trên giao diện SignUp - 114

Bang 4.2.2.3: Chi tiết về các thành phần trên giao diện ForgotPassword 117

Bang 4.2.2.4: Chi tiết về các thành phan trên giao diện Home - 119

Bang 4.2.2.5: Chi tiết về các thành phan trên giao diện TeacherDetail 123

Bảng 4.2.2.6.1: Chi tiết về các thành phần trên giao diện CourseDetail (false) 125

Bảng 4.2.2.10: Chi tiết về các thành phần trên giao diện Profile 132

Bảng 4.2.2.11: Chi tiết về các thành phần trên giao điện UpdateProfile 133

Bảng 4.2.2.12: Chi tiết về các thành phần trên giao điện UpgradeAccount 135

Bảng 4.2.2.13: Chi tiết về các thành phan trên giao diện Notification - 136

Bảng 4.2.2.14: Chi tiết về các thành phan trên giao diện Language - 137

Bảng 4.2.2.15: Chi tiết về các thành phan trên giao diện PrivacyPolicy 138

Bảng 4.2.2.16: Chi tiết về các thành phan trên giao điện HelpCenter 139

Bảng 4.2.2.17: Chi tiết về các thành phan trên giao diện UploadedCourses 140

Bảng 4.2.2.18: Chi tiết về các thành phan trên giao diện CreateCourse 141

17

Trang 10

Chuong1 GIỚI THIỆU DE TÀI

1.1 Giới thiệu chung

Trong kỷ nguyên tiến bộ công nghệ thông tin và phát triển vượt bậc của internet,

việc tận dụng các nền tảng giáo dục trực tuyến đã trở thành một xu hướng không thể

phủ nhận Các khoá học trực tuyến ngay cảng được ưa chuộng va dần trở thành sự lựa

chọn hàng đầu cho việc học tập và đào tạo, mang lại sự thuận tiện và tiết kiệm thời gian

cho người học.

Trong thời gian trién khai mục dich chia sẻ tri thức và kiến thức, việc sử dụng các

trang mạng xã hội đã trở thành một phương pháp phổ biến, trong đó nhiều người muốn

đóng góp tri thức của mình Tuy nhiên, việc chia sẻ kiến thức qua một số trang mạng

xã hội thường dẫn đến sự phân mảng và thiếu đi sự tổ chức rõ ràng Điều này khiến cho

việc tìm kiêm kiên thức và sử dụng nó trở nên khó khăn và không đáng tin cậy.

Do đó, trong khóa luận tốt nghiệp, đề tài "Xây dựng hệ thống quản lý khoá học trựctuyến" được lựa chọn nhằm giải quyết những vấn đề này Mục tiêu của khóa luận là xâydựng một hệ thống quản lý khoá học trực tuyến hiệu quả, đáp ứng nhu cầu ngày càng

cao của người học và giảng viên.

1.2 Ly do chọn đề tài

Một trong những lý do quan trọng mà khoá luận quyết định lựa chọn nội dung này

là sự thịnh hành và khả năng phát triển của khoá học trực tuyến Với sự gia tăng đáng

kể về nhu cầu học tập từ xa và tìm kiếm kiến thức trực tuyến, tích hợp một hệ thong

quản lý khoá học trực tuyến sẽ dem lại nhiều ưu điểm cho cả tổ chức giáo dục va người

học

Hơn nữa, việc sử dụng máy móc và internet để quản lý khoá học trực tuyến cung

cấp nhiều tiện ích, như quản lý tư liệu học tập, giao tiếp trực tuyến giữa giảng viên vàsinh viên, đánh giá thành tích học tập, và phân tích đữ liệu đề cải thiện chất lượng giảngdạy Điều này đòi hỏi một hệ thống quản lý chuyên nghiệp và tôi ưu dé đáp ứng các yêu

câu và mục tiêu của các bên liên quan.

18

Trang 11

13 Phạm vi nghiên cứu và ưu nhược điểm

Khóa luận tập trung vào xây dựng hệ thống quản lý khoá học online, với các tính

năng và chức năng quan trọng như quản lý tài liệu, tương tác giữa giảng viên và sinh

viên, đánh giá kết quả học tập và phân tích dữ liệu

Đề tài của khóa luận chú ý khai thác vào vấn đề phát triển một hệ thống quản lýkhoá học thông qua internet dành cho môi trường đi động Với sự phát triển mạnh mẽ

của thiết bị và ứng dụng mobile, việc triển khai hệ thống trên nền tảng mobile đáp ứng

nhu cầu ngày càng tăng của người học ở mọi thời gian và địa điểm Khoá luận nhận

thấy rằng triển khai hệ thống quản lý khoá học trực tuyến trên môi trường mobile mang

lại nhiều ưu điểm Một số ưu điểm quan trọng bao gồm: khả năng truy cập linh hoạt và

tính tương tác tốt

Trong quá trình triển khai, khoá luận đã phát hiện ra một sé điểm sáng của hệ thốngquản lý khoá học thông qua internet, bao gồm:

— Sự tô chức và cấu trúc: giúp tổ chức tri thức một cách minh bạch và có cấu trúc,

giúp người học đi từng bước một và tiếp cận tri thức với phương pháp, kế hoạch

tốt

— Chất lượng kiến thức: Các bài giảng trên hệ thống quản lý thường được thiết kế và

phát triển bởi các chuyên gia trong lĩnh vực đó, đảm bảo tính chuẩn xác và chất

lượng cao của tri thức được chia sẻ.

— Tương tác: Hệ thống quản lý khoá học trực tuyến cung cấp cơ hội tương tác giữa

giảng viên và sinh viên, tạo điều kiện cho sự hỗ trợ và giao tiếp hiệu quả trong quá

trình học tập.

— Đánh giá thành tích học tập: Hệ thống cung cấp các công cụ đề đánh giá thành tích

học tập của sinh viên, giúp theo dõi tiễn trình học tập và đánh giá hiệu quả của

khóa học.

Mặc dù hệ thống quản lý khoá học trực tuyến mang lại nhiều lợi ích, nhưng nó cũng

đôi mặt với một sô nhược điêm:

— Khả năng sử dụng công nghệ của người dung bị hạn ch

19

Trang 12

— Khó khăn và tốn kém trong việc thay đồi, nâng cấp hệ thống.

— Khả năng tương tác giới hạn.

Tóm lại, khoá luận sẽ tìm hiểu và phát triển một hệ thống quan lý khoá học thôngqua Internet trên môi trường mobile dé tận dụng ưu điểm linh hoạt và tiện lợi của di

động nhăm giải quyêt những nhược điêm của việc chia sẻ tri thức qua các trang mạng

xã hội Hệ thống này sẽ mang lại sự tổ chức, cau trúc, tương tác và đánh giá thành tíchhọc tập hiệu quả Khoá luận tin rằng sự nghiên cứu và phát triển hệ thống này sẽ gópphần vào việc cải thiện chất lượng giáo dục và truyền đạt tri thức một cách hiệu qua

thông qua khoá học trực tuyến

1.4 Chức năng chính

Hệ thống quản lý khoá học trực tuyến được xây dựng sẽ bao gồm các chức năng

chính sau:

— Quản tri tài khoản:

Đăng nhập: Người dùng có thê sử dụng tài khoản đã đăng ký trước đó đề đăngnhập vào hệ thống

Đăng ký: Người dùng chưa từng sử dụng hệ thống có thé đăng ký tài khoản dé

truy cập vào ứng dụng.

Đổi mật khẩu: Cho phép người dùng thay đổi mật khẩu hiện tại của mình

Thay đổi thông tin: Người dùng có khả năng cập nhật và điều chỉnh thông tin

cá nhân của mình.

— Quản lý trang cá nhân:

Xem lượt học viên đã tham gia khoá học: Hiền thị thông tin về số lượng học

viên đã tham gia vào một khoá học cụ thể

Xem danh sách các khoá học hiện có: Người dùng có thể xem danh sách các

khoá học đang được cung cấp trên hệ thông

Xem danh sách các khoá học đã tham gia: Người dùng có thể xem danh sách

các khoá học mà họ đã đăng ký và tham gia học.

— Quản lý khóa học:

20

Trang 13

+ Xem, thêm, xoá, sửa khoá học: Quản tri viên có quyền xem, thêm, xoá và chỉnh

sửa thông tin về các khoá học trong hệ thống

— Tính năng về bài giảng:

+ Xem, thêm, xoá, sửa bài giảng: Người dùng có thé xem danh sách bài giảng trong

khoá học, thêm mới, xoá hoặc chỉnh sửa các bài giảng.

— Tinh năng tương tac với khóa học:

+ Bình luận: Người dùng có thể gửi nhận xét và phản hồi về nội dung của khoá

học.

+ Đánh giá khoá học: Người dùng có thê đánh giá và đưa ra đánh giá về chất lượng

và trải nghiệm của khoá học.

— Tính năng về các bài kiểm tra:

+ Tạo, cập nhật và làm bài kiểm tra: Người dùng có thé tạo và cập nhật các bài

kiểm tra cho khoá học, và người học có thé làm bài kiểm tra dé kiểm tra kiến

thức đã học.

— Chia sẻ livestream: Cho phép người dùng chia sẻ và tham gia vào các buôi trực

tiếp trên hệ thống

— Recommendation system gợi ý khoá học: Hệ thống sẽ đề xuất các khoá học dựa

trên đánh giá và sở thích của người dung dựa trên thuật toán Collaborative filtering.

— Thanh toán khóa học qua các cổng thanh toán: Hỗ trợ người dùng thanh toán phí

khóa học thông qua các công thanh toán trực tuyến

— Các tính năng App about (term policy, help & support): Cung cấp thông tin về các

quy định, chính sách và hỗ trợ cho người dùng trong quá trình sử dụng hệ thống

Tổng quát, hệ thống quản lý khoá học trực tuyến sẽ cung cấp một loạt các chức

năng từ việc quản lý tài khoản, quản lý khóa học, tương tác với khóa học và tính năng

phụ dé cung cap trải nghiệm học tập toàn diện cho người dùng

1.5 Công nghệ sử dụng

Trong quá trình xây dựng hệ thống quản lý khoá học trực tuyến, khoá luận sử dụng

các công nghệ sau:

21

Trang 14

— Front-end: khoá luận sử dung Flutter làm công nghệ front-end chính Flutter là

một framework phát triển ứng dụng di động đa nền tảng được phát triển bởiGoogle, cho phép khoá luận xây dựng ứng dụng di động trên cả nền tảng Android

và iOS từ một mã nguồn duy nhất Flutter cung cấp khả năng phát triển nhanh,

giao diện đẹp và hiệu suất cao cho ứng dụng di động

— Backend: khoá luận sử dụng NestJS làm công nghệ back-end chính NestJS là một

framework phát triển ứng dụng server-side dựa trên Node.js và Express.js, cungcấp kiến trúc tương tự Angular và sử dụng TypeScript NestJS giúp khoá luận xây

dựng back-end mạnh mẽ, có cấu trúc va dễ bảo trì cho hệ thống Ngoài ra, Python

còn được khoá luận lựa chọn để sử dụng trong việc viết thuật toán

Recommendation system Collaborative Filtering.

— Database: khoá luận sử dụng MongoDB va Firebase dé lưu trữ đữ liệu MongoDB

là một hệ quan tri cơ sở dữ liệu phi quan hệ (NoSQL) linh hoạt va mở rộng, cho

phép khoá luận lưu trữ và truy vấn dữ liệu một cách hiệu quả Firebase cung cấpmột nền tảng phát trién ứng dụng di động đám mây, bao gồm co sở dữ liệu thời

gian thực và các dịch vụ liên quan, giúp khoá luận xây dựng ứng dụng di động

nhanh chóng và dễ dàng.

— Quản lý mã nguồn: khoá luận sử dụng Github dé quản ly mã nguồn Github cung

cấp một môi trường hợp tác phát triển mã nguồn, cho phép làm việc cùng nhau,

theo dõi thay đổi và quản lý phiên bản của mã nguồn trong quá trình phát triển hệ

thống

Tổng quát, việc sử dụng Figma, Flutter, NesJS, MongoDB, Firebase và Github

giúp khoá luận xây dựng hệ thống quản lý khoá học trực tuyến một cách hiệu quả và

linh hoạt, dam bảo tính ồn định, tương thích và mở rộng của hệ thống.

1.6 Cấu trúc khoá luận:

Khoá luận này được chia thành các chương chính, mỗi chương tập trung vào một

khía cạnh quan trọng của việc xây dựng hệ thống quản lý khoá học trực tuyến Dưới đây là mô tả ngắn gọn về nội dung của mỗi chương:

Chương 1: Giới thiệu đề tài

22

Trang 15

Chương 1 giới thiệu về bối cảnh, mục tiêu, phạm vi, phương pháp nghiên cứu

của khoá luận Nó cung cấp một cái nhìn tổng quan về van đề nghiên cứu vagiải pháp mà khoá luận đề xuất Chương này cũng trình bày về công nghệ sử

dụng và câu trúc tông quan của khoá luận.

Chương 2: Cơ sở lý thuyết

Chương 2 tập trung vào cung cấp cơ sở lý thuyết cho việc xây dựng hệ thống

quản lý khoá học trực tuyến Nó bao gồm các khái niệm và khung lý thuyết về

quản lý khoá học, công nghệ ứng dụng, cơ sở đữ liệu, và các yếu tố quan trọng

khác liên quan đến việc triển khai hệ thống

Chương 3: Recommendation System cho tính năng đề xuất khoá học dựa trên

Collaborative Filtering

Chương 3 tập trung vào xây dựng Recommendation System cho tính năng đề

xuất khoá học dựa trên Collaborative Filtering Đã trình bày một tổng quan về

Recommendation System và phương pháp Collaborative Filtering.

Recommendation System giúp người dùng tìm kiếm và khám phá những khoá

học phù hợp Phương pháp Collaborative Filtering dựa trên thông tin đánh giá

và thói quen học tập của người dùng để đề xuất khoá học tương tự Quy trìnhtriển khai Recommendation System bao gồm xác định người dùng, tìm kiếmngười dùng tương tự và đề xuất khoá học Các bước này quan trọng trong xâydựng hệ thống đề xuất hiệu quả và chính xác

Chương 4: Phân tích và thiết kế

Chương 4 tập trung vào việc thiết kế hệ thống quản lý khoá học trực tuyến, baogồm thiết kế dữ liệu và thiết kế giao diện từng màn hình Chương này sẽ đóngvai trò quan trọng trong việc xác định cấu trúc đữ liệu và giao điện người dùngcho hệ thống quản lý khoá học trực tuyến Cung cấp hướng dan cho việc triểnkhai và phát triển hệ thống

Chương 5: Kết luận

Chương 5: Kết luận tổng hợp kết quả và thành tựu quan trọng trong thời gian

triển khai nghiên cứu

23

Trang 16

1.7 Thông tin nhóm

Bang 1.7: Thông tin thành viên nhóm

STT Tên thành viên Mã sinh viên Email

1 Bui Thién Nhan 19521927 19521927 @ gm.uit.edu.vn

2 Nguyễn Yến Nhi 19520205 19520205 @ gm.uit.edu.vn

24

Trang 17

Chương2 COSOLY THUYẾT

Chương 2 mang đến thông tin đầy đủ và chỉ tiết về các lý thuyết cũng như nguyên

tắc quan trọng liên quan đến xây dựng hệ thống quản lý khoá học trực tuyến Chương

này đem đến cho độc giả một cơ sở vững chắc dé hiéu rõ hơn về quản lý khoá học trực

tuyến, các công nghệ ứng dụng, cấu trúc cơ sở dữ liệu và các yếu tố quan trọng khác

trong việc xây dựng và triển khai hệ thống

Bằng cách trình bày các khái niệm nền tảng và các lý thuyết then chốt, chương này

sẽ giúp người đọc xác định và nắm vững các yếu tố quan trọng cần thiết dé xây dựng

hệ thống quản lý khoá học trực tuyến một cách hiệu quả và linh hoạt Chương 2 sẽ giúp

người đọc hiểu rõ hơn về các khía cạnh lý thuyết và nguyên tắc cần thiết đề tiếp cận vàứng dụng chúng vào việc xây dựng hệ thống quản lý khoá học trực tuyến

2.1 Learning Management System (Hệ thống quản lý học tập)

2.1.1 Giới thiệu chung về LMS - Hệ thống Quản lý Học tập

Hệ thống Quản lý Học tập (LMS) là một phần mềm được thiết kế dé hỗ

trợ quản lý, cung cấp và cho phép người sử dụng có thê tương tác với hệ thống

trong quá trình học trực tuyến LMS đã trở thành một công cụ quan trọng trong

lĩnh vực giáo dục, cho phép giảng viên, học sinh và quản trị viên tương tác với

nhau và tiếp cận tài liệu học tập một cách thuận tiện và linh hoạt

Hệ thống Quản lý Học tập (LMS) là một nền tảng phần mềm cho phép tôchức giáo dục va đào tạo tao ra cũng như có thé tô chức, quan lý các khóa học

trực tuyến Nó cung cap các công cụ và tài nguyên dé tạo nội dung học tập, tương

tác với học viên, theo dõi tiến độ học tập và đánh giá kết quả

Trong thời đại công nghệ số phát triển, LMS đã trở thành một công cụ

quan trọng trong lĩnh vực giáo dục Với sự phát triển của internet và công nghệ

thông tin, việc học tập trực tuyến đã trở nên phổ biến và tiện lợi hơn bao gid hét.

LMS gitip tao diéu kiện cho việc hoc tập linh hoạt, giảm thiểu thời gian và

khoảng cách về địa lý, cũng như hỗ trợ gia tăng khả năng tương tác giữa giảng

viên và học viên.

25

Trang 18

Ưu điểm và lợi ích của việc sử dụng LMS trong quá trình giảng dạy và

học tập Sử dụng LMS mang lại nhiều lợi ích cho cả giảng viên và học viên Một

sô ưu điêm chính của LMS bao gôm:

o_ Tiết kiệm thời gian và công sức trong quá trình quản lý khóa học và tài

liệu học tập.

o Tính linh hoạt và tiện lợi cho học viên trong việc truy cập tai liệu và tham

gia khóa học từ bất kỳ địa điểm và thiết bị nào

o Kha năng tương tác và phản hồi giữa giảng viên và học viên, tạo điều

kiện cho việc hỗ trợ và giải đáp thắc mắc

o_ Quản lý tiễn độ học tập và đánh giá kết quả một cách hiệu quả

fe) Tiép can và chia sẻ tai liệu hoc tập một cách nhanh chong va dễ dàng

o Tăng cường tính tương tac và cộng tác giữa các thành viên trong cộng

đồng

Như vậy, Hệ thống Quản lý Học tập (LMS) đóng vai trò quan trọng trong

việc nâng cao chất lượng giáo dục và đào tạo trực tuyến Bằng cách tận dụng

công nghệ và cung cấp môi trường học tập thuận tiện, LMS đã trở thành mộtcông cụ hữu ích dé tạo ra trải nghiệm giảng dạy và học tập tốt hơn đồng thời phát

triển kiến thức cho cộng đồng

2.1.2, Các thành phần cấu tạo

Hệ thông Quản lý Học tập (LMS) được câu tạo từ một sô thành phân quan

trọng, cùng nhau tạo nên một môi trường học tập trực tuyến đầy đủ chức năng

và linh hoạt Các thành phần này đảm nhận vai trò quan trọng trong việc cung

cấp, quản lý và tương tác với nội dung học tập, hỗ trợ quản lý học viên và đánh

giá kết quả của quá trình học tập Sau đây là một số thành phần nên tảng của Hệthống Quản lý Học tập:

o Giao diện người dùng (User Interface - UD: Giao diện người dùng đóng

vai trò quan trọng trong việc tạo nên một trải nghiệm học tập dễ dàng và

thân thiện cho người dùng Nó bao gồm các thành phan chính như trang

chủ, trang khóa học, trang bài giảng, trang tương tác, và các công cụ hỗ

26

Trang 19

trợ học tập như bài tập, bài kiểm tra Giao điện người dùng cần được thiết

kế một cách trực quan, dễ sử dụng và thân thiện với người dùng, đồng

thời đảm bảo tính tương thích trên nhiều thiết bị va trình duyệt khác nhau

Việc tối ưu hóa trải nghiệm người dùng giúp đảm bảo học viên có thểtiếp cận nội dung học tập một cách thuận tiện và hiệu quả hơn

Cơ sở đữ liệu (Database): Cơ sở đữ liệu là nơi quản lý và lưu trữ thông

tin về khóa học, học viên, tai liệu, kết quả học tập và các dữ liệu liên quan

khác Hệ thong LMS cần có cơ sở đữ liệu đáng tin cậy và có hiệu suất

cao đề đảm bảo tính khả dụng, tính xác thực và tính an toàn, bảo mật của

dữ liệu Các hệ quản trị cơ sở dữ liệu dé xây dựng co sơ dữ liệu cho LMS

thường gặp sẽ có như là MongoDB, PostgreSQL hay MySQL Hệ quản

trị cơ sở đữ liệu đóng một vai trò rất quan trọng trong hệ thống Quản lýHọc tập (LMS) Day là nơi lưu trữ, quản ly và tổ chức các dit liệu liênquan đến người dùng, khóa học, bài giảng, bài kiểm tra và các thông tin

khác trong LMS Dưới đây là những mục đích và vai trò quan trọng của

cơ sở đữ liệu trong LMS:

= Lưu trữ thông tin người dùng: Cơ sở dữ liệu LMS chứa thông tin

về người dùng, bao gồm tên, địa chi email, mật khâu, quyền truy

cập và thông tin cá nhân khác Qua việc sử dụng cơ sở đữ liệu, hệ

thống có khả năng xác thực và quản lý thông tin người dùng một

cách hiệu quả.

= Lưu trữ thông tin khóa học: Cơ sở dữ liệu LMS lưu trữ thông tin

về khóa học, bao gồm tiêu đề, mô tả, ngày bắt đầu/kết thúc, tácgiả, tài liệu học tập và các thông tin liên quan khác Điều này đảm

bảo hệ thống có khả năng quản lý các khóa học một cách chính

xác và tiện lợi.

= Lưu trữ thông tin bài giảng: Cơ sở dữ liệu LMS lưu trữ thông tin

về các bài giảng, bao gồm tiêu đề, nội dung, tác giả, thời gian tạo

và các thông tin liên quan khác Điều này giúp hệ thống hiển thị

và quản lý bài giảng một cách hiệu quả và dễ dàng.

27

Trang 20

= Lưu trữ thông tin bài kiểm tra của bài giảng: Cơ sở dữ liệu LMS

lưu trữ thông tin về bài kiểm tra của bài giảng, bao gồm nội dung

các câu hỏi, đáp án, độ khó, thời gian, điểm số và các thông tin

liên quan khác Điều này giúp hệ thống quản lý và đánh giá sự tiền

bộ của người dùng trong quá trình học tập.

o Hệ thống quản lý và xử lý dữ liệu (Data Management System): Hệ thống

quản lý và xử lý đữ liệu đảm nhận vai trò quan trọng trong việc tổ chức

và quản lý dữ liệu trong LMS Nó cung cấp các chức năng chính như lưu

trữ, truy xuất, cập nhật, xóa dir liệu va xử ly các yêu cầu liên quan đến

dữ liệu từ người dùng và các thành phần khác trong hệ thống

o Tính năng và chức năng (Features and Functionality): Hệ thống LMS

cung cấp một loạt các tính năng và chức năng dé hỗ tro quản ly khóa học,

tương tác học tập và đánh giá sự tiến bộ của người tham gia Các tính

năng chính bao gồm:

“ Quản lý khóa học: cho phép người có quyền được tạo mới, chỉnh

sửa và xoá các nội dung của khóa học, quản lý danh sách học viên.

« Tương tác học tập: bao gồm bài giảng trực tuyến, diễn dan thao

luận, tư vấn trực tuyến, bai tap và bai kiém tra truc tuyến.

= Đánh giá kết quả học tập: cho phép đánh giá và theo dõi tiến trình

học tập của học viên, cung cấp phản hồi và ghi nhận kết quả

Như vậy, Những thành phần cấu thành của Hệ thống Quản lý Học tập

đóng vai trò quan trọng trong việc tạo ra một môi trường học tập trực tuyến linhhoạt, đáp ứng đủ các nhu cầu của người dùng Sự liên kết giữa các thành phầnnày đảm bảo việc cung cấp, quản lý và tương tác trong quá trình học tập một

cách hiệu quả và thuận tiện cho người dùng.

2.1.3 Mô hình triển khai và quản lý LMS

2.1.3.1 Mô hình triển khai truyền thống

Mô hình triển khai truyền thống của hệ thống Quản lý Học tập

thường được phát triển trên hệ thống riêng của tổ chức Trong mô hình

28

Trang 21

này, các máy chủ và cơ sở dữ liệu được triên khai và quản lý trong môi trường nội bộ của tô chức.

Ưu điểm:

e Kiểm soát hoàn toàn về an ninh và quyên riêng tư

e Tuy chỉnh và điều chỉnh hệ thống theo nhu cầu cụ thể của

tổ chức

e_ Đáp ứng nhanh chóng các yêu cau và thay đổi của tổ chức

Nhược điểm:

¢ Đòi hỏi đầu tư cao cho cơ sở hạ tầng và phan cứng

e Yêu cầu kiến thức kỹ thuật cao dé triển khai và quản lý hệ

thống

e Giới hạn về khả năng mở rộng và độ linh hoạt

2.1.3.2 Mô hình triển khai dựa trên đám mây

Mô hình triển khai dựa trên đám mây của LMS sử dụng các dịch

vụ đám mây để triển khai và quản lý hệ thống Hệ thống LMS được triển

khai trên một nên tảng đám mây công cộng hoặc riêng tư.

Ưu điểm:

e Linh hoạt và mở rộng dé dàng theo nhu cau

e_ Chỉ phí đầu tư và nâng cấp có thê dé dàng kiểm soát, giảm

bớt.

e Dễ dàng tham gia từ bat kỳ công cụ và địa điểm nào có kết

nối Internet

Nhược điểm:

e Phu thuộc vao dịch vụ đám mây va nhà cung cấp.

e Hạn chế về tùy chỉnh và điều chỉnh hệ thống theo nhu cầu

cụ thé của tổ chức

© Quản lý an ninh và quyền riêng tư dựa trên chính sách của

nha cung cap dam mây.

29

Trang 22

2.1.3.3 Quản lý và bảo trì hệ thống LMSQuan lý và bảo trì hệ thống LMS là quá trình đảm bảo hoạt động ôn định,

hiệu suât cao và khả năng mở rộng của hệ thông Các hoạt động quản lý và bảo

trì gồm:

e Giám sát hệ thống: Theo dõi và kiểm tra các thành phần và tài nguyên

của hệ thong LMS dé đảm bảo hoạt động ôn định và xử lý sự cố kịp thời.

e Sao lưu và khôi phục dữ liệu: Thực hiện việc sao lưu định ky dtr liệu

của hệ thống LMS dé đảm bảo an toàn và khả năng khôi phục dữ liệu

trong trường hợp sự cô xảy ra

e Kiểm tra bảo mật: Dam bảo tính bảo mật và quyên riêng tư của dữ liệu

trong hệ thống LMS băng cách triển khai các biện pháp bảo mật như

mã hóa dữ liệu, xác thực người dùng và kiểm soát quyên truy cập.

e© Cập nhật và nâng cấp: Theo dõi các bản vá lỗi, bản vá bảo mật và

version mới của các thành phần và phần mềm liên quan đến hệ thống LMS, và thực hiện quá trình cập nhật va nang cấp để đảm bảo tính tương thích và hiệu suất cao nhất.

2.1.3.4 Các thách thức và giải pháp trong việc triển khai và

quản lý LMS

Thách thức:

Đáp ứng nhu cầu người dùng đa dạng: Người dùng trong hệ thống LMS

có các nhu cầu khác nhau, từ học viên, giảng viên, quản trị viên đến quản lý Đáp ứng được tất cả các yêu cầu này đòi hỏi sự linh hoạt và tùy chỉnh trong triển khai

và quản lý hệ thống.

Đảm bảo tính bảo mật và quyền riêng tư: Hệ thong LMS chứa nhiều thông

tin nhạy cảm và dữ liệu cá nhân Đảm bảo tính bảo mật và quyên riêng tư của người dùng là một thách thức quan trọng trong triên khai và quản lý LMS.

Quản lý khối lượng lớn người dùng và dữ liệu: Hệ thống LMS thường

phải đối mặt với việc quản lý hàng ngàn người dùng và khối lượng lớn dit liệu

học tập Đảm bảo hiệu suất, mở rộng và xử lý dữ liệu một cách hiệu quả là mộtthách thức kỹ thuật trong triển khai và quản lý LMS

Giải pháp:

Thiết kế linh hoạt và tùy chỉnh: Xác định các yêu cầu của người dùng và

tô chức dé thiết kế hệ thống LMS linh hoạt và có khả năng tùy chỉnh Sử dụng kiến trúc mô-đun và các công nghệ linh hoạt dé có thé thích ứng với các yêu cầu

và thay đôi trong tương lai.

Áp dụng các biện pháp bảo mật và quyền riêng tư: Triển khai các biệnpháp bảo mật như xác thực người dùng, mã hóa dữ liệu và quản lý quyền truy

cập dé dam bảo tính bảo mật và quyền riêng tư của dữ liệu trong hệ thống LMS.

30

Trang 23

Sử dụng công nghệ và kiến thức quan lý dữ liệu: Sử dụng công nghệ vàcác phương pháp quản lý dữ liệu để xử lý và quản lý khối lượng lớn người dùng

và dữ liệu trong hệ thống LMS Áp dụng các giải pháp như nền tảng đám mây,

cơ sở dữ liệu phân tán và các công nghệ Big Data để đảm bảo hiệu suất và mở

rộng của hệ thống

Quản lý dự án chặt chẽ: Đảm bao quản lý dự án hiệu quả và chặt chẽ dé

dam bao triển khai va quan ly LMS được thực hiện theo kế hoạch va đạt được mục tiêu đề ra Sử dụng các phương pháp quản lý dự án như Agile hoặc Waterfall

dé quan ly tién độ, nguồn lực và rủi ro trong quá trình triển khai

Tóm lại, việc triển khai và quản lý LMS đòi hỏi giải quyết các thách thức về đa

dạng người dùng, bảo mật, quản lý dữ liệu và quản lý dự án Tuy nhiên, thông qua việc

thiết kế linh hoạt, áp dụng biện pháp bảo mật và quản lý đữ liệu, sử dụng công nghệ vàquản lý dự án hiệu quả, các thách thức này có thé được vượt qua dé đảm bảo thành côngtrong triển khai và quản lý LMS

2.1.4 Tích hợp và mở rộng LMS

2.1.4.1 Tích hợp hệ thống LMS

Tích hợp hệ thong xác thực người dùng: Đề cung cấp tính năng này, hệ

thống LMS cần tích hợp với các hệ thống xác thực như Single Sign-On (SSO),

LDAP hoặc OAuth Qua đó, người ding có thé sử dụng tài khoản đã có dé truy cập vào LMS một cách thuận tiện.

Tích hợp với hệ thống quản lý tài nguyên: Đối với tổ chức hoặc trườnghọc có hệ thống quản lý tài nguyên riêng, việc tích hợp hệ thống LMS với hệthống này giúp quản lý và cung cấp tài nguyên học tập một cách hiệu quả Ví dụ,việc tích hợp với thư viện số, cơ sở dit liệu học liệu hay hệ thống video giúp họcviên tiếp cận tài liệu và nội dung học tập một cách dễ dàng

Tích hợp với hệ thống quản lý khóa học: Trong trường hợp tổ chức hoặc

trường học đã sử dụng một hệ thống quản lý khóa học (Course ManagementSystem - CMS) riêng, việc tích hợp CMS với LMS giúp quản lý và cung cấpkhóa học một cách liên tục và nhất quán Điều này đảm bảo rằng thông tin vềkhóa học, nội dung và kết quả học tập được đồng bộ và quản lý hiệu quả

2.1.4.2 M6 rộng tính năng LMS

Mở rộng tính năng bài giảng: Dé cung cấp trải nghiệm học tập tốt hơn, hệthống LMS có thê được mở rộng với tính năng bài giảng trực tuyến, cho phépgiảng viên tổ chức các buổi học trực tiếp và tương tác với học viên thông qua

video streaming và công nghệ WebRTC.

Mở rộng tính năng tương tác: Việc mở rộng tính năng tương tác trong LMS giúp học viên có thê tương tác với nhau và với giảng viên Các tính năng

31

Trang 24

như điễn đàn trực tuyến, trò chuyện trực tiếp và nhóm làm việc giúp tạo ra một

môi trường học tập xã hội va tương tác.

Mở rộng tinh năng đánh giá: Dé đánh giá và đo lường tiễn độ học tập củahọc viên, hệ thong LMS có thé được mở rộng với tính năng đánh giá đa dạngnhư bài kiểm tra trực tuyến, bài tập định kỳ và bài tập tự động Điều này giúpđánh giá hiệu quả và cung cấp phản hồi cho học viên về quá trình học tập của

họ.

Mở rộng tính năng quản lý người dùng: Dé quản lý học viên và giảng viênmột cách hiệu quả, hệ thống LMS có thể được mở rộng với tính năng quản lýngười dùng, bao gồm tạo, sửa đôi và xóa tài khoản, quản lý quyền truy cập và

theo dõi hoạt động của người dùng.

Mở rộng tính năng phân tích và báo cáo: Tính năng phân tích và báo cáo

trong LMS giúp tổ chức hoặc trường học đánh giá hiệu quả của khóa học, tiến

độ học tập và sự tham gia của học viên Điều này giúp cung cấp thông tin phântích chỉ tiết và báo cáo tong quan dé đưa ra các quyết định và cải thiện chất lượng

học tập.

Tóm lại, việc tích hợp và mở rộng LMS giúp nâng cao tính linh hoạt, hiệu quả và trải

nghiệm học tập Bằng cách tích hợp với các hệ thống liên quan và mở rộng tính năng,

chức năng LMS có thé giúp người dùng dé dang hơn trong việc day và học.

và quản lý quá trình học tập, mà còn mang lại nhiều lợi ích và tiềm năng trong

việc cải thiện chất lượng giáo dục và đáp ứng nhu cau học tập của người học

LMS đóng góp quan trọng trong việc tạo môi trường thuận lợi cho việc

truy cập kiến thức và học tập linh hoạt Hệ thống này cho phép người học tiếp

cận tư liệu, bài dạy, đánh giá khả nang va giao tiéos với giảng viên và hoc viên

khác thông qua giao diện trực tuyển Điều này giúp tăng cường sự tương tác, trao

đổi thông tin và xây dựng cộng đồng học tập trực tuyến.

Sự tiễn bộ của công nghệ và xu hướng học tập thông qua internet đangđây mạnh sự tiếp cận và sử dụng LMS Với sự lan rộng của các thiết bị đi động

và mạng, người học có thé tiếp cận hệ thống LMS bat kỳ lúc nào và ở bat kỳ địa

điểm nào Điều này mở ra cơ hội rộng lớn cho việc phát triển học tập linh hoạt,học tập trực tuyến và hình thức hoc tập kỹ thuật sé

32

Trang 25

2.1.5.2 Các xu hướng và dự đoán về LMSTăng cường tích hợp và tương tác: Xu hướng tiếp theo của LMS là tăngcường tích hợp với các công nghệ và ứng dụng khác như công cụ hợp tác, truyềnthông đa phương tiện và trí tuệ nhân tạo Điều này sẽ tao ra môi trường học tậptương tác, đa dang và trực quan hơn, đồng thời cung cấp các tiện ích phân tích

và phan hồi dé cải thiện quá trình học tập

Phát triển học tập linh hoạt: LMS sẽ tiếp tục phát triển dé hỗ trợ học tậplinh hoạt và theo nhu cau cá nhân của từng người học Các tính năng như học tập

tự động, học tập theo yêu cầu và học tập tương tác sẽ được tăng cường đề đáp

ứng sự linh hoạt và đa dạng của người học.

Sự phát triển của học tập trực tuyến và học tập kỹ thuật số: LMS sẽ tiếp tục trở thành một phần quan trọng trong việc cung cấp học tập trực tuyến và học tập kỹ thuật số Các công nghệ mới như truyền hình ảnh 360 độ, thực tế ảo và

trực tuyến thời gian thực sẽ được tích hợp vào LMS đỀ tạo ra trải nghiệm học tập

tương tác và chân thực hơn.

Phân tích dữ liệu và trí tuệ nhân tạo: Sự phát triển này sẽ có ảnh hưởng

lớn đến LMS Các công nghệ này sẽ giúp thu thập va phân tích dir liệu học tap, đưa ra phân tích và đề xuất cá nhân hóa cho

Flutter

Flutter là một framework giao diện người ding di động mã nguồn mở và miễn phíđược tạo và phát triển bởi Google từ tháng 5 năm 2017 Đơn giản nhưng mạnh

mẽ, Flutter cho phép chúng ta xây dung ứng dụng di động gốc bang một cơ sở mã

duy nhất Điều này có nghĩa là chúng ta có thê sử dụng cùng một ngôn ngữ lập

trình và cấu trúc mã dé phát triển ứng dụng trên cả hai nền tảng iOS và Android.Flutter bao gồm hai phần quan trọng:

e Software Development Kit (SDK): cung cấp các công cụ giúp chúng ta phát

triển app SDK bao gồm trình biên dịch dé chuyên đổi mã của chúng ta thành

mã máy gốc (mã dành cho iOS va Android)

e Framework: Flutter cung cấp một thư viện giao diện người dùng có tính tái

sử dụng cao, bao gồm các thành phần giao diện như nút, hộp văn bản, thanhtrượt và nhiều hơn nữa Chúng ta có thé cá nhân hóa các thành phan này déphù hợp với nhu cầu của ứng dụng của chúng ta

Dé triển khai với Flutter, chúng ta sử dụng ngôn ngữ lập trình gọi là Dart Dart là

một ngôn ngữ lập trình được tạo ra bởi Google vào thang 10 năm 2011 và đã được

33

Trang 26

cải tiễn đáng kể trong suốt thời gian qua Dart tập trung vào phát triển giao diện

người dùng và chúng ta có thé sử dụng nó đề xây dựng ứng dung web và di động

Nếu chúng ta đã quen thuộc với lập trình, Dart sẽ rất dễ tiếp cận vì nó được thiết

kế dựa trên triển khai theo hướng đối tượng (OOP) Cú pháp của Dart có thé được

Hình 2.1: Cấu trúc code dart cơ bản

2.3 NestJs

Trong chương Cơ sở lý thuyết, khoá luận giới thiệu NestJS, một framework phát

triển ứng dụng Node.js hiệu quả và mạnh mẽ NestJS được xây dựng trên cơ sởExpress.js và sử dụng TypeScript dé cung cấp một cách tiếp cận hướng đối tượng chophát triển backend

Khoá luận trình bày về các tính năng và lợi ích của NestJS trong việc xây dựng

hệ thống quản lý khoá học trực tuyến Các điểm nổi bật bao gồm:

- Kiến trúc hướng đối tượng (OOP): NestJS thúc đây việc sử dụng OOP dé phân

chia ứng dụng thành các module, controller va service Điều này giúp tổ chức

mã nguồn một cách có cấu trúc, minh bạch và dễ bảo trì

- _ Cấu trúc mã thân thiện và mô-đun hóa: NestJS cung cấp cau trúc mã đồng nhất

và mô-đun hóa ứng dụng Điều này hỗ trợ việc triển khai và bảo trì app nhanhchóng hơn, đồng thời tạo thêm nhiều khả năng cho việc mở rộng ứng dụng

- Dependency Injection (DI): NestJS hỗ trợ DI, cho phép việc quản lý phụ thuộc

giữa các yếu tố của app một cách dé dang và linh hoạt Điều này hỗ trợ việc

kiểm tra đơn vị và tạo các thành phần tải sử dụng

- Middleware và Pipes: NestJS hỗ trợ middleware va pipes dé xử lý các yêu cầu

trước và sau khi chúng đi qua các route Điều này cho phép xác thực, ghi nhật

ký và kiểm tra dữ liệu đầu vào một cách dễ dàng và tổ chức

34

Trang 27

- Tích hợp dé dàng: NestJS tích hợp tốt với các công nghệ phổ biến như

TypeORM, MongoDB, Redis, GraphQL và nhiều công cụ khác Điều này giúp

việc làm việc với database và các công nghệ khác trở nên thuận tiện và linh hoạt.

Trong hệ thống quản lý khoá học trực tuyến, khoá luận dùng NestJS dé triển khai

các module, controller và service cho việc quản lý khoá học, người dùng, bình luận và

nhiều chức năng khác NestJS giúp khoá luận tổ chức mã nguồn một cách rõ ràng, cung

cấp khả năng mở rộng và tạo điều kiện cho việc tích hợp dé dàng với các công nghệ

khác.

Với NestJS, việc xây dựng hệ thống quản lý khoá học trực tuyến trở nên nhanh

chóng, cho phép khoá luận tập trung vào việc phát triển tính năng và cung cấp một ứng

dụng ôn định, mạnh mẽ và dé bao trì.

2.4 Web Socket, Socket.IO

Web Socket là một giao thức hai chiều (full-duplex) được sử dụng dé thiết lập kếtnối liên tục và tương tác giữa máy khách (client) và máy chủ (server) trên mạng web

Nó cho phép truyền dif liệu theo thời gian thực và thông qua một kết nối liên tục, giúp

tăng cường khả năng tương tác và đồng bộ giữa hai bên

Trong chương Cơ sở lý thuyết, khoá luận giới thiệu Web Socket và khả năng của

nó trong việc phát triển hệ thống quản lý khoá học thông qua interrnet Khoá luận trình

bày về cách Web Socket hoạt động, giao thức trao đồi thông điệp, và điểm mạnh của

việc dùng Web Socket trong môi trường ứng dụng Sử dụng Web Socket, khoá luận có

thé lập một kết nối liên tục giữa client và server, cho phép thông tin được truyền quamột cách nhanh chóng và hiệu quả Điều này rất hữu ích trong việc xây dựng hệ thốngquản lý khoá học trực tuyến, nơi cần phải cập nhật thông tin, thông báo và tương tác

realtime giữa người học và giảng viên.

Trong khoá luận, khoá luận sử dụng Socket.IO dé triển khai tính năng bình luận

trong hệ thống quản lý khoá học trực tuyến Socket.IO là một thư viện mã nguồn mở

cho phép tạo và quản lý kết nối WebSocket một cách nhanh chóng trên ứng dụng web

35

Trang 28

Khả năng của Socket.IO trong khoá luận là việc tạo ra kết nối hai chiều giữa

client và server, cho phép truyền thông điệp realtime Với Socket.IO, khoá luận tạo ramột hệ thống bình luận đa người dùng, nơi mọi người có thể gửi và nhận thông điệptrong thời gian thực mà không can refresh dé tai lại

Thông qua Socket.IO, khi người dùng gửi một bình luận, thông điệp sẽ được gửi

đến máy chủ và sau đó được phát trực tiếp đến các người dùng khác đang truy cập trang

web Điều này tạo ra trải nghiệm tương tác và giao tiếp thời gian thực, cho phép người

dùng xem và đưa ra phản hồi ngay lập tức

Trong các chương sau, khoá luận cũng cung cấp một hướng dẫn cụ thể về cách

sử dụng Socket.IO để triển khai tính năng bình luận trong hệ thống quản lý khoá học

trực tuyến Khoá luận mô tả về việc cài đặt và cấu hình Socket.IO, xác định các sự kiện

và trạng thái liên quan đến tính năng bình luận, cũng như việc xử lý và truyền thông

điệp giữa các người dùng.

2.5 Web RTC

Trong chương Co sở lý thuyết, khoá luận giới thiệu WebRTC (Web Real-Time

Communication) và cách sử dụng nó dé triển khai tinh năng chia sẻ livestream trong hệ

thống quản lý khoá học trực tuyến WebRTC là một công nghệ mã nguồn mở cho phép

truyền dữ liệu trực tiếp và thời gian thực giữa các trình duyệt web và ứng dụng di động

Khoá luận trình bày về khả năng của WebRTC trong việc tao ra kết nối trực tiếp(peer-to-peer) giữa các máy khách, cho phép truyền dữ liệu âm thanh, video và dữ liệu

trực tuyến Với WebRTC, khoá luận có thé triển khai tính năng chia sẻ livestream, cho

phép người dạy truyền trực tiếp nội dung giảng dạy và học viên theo dõi nội dung đó

trong thời gian thực.

Thông qua WebRTC, khi giảng viên bắt đầu livestream, dit liệu âm thanh và

video sẽ được truyền từ máy giảng viên đến các máy học viên một cách trực tiếp, tiếnhành hién thị nội dung livestream ngay lập tức Điều này tao ra một trải nghiệm tham

36

Trang 29

gia lớp học trực tuyến tương tự như lớp học truyền thống, nâng cao tính tương tác và

tiếp cận thông tin ngay trong thời gian thực

Dưới đây là các bước tông quát về cách sử dụng WebRTC mà khoá luận sử dụng

dé triển khai tính năng livestream:

1 Xác định vai trò và nhiệm vụ của các thành phần:

a Giang viên: Sẽ chia sẻ livestream từ máy tính hoặc thiết bị di động

b Hoc viên: Sẽ xem livestream trên máy tính hoặc thiết bị di động

2 Cài đặt & cấu hình WebRTC:

Tạo một kết nối WebRTC giữa máy giảng viên và các máy học viên bằng

cách sử dụng API WebRTC trong trình duyệt web.

Xác định các thông tin cần thiết như địa chỉ IP, cổng, và giao thức truyền

thông dé tạo kết nồi

3 Truyền đữ liệu âm thanh và video từ giảng viên đến học viên:

Giảng viên sử dụng camera và microphone đề ghi âm và video

Sử dụng API WebRTC đề truyền dữ liệu âm thanh và video từ giảng viên đếncác học viên đang kết nối

Các học viên sẽ nhận và hiên thị dir liệu âm thanh va video trong thời gian

thực.

4 Xử lý đồng bộ và tương tác giữa giảng viên và học viên:

Xử lý sự đồng bộ giữa giảng viên và học viên để đảm bảo rằng các học viên

nhận được thông tin livestream cùng một lúc và không có độ trễ lớn.

Xây dựng chức năng tương tác như chức năng chat, hỏi đáp, hoặc đánh giá cho phép học viên tương tác với giảng viên trong quá trình chia sẻ livestream.

37

Trang 30

Firebase Storage là một dịch vụ lưu trữ dam may mạnh mẽ va dễ sử dụng được

cung cấp bởi Firebase Nó cho phép lưu trữ và quan lý nhiều loại dữ liệu đa phương tiện

và các tệp tin khác một cách an toàn và linh hoạt trên đám mây cua Google.

Firebase Storage cung cấp nhiêu lợi ích quan trọng khi sử dung trong hệ thống

quan lý khoá học trực tuyến Dưới đây là một số điểm nổi bật:

e Dễ dàng tích hợp: Firebase Storage tích hợp tốt với các dich vụ Firebase

khác, cho phép chúng ta sử dụng chung các tài khoản, xác thực người dùng

38

Trang 31

và quản lý dự án Điều này giúp đơn giản hóa việc phát triển và quản lý ứng

dụng của chúng ta.

e Tính bảo mật cao: Firebase Storage hỗ trợ các tính năng bảo mật mạnh mẽ

như quyền truy cập dựa trên vai trò, chia sẻ tài nguyên điều khiến, và khả

năng xác thực người dùng Điều này đảm bảo rằng chỉ những người được ủy

quyền mới có thể truy cập và tải xuống tệp tin của chúng ta

e Nhanh chóng và dang tin cậy: Firebase Storage tận dụng cơ sở hạ tang mang

toàn cầu của Google, đảm bảo tốc độ truy cập nhanh chóng và độ tin cậy cao

Dữ liệu của chúng ta được lưu trữ trên nhiều vị trí vật ly dé luôn được sẵn

sang và khả năng chịu lỗi.

e Mo rộng linh hoạt: Chúng ta có thé tăng cường dung lượng lưu trữ một cách

tiện lợi và chỉ trả tiền cho lượng tài nguyên mà chúng ta thực sự sử dụng

Ví dụ, trong hệ thống quản lý khoá học trực tuyến, Firebase Storage có thé được

sử dụng để lưu trữ các tệp tin ảnh và video liên quan đến khoá học Khi một giảng viên

tải lên một tệp tin ảnh hoặc video, nó sẽ được lưu trữ trên Firebase Storage Sau đó, các

học viên có thể truy cập và xem những tệp tin này thông qua ứng dụng di động hoặc

trang web của hệ thống

Với Firebase Storage, việc quan lý và truy xuất tệp tin đa phương tiện trong hệthống quản lý khoá học trực tuyến trở nên dé dàng và đáng tin cậy

2.7 MongoDB

Trong chương Cơ sở lý thuyết, khoá luận giới thiệu MongoDB, một hệ quản trị

cơ sở dữ liệu phi quan hệ mã nguồn mở và linh hoạt MongoDB được thiết kế dé lưu

trữ và xử lý dữ liệu không có cấu trúc và có thê mở rộng theo quy mô

Khoá luận trình bày về các đặc điểm và lợi ích của MongoDB trong việc xây

dựng hệ thống quản lý khoá học trực tuyến Các điểm nôi bật bao gồm:

- Dir liệu không có cấu trúc: MongoDB cho phép lưu trữ dữ liệu không có cau

trúc (NoSQL), giúp đơn giản hóa quá trình phát triển và mở rộng hệ thống

39

Trang 32

Chúng ta không cần định nghĩa cấu trúc bảng trước và có thé linh hoạt thêm

hoặc xóa các trường đữ liệu.

- Kha năng mở rộng: MongoDB cho phép mở rộng dit liệu theo quy mô dé dang.

Chúng ta có thé thêm các node mới vào cum MongoDB dé xử ly lượng dữ liệu

lớn và đáp ứng nhu cầu tải cao mà không gây gián đoạn dịch vụ

- _ Tính linh hoạt: MongoDB hỗ trợ nhiều loại truy van và khả năng tìm kiếm phong

phú Chúng ta có thé thực hiện các truy van phức tạp và tìm kiếm dựa trên các

tiêu chí linh hoạt để truy xuất dữ liệu một cách hiệu quả

- _ Tích hợp dé dàng: MongoDB tích hợp tốt với các ngôn ngữ lập trình phổ biến

như JavaScript, Node.js và Python Chúng ta có thể sử dụng các thư việnMongoDB hỗ trợ trong việc phát triển ứng dụng và tương tác với cơ sở dữ liệu

Trong hệ thống quản lý khoá học trực tuyến, MongoDB có thé được sử dụng

để lưu trữ thông tin về người dùng, khoá học, bình luận và các tài liệu khác Dữ liệu

không có cấu trúc của MongoDB giúp khoá luận lĩnh hoạt trong việc thêm, sửa đổi và

truy xuất thông tin liên quan đến khoá học và người dùng

Với MongoDB, việc xây dựng hệ thống quản lý khoá học trực tuyến trở nên dédàng và hiệu quả, cho phép khoá luận lưu trữ và truy xuất dữ liệu một cách linh hoạt

và nhanh chóng.

2.8 Tích hợp cong thanh toán VNPAY

Trong chương Cơ sở lý thuyết, khoá luận giới thiệu quá trình tích hợp công thanh

toán VNPAY vào hệ thống quan lý khoá học trực tuyến VNPAY là một công thanh

toán hàng đầu tại Việt Nam, cung cấp giải pháp thanh toán trực tuyến an toàn và tiện

lợi cho doanh nghiệp và người dùng.

2.8.1 Sơ đồ tuần tự

Về cơ bản, việc sử dụng tích hợp vnpay được diễn ra như sau:

40

Trang 33

we -_—

—I Mua hàng và chọn thanh toán qua VNPay— - '

' ¬ F——› Gùi yêu cầu thanh team

E2 Nhập thông tin thẻ hoặc tài khoản dé tiếp tục-‡ :

, ' 8.1 Yêu cầu gửi xác thực———

' Rone see 3.2 Thành công - - - - - ~~ ¬

‘ : '

———-4.NharorP : '

' 8 r——4.1 Xác thực OTP, chuẩn chi GD——>:

' lạ a7 l aie to n-222 4.2 Thanh công - - 3

4 R tra } 1 Thông báo kết quả (Return Url)——} h

Kếcrcrrre 6 Thông bao kết quả GD - CS 2d Thông báo Két quả GD (IPN Uri —: '

6.3 Phản hôi KQ và cập nhật cho VNPay - >>

h † 1 Gửi yêu cậu truy vẫn (Querydr——; h

' kŒ-======== 2 Phản hồi kết quả - - - - -~ + '

1 Gửi yêu cầu hoàn (Refund)————>

a 2 Phản hồi kết qua -4 h

Hình 2.8.1: Sơ đô tuần tự VNPay

Sơ đồ tuần tự của VNPAY là một biêu đồ trình tự, mô tả quá trình giao tiếp và

xử lý dữ liệu giữa các thành phần trong hệ thống thanh toán của VNPAY Nó cho phép

hiểu cách các thành phần tương tác và truyền thông tin với nhau đề thực hiện quá trình

thanh toán.

Sơ đồ tuần tự của VNPAY thường bao gồm các bước chính như sau:

1 Người dùng tạo yêu cầu thanh toán trên ứng dụng hoặc trang web

2 Yêu cầu thanh toán được gửi tới VNPAY qua giao thức HTTP(S)

3 VNPAY tiếp nhận yêu cầu và xác thực thông tin người dùng và giao dịch

4 Sau khi xác thực thành công, VNPAY tạo và gửi URL thanh toán cho người dùng.

5 Người dùng truy cập URL thanh toán đề tiễn hành thanh toán

6 Người dùng điền thông tin thanh toán (số thẻ, mã CVV, mật khẩu, V.V.) trên

trang thanh toán của VNPAY.

7 Thông tin thanh toán được gửi tới VNPAY để xử lý

41

Trang 34

8 VNPAY thực hiện các bước xử lý thanh toán, bao gồm kiểm tra và xác thực

thông tin, truy vấn ngân hàng để xác nhận giao dịch, và gửi yêu cầu thanh toán tới ngân

hàng.

9 Ngân hàng xử lý yêu cầu thanh toán và gửi lại kết quả cho VNPAY

10 VNPAY nhận kết quả từ ngân hàng và thông báo kết quả cho người dùng

11 Người dùng nhận thông báo kết quả thanh toán và hoàn tất quá trình thanh

toán.

Sơ đồ tuần tự giúp hiểu quy trình giao tiếp và xử lý dữ liệu giữa các thành phần

trong hệ thống thanh toán của VNPAY, đồng thời giúp xác định và giải quyết các vấn

đề có thê xảy ra trong quá trình thanh toán

2.8.2 Các bước tích hợp

Sau đây, khoá luận trình bày vê các bước cân thiệt đê tích hợp công thanh

toán VNPAY vào hệ thống, bao gồm:

o_ Đăng ký và cau hình tài khoản VNPAY: Đầu tiên, chúng ta cần đăng ký

và có một tài khoản VNPAY Sau đó, chúng ta sẽ cấu hình các thông tin

tài khoản và khai báo các thông tin liên quan đến hệ thống của chúng ta

như URL callback, mã đơn vi thanh toán, khóa bí mật, v.v.

o_ Xây dựng giao diện thanh toán: Tiếp theo, chúng ta cần xây dựng giao

diện thanh toán trên trang web hoặc ứng dụng của mình Giao diện này

sẽ cho phép người dùng chọn phương thức thanh toán và nhập thông tin

thanh toán cần thiết

o Gửi yêu cầu thanh toán đến VNPAY: Khi người dùng chọn phương thức

thanh toán và nhập thông tin cần thiết, hệ thống của chúng ta sẽ tạo yêucầu thanh toán và gửi đến VNPAY Yêu cầu này sẽ bao gồm thông tin về

số tiền thanh toán, mô tả giao dịch, mã đơn hàng và các thông tin khác

o_ Xử lý phản hồi từ VNPAY: Sau khi nhận yêu cầu thanh toán, VNPAY

sẽ xử lý giao dịch và trả về kết quả thanh toán cho hệ thống của chúng ta

thông qua URL callback đã được cấu hình trước đó Chúng ta cần xử lý

42

Trang 35

kết quả thanh toán từ VNPAY dé xác nhận trạng thái thanh toán và cập

nhật thông tin liên quan đến giao dịch

o Xác thực và bảo mật: Trong quá trình tích hợp VNPAY, can chú ý đến

van đề xác thực và bảo mật Chúng ta cần đảm bao rang các yêu cầu vàphản hồi thanh toán được mã hóa và xác thực dé đảm bảo an toàn cho

giao dịch.

Khi tích hợp cổng thanh toán VNPAY vào hệ thống quản lý khoá học trực

tuyến, chúng ta cần làm quen với một số khái niệm và API liên quan Dưới đây

là một số khái niệm và phương thức quan trọng trong quá trình tích hợp:

- Phuong thức thanh toán: VNPAY hỗ trợ các phương thức thanh toán đa

dạng như thanh toán qua thẻ ngân hàng, ví điện tử, QR Code, thẻ

Visa/MasterCard, v.v Chúng ta cần xác định và cung cấp các phương

thức thanh toán phù hợp với hệ thống của mình

- URL callback: URL callback là URL mà VNPAY sẽ gửi kết quả thanh

toán và các thông báo liên quan về giao dịch Chúng ta cần cung cấp URL

callback dé hệ thống của chúng ta có thé nhận và xử lý các thông báo từ

VNPAY.

- Ma đơn vi thanh toán (Merchant ID): Mã đơn vi thanh toán là một mã

duy nhất được cấp bởi VNPAY cho từng đối tác Nó được sử dụng dé

xác định và xác thực tải khoản của chúng ta khi tương tac với VNPAY.

- Khoa bí mật (Secret Key): Khóa bí mật là một chuỗi ký tự bí mật được

sử dung dé mã hóa và xác thực dữ liệu giao dịch giữa hệ thống của chúng

ta và VNPAY Chúng ta cần đảm bảo rằng khóa bí mật được bảo mật và

không được tiết lộ cho bat ky ai

- API của VNPAY: VNPAY cung cấp một loạt API dé tương tác với hệ

thống của họ Các API này cho phép chúng ta gửi yêu cầu thanh toán,

xác thực giao dịch, truy vẫn trạng thái thanh toán, và nhiều hoạt động

43

Trang 36

khác Chúng ta cần tìm hiểu va sử dụng các API phù hợp dé tích hợp

VNPAY vào hệ thống của mình

Các khái niệm và phương thức trên là một phần trong quá trình tích hợp

công thanh toán VNPAY Dé tích hợp thành công, chúng ta cần tham khảo tài

liệu hướng dẫn của VNPAY, nắm vững các khái niệm và sử dụng các API cung

cấp dé gửi yêu cầu và nhận phản hồi từ VNPAY

Việc tích hợp công thanh toán VNPAY vào hệ thống quản lý khoá học

trực tuyến giúp người dùng có thể thanh toán các khoá học một cách tiện lợi và

an toàn Việc cung cấp các phương thức thanh toán đa dạng như VNPAY tăng

cường tính chuyên nghiệp và tạo sự tin tưởng cho người dùng trong việc sử dụng dịch vụ của chúng ta.

Các khái niệm, nguyên lý và công nghệ đã được trình bày trong chương Cơ sở

lý thuyết cung cấp nền tảng kiến thức vững chắc cho việc xây dựng hệ thống quan lýkhoá học trực tuyến Chúng bao gồm việc giới thiệu về Xây dựng hệ thống quản lý

khoa học trực tuyến, phạm vi nghiên cứu, các công nghệ sử dụng như Flutter, NestJS,

MongoDB, Firebase Storage và VNPAY Điều này định hướng cho các chương tiếptheo của khoá luận, nơi khoá luận sẽ áp dụng những kiến thức này vào việc phân tích,thiết kế và triển khai hệ thông

2.9 Search engine by Google API ; ; ;

Đây là một công nghệ mạnh mẽ được cung cap bởi Google đê tìm kiêm và truy

xuất thông tin từ Web Được phát triển bởi Google, công cụ tìm kiếm này sử dung cácthuật toán và phương pháp tiên tiến dé cung cấp kết qua tìm kiếm chính xác và phù

hợp với mong muôn của người dùng.

Tính năng xem tin tức trong khoá luận dùng Google API đề tìm kiếm và hiển thị

các tin tức liên quan đến nội dung của khoá luận Google API cung cấp khả năng tìm

kiếm thông tin từ hàng ngàn nguồn tin tức trên toàn cầu và đưa ra kết quả theo độ ưu

tiên và mức độ phù hợp.

44

Trang 37

Tính năng này cho phép người dùng truy cập và đọc các tin tức mới nhất, thôngtin liên quan và bài báo chuyên sâu liên quan đến chủ đề của khoá luận Sử dụng Google

API, người dùng có thé tìm kiếm theo từ khóa, lọc kết quả theo thời gian, nguồn tin,

định dạng và nhiều tiêu chí khác đề tìm được thông tin mong muốn

Công nghệ tìm kiếm của Google API được đánh gia cao về độ chính xác, tốc độ

và khả năng tìm kiếm trong lượng lớn dữ liệu Nó cung cấp một giao diện dễ sử dụng

và linh hoạt, cho phép tích hợp và tùy chỉnh theo nhu cầu của ứng dụng và người dùng

Việc sử dụng Google API trong tính năng xem tin tức trong khoá luận giúp nâng

cao trải nghiệm người dùng, cung cấp thông tin phong phú và đáng tin cậy từ các nguồn

tin uy tín trên Internet.

45

Trang 38

Chương 3 RECOMMENDATION SYSTEM CHO TÍNH NĂNG DE

XUẤT KHOA HỌC DỰA TREN COLLABORATIVE FILTERING

Recommendation System (Hệ thống dé xuất) đã trở thành một công nghệ quan

trọng trong lĩnh vực quản lý học tập trực tuyến Với sự phát triển của công nghệ và nhu

cầu người học, việc đề xuất khoá học phù hợp và cá nhân hóa đã trở thành một yếu tố

quan trọng dé tăng cường sự tương tác và cải thiện trải nghiệm học tập

Trong chương này, chúng ta sẽ tìm hiểu về Collaborative Filtering - một phươngpháp trong Recommendation System - và cách áp dụng nó vào tính năng đề xuất khoá

học trong LMS Collaborative Filtering dựa trên khả năng khai thác thông tin từ hành

vi của người dùng và tương tác giữa các người dùng đề tạo ra các đề xuất phù hợp và

cá nhân hóa.

Chương 3 cung cấp thông tin về Collaborative Filtering, từ cách xây dựng ma

trận đánh giá người dùng đến cách tính toán sự tương đồng giữa các người dùng và mặthàng Chúng ta sẽ khám phá cách thiết kế và triển khai Recommendation System, từtiền xử lý dữ liệu đến xây dựng mô hình Collaborative Filtering Ngoài ra, chúng tacũng sẽ xem xét các ưu diém, thách thức và giải pháp trong việc triển khai và quản lý

Recommendation System trong LMS.

Với chương này, hy vọng sẽ giúp người đọc hiểu rõ hơn về tam quan trọng củaRecommendation System và cách sử dụng Collaborative Filtering để cải thiện trảinghiệm học tập và đề xuất khoá hoc phù hợp trong hệ thống quản lý học tập trực tuyến

3.1 Giới thiệu về Recommendation System va Collaborative Filtering

Recommendation System va Collaborative Filtering là hai khái niệm quan trong

trong lĩnh vực hệ thống gợi ý Recommendation System là một hệ thống phan mềm

hoặc công cụ giúp dự đoán và đề xuất những mục/đối tượng mà người dùng có thé quan

tâm hoặc thích Hệ thống này có vai trò tim kiếm và lọc thông tin từ cơ sở dt liệu lớn

và đưa ra các gợi ý phù hợp, nhằm cung cấp trải nghiệm cá nhân hóa và tối ưu cho

người dùng.

Một ví du dé hiểu về Collaborative Filtering trong thực tế là hệ thống gợi ý phim

cua Netflix Netflix sử dụng phương pháp Collaborative Filtering dé đưa ra các gợi ý

46

Trang 39

phim cho người dùng dựa trên sở thích và hành vi của họ cũng như của những người dùng khác.

Gia sử có hai người dung A và B trên Netflix Người dùng A đã xem và đánh giá

một số phim, trong khi người dùng B đã xem và đánh giá một tập phim khác.Collaborative Eiltering sẽ xác định sự tương đồng giữa A và B dựa trên các đánh giá và

sở thích của họ Nếu hai người dùng có sự tương đồng cao, tức là họ thường đánh giá

và yêu thích các phim tương tự, hệ thống sẽ gợi ý những phim mà người dùng B đã xem

và thích cho người dùng A.

Ví dụ, nếu người dùng A thích các bộ phim hành động và khoa học viễn tưởng,

và người dùng B cũng có sở thích tương tự, Collaborative Filtering sẽ đưa ra gợi ý các

bộ phim hành động và khoa học viễn tưởng cho người dùng A dựa trên những bộ phim

mả người dùng B đã xem và đánh giá cao.

Phương pháp Collaborative Filtering cho phép Netflix xác định mối quan hệ giữacác người dùng và các phim, từ đó đưa ra các gợi ý phù hợp Điều này giúp cải thiệntrải nghiệm người dùng, giúp họ khám phá các bộ phim mới và tìm kiếm những nội

dung phù hợp với sở thích cá nhân của mình.

3.1.1 Khái niệm về Recommendation System ¬

Trong thời đại sô hóa và dữ liệu lớn, Recommendation System (Hệ thông đê

xuất) đã trở thành một công nghệ quan trọng trong việc cung cấp gợi ý và đề xuất cá

nhân hóa cho người dùng Recommendation System giúp tăng cường trải nghiệm người

dùng, khám phá nội dung mới và tăng cường tương tác trong nhiều lĩnh vực, bao gồm

cả hệ thống quản lý học tập

3.1.2 Collaborative Filtering và vai trò trong Recommendation

System Collaborative Filtering là một trong những phương pháp quan trọng trong Recommendation System Nó dựa trên việc khai thác thông tin từ hành vi và tương tac

giữa các người dùng đề đề xuất nội dung tương tự hoặc phù hợp với sở thích của người

dùng Collaborative Filtering sử dụng thông tin từ nhóm người dùng tương tự dé đưa ra

những đê xuât cá nhân hóa.

47

Trang 40

3.1.3 Ưu điểm và hạn chế của Collaborative FilteringCollaborative Filtering có nhiều ưu điểm quan trọng trong việc đề xuất khoá học

trong hệ thống quản lý học tập trực tuyến Một trong số đó là khả năng xử lý dữ liệu lớn

và đưa ra những đề xuất chính xác dựa trên sự tương tác giữa người dùng Collaborative

Filtering cũng cho phép tạo ra đề xuất cá nhân hóa, giúp người dùng khám phá những

khoá học mới và phù hợp với sở thích của mình.

Tuy nhiên, Collaborative Filtering cũng có nhược điểm và hạn chế cần được xem

xét Một trong những hạn chế của Collaborative Filtering là sự phụ thuộc vào thông tin

từ người dùng khác và sự tương tác giữa các người dùng Nếu không có đủ dữ liệu hoặc

không có sự tương tác đủ lớn, Collaborative Filtering có thể gặp khó khăn trong việc

đưa ra các đê xuât chính xác và phù hợp.

3.2 Cơ sở lý thuyết về Collaborative Filtering

Cơ sở lý thuyết về Collaborative Filtering là một phần quan trọng để hiểu về

Recommendation System, giúp hiêu các cơ sở đê xác định và tận dụng sự tương đông giữa người dùng và các mục tiêu đê đưa ra các gợi ý cá nhân hóa.

Cơ sở lý thuyết về Collaborative Filtering dựa trên một giả định cơ bản rằng

người dùng có xu hướng có sự tương tự trong hành vi và sở thích với những người

dùng khác Điều này có nghĩa là nếu hai người dùng có sự tương đồng trong việc đánh

giá, mua hàng hoặc tương tác với các mục tiêu, thì có khả năng cao họ sẽ có những sở thích và quan tâm tương tự với những mục tiêu khác.

3.2.1 Đánh giá và xếp hạng trong hệ thống đánh giá người dùngTrong hệ thống đề xuất và đánh giá người dùng, việc đánh giá và xếp hạng là

một yếu tô quan trọng dé hiểu sở thích va quan điểm của người dùng Đánh giá và xếp

hạng giúp thu thập thông tin về chất lượng, sự hài lòng và tương tác của người dùng với

các khoá học trong LMS Dựa trên thông tin nay, Collaborative Filtering sẽ đưa ra

những đề xuất và gợi ý phù hợp cho người dùng

48

Ngày đăng: 03/11/2024, 17:29