Tải bản đầy đủ (.pdf) (151 trang)

Khóa luận xây dựng hệ thống quản lý khóa học trực tuyến

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (5.24 MB, 151 trang )

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM
---🙚🙘🕮🙚🙘---

BÙI THIỆN NHÂN
NGUYỄN YẾN NHI

KHOÁ LUẬN TỐT NGHIỆP

XÂY DỰNG HỆ THỐNG QUẢN LÝ KHÓA HỌC
TRỰC TUYẾN
BUILDING ONLINE COURSE MANAGEMENT SYSTEM

KỸ SƯ/ CỬ NHÂN NGÀNH CƠNG NGHỆ PHẦN MỀM

TP. HỒ CHÍ MINH, 2023


ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM
---🙚🙘🕮🙚🙘---

BÙI THIỆN NHÂN - 19521927
NGUYỄN YẾN NHI – 19520205

KHOÁ LUẬN TỐT NGHIỆP

XÂY DỰNG HỆ THỐNG QUẢN LÝ KHÓA HỌC
TRỰC TUYẾN


BUILDING ONLINE COURSE MANAGEMENT SYSTEM

KỸ SƯ/ CỬ NHÂN NGÀNH CÔNG NGHỆ PHẦN MỀM

GIẢNG VIÊN HƯỚNG DẪN
NGUYỄN TRỊNH ĐƠNG

TP. HỒ CHÍ MINH, 2023


THƠNG TIN HỘI ĐỒNG CHẤM KHĨA LUẬN TỐT NGHIỆP
Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số ……………………
ngày ………………….. của Hiệu trưởng Trường Đại học Công nghệ Thông tin.
1.............................................................– Chủ tịch.
2..............................................................– Thư ký.
3. ........................................................... – Ủy viên.
4. ........................................................... – Ủy viên


ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM
TRƯỜNG ĐẠI HỌC
Độc Lập - Tự Do - Hạnh Phúc
CÔNG NGHỆ THÔNG TIN

TP. HCM, ngày…..tháng…..năm……..

NHẬN XÉT KHĨA LUẬN TỐT NGHIỆP
(CỦA CÁN BỘ HƯỚNG DẪN)


Tên khóa luận:
XÂY DỰNG HỆ THỐNG QUẢN LÝ KHĨA HỌC TRỰC TUYẾN
Nhóm SV thực hiện:

Cán bộ hướng dẫn/phản biện:

Bùi Thiện Nhân

19521927

Nguyễn Yến Nhi

19520205

TS Nguyễn Trịnh Đơng

Đánh giá Khóa luận
1. Về cuốn báo cáo:
Số trang________ Số chương________
Số bảng số liệu________ Số hình vẽ________
Số tài liệu tham khảo

Sản phẩm

Một số nhận xét về hình thức cuốn báo cáo:
……………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………
4



……………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………….
2. Về nội dung nghiên cứu:
……………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………
3. Về chương trình ứng dụng:
……………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………
4. Về thái độ làm việc của sinh viên:
……………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………
Đánh giá chung:
……………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………

5


……………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………

Điểm từng sinh viên:
Bùi Thiện Nhân:………../10
Nguyễn Yến Nhi:………../10

Người nhận xét
(Ký tên và ghi rõ họ tên)

6


ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM

TRƯỜNG ĐẠI HỌC

Độc Lập - Tự Do - Hạnh Phúc

CÔNG NGHỆ THÔNG TIN
TP. HCM, ngày…..tháng…..năm……..

NHẬN XÉT KHĨA LUẬN TỐT NGHIỆP
(CỦA CÁN BỘ)


Tên khóa luận:
XÂY DỰNG HỆ THỐNG QUẢN LÝ KHĨA HỌC TRỰC TUYẾN
Nhóm SV thực hiện:

Cán bộ hướng dẫn/phản biện:

Bùi Thiện Nhân

19521927

Nguyễn Yến Nhi

19520205

TS Nguyễn Trịnh Đơng

Đánh giá Khóa luận
1. Về cuốn báo cáo:
Số trang________ Số chương________
Số bảng số liệu________ Số hình vẽ________
Số tài liệu tham khảo

Sản phẩm

Một số nhận xét về hình thức cuốn báo cáo:
………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………


7


2. Về nội dung nghiên cứu:
………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………
3. Về chương trình ứng dụng:
………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………
4. Về thái độ làm việc của sinh viên:
………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………
Đánh giá chung:
………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………


8


………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………

Điểm từng sinh viên:
Bùi Thiện Nhân:………../10
Nguyễn Yến Nhi:………../10

Người nhận xét
(Ký tên và ghi rõ họ tên)

9


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 tất 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 q 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 thầy là những điều quý báu giúp nhóm xuyên suốt thời gian thực hiện đề tài. Nhờ sự hỗ
trợ và đồng hành của thầy, chúng em đã có thể hồn thành luận án này một cách sn sẻ.
rong q 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
NGUYỄN YẾN NHI


11


MỤC LỤC
DANH MỤC HÌNH .................................................................................................... 16
DANH MỤC BẢNG ................................................................................................... 17
CHƯƠNG 1.
1.1.
1.2.
1.3.
1.4.
1.5.
1.6.
1.7.

GIỚI THIỆU ĐỀ TÀI .................................................................... 18

Giới thiệu chung ........................................................................................... 18
Lý do chọn đề tài .......................................................................................... 18
Phạm vi nghiên cứu và ưu nhược điểm ........................................................ 19

Chức năng chính ........................................................................................... 20
Cơng nghệ sử dụng ....................................................................................... 21
Cấu trúc khố luận: ....................................................................................... 22
Thơng tin nhóm ............................................................................................ 24

CHƯƠNG 2.

CƠ SỞ LÝ THUYẾT ..................................................................... 25

2.1.
Learning Management System (Hệ thống quản lý học tập) ......................... 25
2.1.1.
Giới thiệu chung về LMS – Hệ thống Quản lý Học tập ....................... 25
2.1.2.
Các thành phần cấu tạo ......................................................................... 26
2.1.3.
Mơ hình triển khai và quản lý LMS ..................................................... 28
2.1.3.1. Mơ hình triển khai truyền thống ....................................................... 28
2.1.3.2. Mơ hình triển khai dựa trên đám mây .............................................. 29
2.1.3.3. Quản lý và bảo trì hệ thống LMS ..................................................... 30
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 ..... 30
2.1.4.
Tích hợp và mở rộng LMS ................................................................... 31
2.1.4.1. Tích hợp hệ thống LMS........................................................................ 31
2.1.4.2. Mở rộng tính năng LMS ................................................................... 31
2.1.5.1. Tầm quan trọng và sự phát triển của LMS trong tương lai .............. 32
2.1.5.2. Các xu hướng và dự đoán về LMS ................................................... 32
2.2.
Flutter............................................................................................................ 33
2.3.

NestJs ............................................................................................................ 34
2.4.
Web Socket, Socket.IO ................................................................................. 35
2.5.
Web RTC ...................................................................................................... 36
2.6.
Firebase Storage ........................................................................................... 38
2.7.
MongoDB ..................................................................................................... 39
2.8.
Tích hợp cổng thanh toán VNPAY .............................................................. 40
2.8.1.
Sơ đồ tuần tự ......................................................................................... 40
2.8.2.
Các bước tích hợp ................................................................................. 42
2.9.
Search engine by Google API ...................................................................... 44
CHƯƠNG 3. RECOMMENDATION SYSTEM CHO TÍNH NĂNG ĐỀ
XUẤT KHOÁ HỌC DỰA TRÊN COLLABORATIVE FILTERING ................. 46
3.1.

Giới thiệu về Recommendation System và Collaborative Filtering ............. 46
12


3.1.1.
Khái niệm về Recommendation System .............................................. 47
3.1.2.
Collaborative Filtering và vai trò trong Recommendation System ...... 47
3.1.3.

Ưu điểm và hạn chế của Collaborative Filtering .................................. 48
3.2.
Cơ sở lý thuyết về Collaborative Filtering ................................................... 48
3.2.1.
Đánh giá và xếp hạng 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 ........................................................ 49
3.2.1.2. Xếp hạng và mức độ quan trọng....................................................... 49
3.2.1.3. Xử lý dữ liệu đánh giá ...................................................................... 49
3.2.2.
Phân loại Collaborative Filtering.......................................................... 49
3.2.2.1. User-Based Collaborative Filtering .................................................. 50
3.2.2.2. Item-Based Collaborative Filtering .................................................. 50
3.3.
Cách thức hoạt động của Collaborative Filtering ......................................... 50
3.3.1.
Xây dựng ma trận đánh giá người dùng ............................................... 50
3.3.2.
Tính tốn sự tương đồng giữa các khố học......................................... 52
3.3.3.
Dự đoán xếp hạng cho khoá học chưa xem/khám phá ......................... 55
3.4.
Đánh giá và cải tiến Recommendation System ............................................ 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ệ thống ............................................................. 58
3.5.
Ứng dụng của Recommendation System trong tính năng đề xuất khố học 59
3.5.1.
Thiết kế giao diện đề xuất khoá học ..................................................... 59

3.5.2.
Quy trình đề xuất khố học .................................................................. 60
3.5.2.1. Xác định người dùng đang xem/khám phá khố 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á học 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 ............................................... 61
3.6.2.
Thách thức và giải pháp........................................................................ 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
CHƯƠNG 4.

PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG.................................. 64

4.1.
Phân tích yêu cầu .......................................................................................... 64
4.2.
Kiến trúc tổng quan ...................................................................................... 67
4.2.1.
Mơ hình kiến trúc ..................................................................................... 67
4.2.2.
Các thành phần chính ........................................................................... 67
4.2.3.
Clean Architecture ................................................................................ 68

4.3.
Thiết kế hệ thống .......................................................................................... 72
4.3.1.
Sơ đồ use-case .......................................................................................... 72
4.3.2.
Danh sách các use-case ............................................................................ 73
4.3.3.
Đặc tả use-case ......................................................................................... 75
4.3.3.1. Use-case “Đăng nhập” .......................................................................... 75
13


4.3.3.2. Use-case “Đăng ký” ............................................................................. 76
4.3.3.3. Use-case “Đăng xuất”........................................................................... 78
4.3.3.4. Use-case “Xác thực email” ................................................................... 79
4.3.3.5. Use-case “Quên mật khẩu” ................................................................... 79
4.3.3.6. Use-case “Xem danh sách khóa học” ................................................... 80
4.3.3.7. Use-case “Xem chi tiết khóa học” ........................................................ 81
4.3.3.8. Use-case “Tham gia khóa học” ............................................................ 82
4.3.3.9. Use-case “Bình luận khóa học” ............................................................ 84
4.3.3.10.
Use-case “Đánh giá khóa học” ......................................................... 85
4.3.3.11.
Use-case “Nâng cấp tài khoản” ........................................................ 87
4.3.3.12.
Use-case “Làm bài kiểm tra” ............................................................ 88
4.3.3.13.
Use-case “Tham gia Livestream” ..................................................... 89
4.3.3.14.
Use-case “Tương tác với người dùng khác” .................................... 90

4.3.3.15.
Use-case “Đánh giá giảng viên” ....................................................... 91
4.3.3.16.
Use-case Cập nhật hồ sơ ................................................................... 92
4.3.3.17.
Use-case “Bắt đầu livestream” ......................................................... 93
4.3.3.18.
Use-case “Thêm mới khóa học” ....................................................... 93
4.3.3.19.
Use-case “Chỉnh sửa khóa học” ....................................................... 96
4.3.3.20.
Use-case “Xóa khóa học” ................................................................. 98
4.3.3.21.
Use-case “Tạo mới bài kiểm tra” ..................................................... 99
4.3.3.22.
Use-case “Cập nhật bài kiểm tra” ................................................... 100
4.3.3.23.
Use-case “Xóa bài kiểm tra” .......................................................... 101
4.4.
Thiết kế dữ liệu ........................................................................................... 103
4.4.1.
Sơ đồ logic .......................................................................................... 103
4.4.2.
Mô tả chi tiết bảng dữ liệu .................................................................. 104
4.4.2.1. Bảng “User” .................................................................................... 104
4.4.2.2. Bảng “Course” ................................................................................ 105
4.4.2.3. Bảng “Section” ............................................................................... 106
4.4.2.4. Bảng “Lesson” ................................................................................ 106
4.4.2.5. Bảng “Exam” .................................................................................. 107
4.4.2.6. Bảng “Question” ............................................................................. 107

4.4.2.7. Bảng “Result” ................................................................................. 108
4.4.2.8. Bảng “Comment” ........................................................................... 108
4.4.2.9. Bảng “Rate” .................................................................................... 108
4.4.2.10.
Bảng “History” ........................................................................... 109
4.4.2.11.
Bảng “RecentCourse” ................................................................. 109
4.5.
Thiết kế giao diện ....................................................................................... 110
4.5.1.
Danh sách màn hình ........................................................................... 110
4.5.2.
Chi tiết màn hình ................................................................................ 112
4.5.2.1. Màn hình “SignIn” ......................................................................... 112
4.5.2.2. Màn hình “SignUp” ........................................................................ 114
4.5.2.3. Màn hình “ForgotPassword” .......................................................... 115
14


4.5.2.4.
4.5.2.5.
4.5.2.6.
4.5.2.7.
4.5.2.8.
4.5.2.9.
4.5.2.10.
4.5.2.11.
4.5.2.12.
4.5.2.13.
4.5.2.14.

4.5.2.15.
4.5.2.16.
4.5.2.17.
4.5.2.18.
4.5.2.19.
CHƯƠNG 5.

Màn hình “Home” .......................................................................... 119
Màn hình “Search” ......................................................................... 121
Màn hình “TeacherDetail” ............................................................. 123
Màn hình “CourseDetail” ............................................................... 124
Màn hình “LessonDetail” ............................................................... 128
Màn hình “Livestream” .................................................................. 129
Màn hình “EnrolledCourse” ....................................................... 130
Màn hình “Profile” ..................................................................... 131
Màn hình “UpdateProfile”.......................................................... 133
Màn hình “UpgradeAccount” ..................................................... 134
Màn hình “Notification” ............................................................. 135
Màn hình “Language” ................................................................ 136
Màn hình “PrivacyPolicy”.......................................................... 137
Màn hình “HelpCenter”.............................................................. 138
Màn hình “UploadedCourses” .................................................... 140
Màn hình “CreateCourse” .......................................................... 141
KẾT LUẬN ................................................................................... 145

5.1.
Tóm tắt mục tiêu và phạm vi của nghiên cứu ............................................ 145
5.1.1.
Mục tiêu nghiên cứu ........................................................................... 145
5.1.2.

Phạm vi nghiên cứu ............................................................................ 145
5.1.3.
Giới hạn nghiên cứu ........................................................................... 145
5.1.4.
Cấu trúc khoá luận .............................................................................. 146
5.2.
Đánh giá kết quả đạt được .......................................................................... 146
5.3.
Tầm quan trọng và ứng dụng của khoá luận .............................................. 147
5.3.1.
Tầm quan trọng................................................................................... 147
5.3.2.
Ứng dụng ............................................................................................ 147
5.4.
Những đóng góp của khố luận .................................................................. 148
5.4.1.
Đóng góp cơng nghệ và phát triển hệ thống ....................................... 148
5.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 và đào tạo trực tuyến: ........ 148
5.5.
Những giới hạn và hướng phát triển ........................................................... 149
5.6.
Tổng kết ...................................................................................................... 149
TÀI LIỆU THAM KHẢO........................................................................................ 151

15



DANH MỤC HÌNH
Hình 2.1: Cấu trúc code dart cơ bản ............................................................................. 34
Hình 2.3: Thành phần của Web RTC ........................................................................... 38
Hình 2.4: Firebase storage ............................................................................................ 38
Hình 3.1: Mơ hình hệ thống ......................................................................................... 69
Hình 3.2: Sơ đồ use-case tổng quát .............................................................................. 72
Hình 4.1.1: Sơ đồ logic dữ liệu................................................................................... 103
Hình 4.2.2.1: Màn hình SignIn ................................................................................... 112
Hình 4.2.2.2: Màn hình SignUp ................................................................................. 114
Hình 4.2.2.3.1: Màn hình GetPasswordToken ........................................................... 116
Hình 4.2.2.3.2: Màn hình ResetPassword .................................................................. 117
Hình 4.2.2.4: Màn hình Home .................................................................................... 119
Hình 4.2.2.5: Màn hình TeacherDetail ....................................................................... 123
Hình 4.2.2.6.1: Màn hình CourseDetail (false) .......................................................... 125
Hình 4.2.2.6.2: Màn hình CourseDetail (true)............................................................ 126
Hình 4.2.2.7: Màn hình LessonDetail ........................................................................ 128
Hình 4.2.2.8: Màn hình Livestream ............................................................................ 129
Hình 4.2.2.9: Màn hình EnrolledCourse .................................................................... 130
Hình 4.2.2.10: Màn hình Profile ................................................................................. 131
Hình 4.2.2.11: Màn hình UpdateProfile ..................................................................... 133
Hình 4.2.2.12: Màn hình UpgradeAccount ................................................................ 134
Hình 4.2.2.13: Màn hình Notification ........................................................................ 135
Hình 4.2.2.14: Màn hình Language ............................................................................ 136
Hình 4.2.2.15: Màn hình PrivacyPolicy ..................................................................... 137
Hình 4.2.2.16: Màn hình HelpCenter ......................................................................... 138
Hình 4.2.2.17: Màn hình UploadedCourses ............................................................... 140
Hình 4.2.2.18: Màn hình CreateCourse ...................................................................... 141

16



DANH MỤC BẢNG
Bảng 1.7: Thơng tin thành viên nhóm .......................................................................... 24
Bảng 4.1.2.1: Chi tiết bảng User ................................................................................ 104
Bảng 4.1.2.2: Chi tiết bảng Course............................................................................. 105
Bảng 4.1.2.3: Chi tiết bảng Section ............................................................................ 106
Bảng 4.1.2.4: Chi tiết bảng Lesson............................................................................. 106
Bảng 4.1.2.5: Chi tiết bảng Exam............................................................................... 107
Bảng 4.1.2.6: Chi tiết bảng Question ......................................................................... 107
Bảng 4.1.2.7: Chi tiết bảng Result .............................................................................. 108
Bảng 4.1.2.8: Chi tiết bảng Comment ........................................................................ 108
Bảng 4.1.2.9: Chi tiết bảng Rate................................................................................. 108
Bảng 4.1.2.10: Chi tiết bảng History .......................................................................... 109
Bảng 4.1.2.11: Chi tiết bảng RecentCourse ............................................................... 109
Bảng 4.2.1: Danh sách màn hình ................................................................................ 110
Bảng 4.2.2.1: Chi tiết về các thành phần trên giao diện SignIn ................................. 112
Bảng 4.2.2.2: Chi tiết về các thành phần trên giao diện SignUp................................ 114
Bảng 4.2.2.3: Chi tiết về các thành phần trên giao diện ForgotPassword .................. 117
Bảng 4.2.2.4: Chi tiết về các thành phần trên giao diện Home .................................. 119
Bảng 4.2.2.5: Chi tiết về các thành phần 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 diện UpdateProfile ................... 133
Bảng 4.2.2.12: Chi tiết về các thành phần trên giao diện UpgradeAccount .............. 135
Bảng 4.2.2.13: Chi tiết về các thành phần trên giao diện Notification ...................... 136
Bảng 4.2.2.14: Chi tiết về các thành phần trên giao diện Language .......................... 137
Bảng 4.2.2.15: Chi tiết về các thành phần trên giao diện PrivacyPolicy ................... 138
Bảng 4.2.2.16: Chi tiết về các thành phần trên giao diện HelpCenter ....................... 139
Bảng 4.2.2.17: Chi tiết về các thành phần trên giao diện UploadedCourses ............. 140
Bảng 4.2.2.18: Chi tiết về các thành phần trên giao diện CreateCourse .................... 141


17


Chương 1.
1.1.

GIỚI THIỆU ĐỀ TÀI

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 ngày càng được ưa chuộng và 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 đích 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ực
tuyế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ây
dự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.

Lý 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ệ thống
quản lý khố học trực tuyến sẽ đem lại nhiều ưu điểm cho cả tổ chức giáo dục và người
học
Hơn nữa, việc sử dụng máy móc và internet để quản lý khố 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 dữ liệu để cải thiện chất lượng giảng
dạy. Điều này đòi hỏi một hệ thống quản lý chuyên nghiệp và tối ưu để đáp ứng các yêu
cầu và mục tiêu của các bên liên quan.

18


1.3.

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 di độ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 q trình triển khai, khoá luận đã phát hiện ra một số điểm sáng của hệ thống
quản lý khố 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 q
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


− 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, khố luận sẽ tìm hiểu và phát triển một hệ thống quản lý khố học thơng
qua internet trên mơi trường mobile để 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, cấu trúc, tương tác và đánh giá thành tích
họ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óp
phầ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 quả
thơng qua khố học trực tuyến.
1.4.

Chức năng chính


Hệ thống quản lý khố 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 trị tài khoản:
+ Đăng nhập: Người dùng có thể sử dụng tài khoản đã đăng ký trước đó để đăng
nhậ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 để
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 khố 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 khố học mà họ đã đăng ký và tham gia học.
− Quản lý khóa học:

20


+ Xem, thêm, xoá, sửa khoá học: Quản trị viên có quyền xem, thêm, xố và chỉnh
sửa thơng tin về các khố học trong hệ thống.
− Tính năng về bài giảng:
+ Xem, thêm, xố, 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, xố hoặc chỉnh sửa các bài giảng.
− Tính năng tương tác 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 khố
học.

+ Đánh giá khố 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 khố 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 khố học, và người học có thể làm bài kiểm tra để 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 tốn Collaborative
filtering.
− Thanh tố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 tố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ụ để cung cấp trải nghiệm học tập tồn diện cho người dùng.
1.5.

Cơng nghệ sử dụng

Trong q trình xây dựng hệ thống quản lý khố học trực tuyến, khố luận sử dụng
các cơng nghệ sau:
21


− Front-end: khố luận sử dụng 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ởi
Google, 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: khố 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, cung
cấ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 và dễ bảo trì cho hệ thống. Ngồi ra, Python
cịn được khố 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 và Firebase để lưu trữ dữ liệu. MongoDB
là một hệ quản trị cơ sở dữ liệu phi quan hệ (NoSQL) linh hoạt và 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ấp
một nền tảng phát triển ứng dụng di động đám mây, bao gồm cơ 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: khố luận sử dụng Github để quản lý 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, NestJS, 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, đảm 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ý khố 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


-

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 khố luận. Nó cung cấp một cái nhìn tổng quan về vấn đề nghiên cứu và
giả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ý khố học, cơng nghệ ứng dụng, cơ sở dữ 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 khố 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 khố học dựa trên Collaborative Filtering. Đã trình bày một tổng quan về
Recommendation

System




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ình
triển khai Recommendation System bao gồm xác định người dùng, tìm kiếm
người dùng tương tự và đề xuất khoá học. Các bước này quan trọng trong xây
dự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, bao
gồ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ẽ đóng
vai trị quan trọng trong việc xác định cấu trúc dữ liệu và giao diện người dùng
cho hệ thống quản lý khoá học trực tuyến. Cung cấp hướng dẫn cho việc triển
khai 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



1.7.

Thơng tin nhóm

Bảng 1.7: Thơng tin thành viên nhóm

STT

Tên thành viên

Mã sinh viên

Email

1

Bùi Thiện Nhân

19521927



2

Nguyễn Yến Nhi

19520205




24


Chương 2.

CƠ SỞ LÝ THUYẾT

Chương 2 mang đến thông tin đầy đủ và chi 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 để hiểu rõ hơn về quản lý khố 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 để 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ế để 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 và đào tạo tạo ra cũng như có thể tổ chức, quản lý các khóa học
trực tuyến. Nó cung cấp các cơng cụ và tài ngun để 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 giờ hết.
LMS giúp tạo điều kiện cho việc học 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


×