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

Xây dựng website kinh doanh khóa học online

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 (12.91 MB, 177 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH

ĐỒ ÁN TỐT NGHIỆP
NGÀNH CƠNG NGHỆ THƠNG TIN

XÂY DỰNG WEBSITE KINH DOANH
KHĨA HỌC ONLINE

GVHD: ThS. NGUYỄN MINH ĐẠO
SVTH : NGUYỄN NGỌC TRUNG
NGUYỄN PHÚC THANH TOÀN

SKL011411

Tp. Hồ Chí Minh, tháng 07/2023


TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ CHÍ MINH
KHOA CƠNG NGHỆ THƠNG TIN
BỘ MƠN CƠNG NGHỆ PHẦN MỀM

KHĨA LUẬN TỐT NGHIỆP
Đề Tài:

XÂY DỰNG WEBSITE KINH DOANH KHÓA HỌC
ONLINE
GIÁO VIÊN HƯỚNG DẪN
ThS. NGUYỄN MINH ĐẠO


NHÓM SINH VIÊN THỰC HIỆN
NGUYỄN NGỌC TRUNG – 19110490
NGUYỄN PHÚC THANH TOÀN – 19110479

TP. Hồ Chí Minh, Tháng 07, 2023


ĐH SƯ PHẠM KỸ THUẬT TP.HCM

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

KHOA CNTT

Độc lập – Tự do – Hạnh Phúc

*******

*******

PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Họ và tên Sinh viên 1: Nguyễn Phúc Thanh Toàn

MSSV 1: 19110479

Họ và tên Sinh viên 2: Nguyễn Ngọc Trung

MSSV 2: 19110490

Ngành: Công nghệ Thông tin
Tên đề tài: Xây dựng website kinh doanh khóa học online

Họ và tên Giáo viên hướng dẫn: ThS. Nguyễn Minh Đạo
NHẬN XÉT
1. Về nội dung đề tài và khối lượng thực hiện:
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
2. Ưu điểm:
...............................................................................................................................
...............................................................................................................................
3. Khuyết điểm
...............................................................................................................................
...............................................................................................................................
4. Đề nghị cho bảo vệ hay không? ........................................................................
5. Đánh giá loại: ......................................................................................................................
6. Điểm: .....................................................................................................................................
Tp. Hồ Chí Minh, ngày

tháng

Giáo viên hướng dẫn
(Ký & ghi rõ họ tên)

năm 2023


ĐH SƯ PHẠM KỸ THUẬT TP. HCM

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

KHOA CNTT


Độc lập – Tự do – Hạnh phúc

*******

*******

PHIẾU NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN
Họ và tên Sinh viên 1: Nguyễn Phúc Thanh Toàn MSSV 1: 19110479
Họ và tên Sinh viên 2: Nguyễn Ngọc Trung

MSSV 2: 19110490

Ngành: Công nghệ Thông tin
Tên đề tài: Xây dựng website kinh doanh khoá học online
Họ và tên Giảng viên phản biện: ThS. Mai Anh Thơ
NHẬN XÉT
1. Về nội dung đề tài và khối lượng thực hiện:
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
2. Ưu điểm:
...............................................................................................................................
...............................................................................................................................
3. Khuyết điểm
...............................................................................................................................
...............................................................................................................................
4. Đề nghị cho bảo vệ hay không? ........................................................................
5. Đánh giá loại: ......................................................................................................................
6. Điểm: .....................................................................................................................................

Tp. Hồ Chí Minh, ngày
2023

tháng

Giảng viên phản biện
(Ký và ghi rõ họ tên)

năm


LỜI CẢM ƠN
Lời đầu tiên nhóm xin phép được gửi lời cảm ơn chân thành và sâu sắc nhất đến
với Khoa Công Nghệ Thông Tin – Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ
Chí Minh đã tạo điều kiện cho nhóm được học tập, phát triển nền tảng kiến thức sâu sắc
và thực hiện đề tài này.
Bên cạnh đó nhóm thực hiện xin gửi đến thầy Nguyễn Minh Đạo lời cảm ơn sâu
sắc nhất. Trải qua một quá trình dài học tập và thực hiện đề tài trong thời gian qua. Thầy
đã tận tâm chỉ bảo nhiệt tình nhóm thực hiện trong suốt q trình từ lúc bắt đầu cũng
như kết thúc đề tài này.
Nhờ có những nền tảng kiến thức chuyên ngành vững chắc cộng thêm với những
kinh nghiệm và yêu cầu thực tế ngoài xã hội thông qua việc học ở trường và thực tập ở
các công ty. Tập thể các thầy cô Khoa Công Nghệ Thông Tin và đặc biệt thầy Nguyễn
Minh Đạo đã tặng cho nhóm một khối lượng kiến thức và kinh nghiệm khổng lồ về
chuyên ngành và công việc trong tương lai. Đặc biệt điều này đã giúp và thơi thúc nhóm
hồn thành được đề tài. Đây sẽ là hành trang vô cùng lớn của cho nhóm trước khi bước
ra một cuộc sống mới.
Tuy nhiên lượng kiến thức là vô tận và với khả năng hạn hẹp nhóm thực hiện đã
rất cố gắng để hồn thành một cách tốt nhất. Chính vì vậy việc xảy ra những thiếu sót là
điều khó có thể tránh khỏi. Nhóm thực hiện hi vọng nhận được sự góp ý tận tình của

q thầy (cơ) qua đó nhóm có thể rút ra được bài học kinh nghiệm và hoàn thiện và cải
thiện nâng cấp lại sản phẩm của mình một cách tốt nhất có thể.
Nhóm thực hiện xin chân thành cảm ơn!
Nhóm thực hiện
Nguyễn Phúc Thanh Tồn – 19110479
Nguyễn Ngọc Trung – 19110490


ĐỀ CƯƠNG LUẬN VĂN TỐT NGHIỆP
Họ và tên Sinh viên 1: Nguyễn Phúc Thanh Toàn

MSSV 1: 19110479

Họ và tên Sinh viên 2: Nguyễn Ngọc Trung

MSSV 2: 19110490

Thời gian làm luận văn: 14/03/2023 – 10/07/2023
Chuyên ngành: Công nghệ phần mềm
Tên đề tài: Xây dựng website kinh doanh khóa học online
Giáo viên hướng dẫn: ThS. Nguyễn Minh Đạo
Nhiệm vụ của luận văn:
1. Lý thuyết:
Tìm hiểu về các cơng nghệ: Spring Boot, Spring Security, React JS,
Restful API, Redux Toolkit, Json Web Token (JWT).
2. Thực hành:
-

Sử dụng Restful API, Spring Boot để viết APIs cho các module trong hệ
thống.


-

Sử dụng MySQL để lưu trữ dữ liệu người dùng của hệ thống.

-

Sử dụng dịch vụ AWS S3 Bucket cho việc lưu trữ video, tài liệu, hình ảnh
cho hệ thống.

-

Sử dụng Json Web Token kết hợp với Spring Security để xác thực và ủy
quyền cho hệ thống APIs hoạt động tốt và hiệu quả.

-

Sử dụng React JS để thiết kế và xử lý giao diện web cho người dùng thao
tác.

-

Sử dụng VNPAY API cho người dùng thanh tốn khi mua khóa học trên
hệ thống.

-

Sử dụng AWS CloudFront và Ubuntu Server trên Digital Ocean để deploy
hệ thống



Đề cương viết luận văn:
1. PHẦN MỞ ĐẦU
1.1 Tính cấp thiết của đề tài
1.2 Đối tượng nghiên cứu
1.3 Phạm vi nghiên cứu
1.4 Mục tiêu đề tài
1.5 Ý nghĩa khoa học và thực tiễn
2. PHẦN NỘI DUNG
1. CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
1.1 Spring Boot Framework
1.2 Spring Security
1.3 MySQL
1.4 RESTful API
1.5 JSON Web Token
1.6 AWS S3 Bucket
1.7 ReactJs
1.8 Redux
1.9 Material UI
1.10 Bootstrap
2. Chương 2: KHẢO SÁT HIỆN TRẠNG VÀ MƠ HÌNH HÓA YÊU
CẦU
2.1. Khảo sát hiện trạng
2.2 Xác định yêu cầu
2.3 Mơ hình hố u cầu


3. Chương 3: THIẾT KẾ HỆ THỐNG
3.1. Thiết kế cơ sở dữ liệu
3.2. Thiết kế giao diện

4. Chương 4: CÀI ĐẶT VÀ KIỂM THỬ
4.1.Cài đặt phần mềm
4.2. Kiểm thử phần mềm
5. PHẦN KẾT LUẬN
6. Tài liệu tham khảo
KẾ HOẠCH THỰC HIỆN
STT

Thời gian thực hiện

Công việc
Khảo sát hiện trạng.

1

27/02/2023 – 04/03/2023

Thiết kế usecase và mơ hình hóa u cầu.
Thiết kế cơ sở dữ liệu.
Tìm hiểu thư viện ReactJS, Material UI

2

05/03/2023 – 15/03/2023

Tìm hiểu framework Spring Boot
Tìm hiểu Spring Security, JWT
Tiến hành tổ chức cấu trúc project

16/03/2023 – 23/03/2023


Xây dựng các tables của cơ sở dử liệu
Tạo các Entities trong Spring Boot và
mapping với cơ sở dữ liệu
Xây dựng API cho các chức năng cơ bản
dành cho người dùng có phân quyền là

3

24/03/2023 – 10/04/2023

User
Xây dựng Giao diện người dùng cho hệ
thống

Ghi chú


Kết hợp các phần đã xây dựng (giao diện,
APIs, database)
4

11/04/2023 – 25/04/2023

Xây dựng giao diện cho trang Admin
Tiến hàng tạo các APIs cho Admin
Xây dựng chức năng nâng cao là các tool
học tập cho người dùng

5


26/04/2023 – 11/05/2023
Tiến hàng code tính năng cho phép có thêm
bài Test, file bài giảng cho các khố học
Xây dựng tính năng quản lý khố học cho
giảng viên

6

12/05/2023 – 30/05/2023
Xây dựng tính năng phê duyệt khố học,
đăng ký khố học mới
Kiểm thử chương trình

7

31/052023 – 06/06/2023
Tìm hiểu quá trình deploy sản phẩm
Viết script CI/CD

8

07/06/2023 – 15/06/2023

Tìm hiểu AWS CloudFront
Tiến hành deploy sản phẩm

9

16/06/2023 – 21/06/2023


Kiểm thử chương trình và tiến hành sửa lỗi

10

22/06/2023 – 07/07/2023

Viết và hồn thiện báo cáo

Tp. Hồ Chí Minh, ngày tháng

năm 2023

Ý kiến của giáo viên hướng dẫn

Người viết đề cương

(Ký và ghi rõ họ tên)

(Ký và ghi rõ họ tên)


MỤC LỤC
PHẦN MỞ ĐẦU ............................................................................................................. 1
1. TÍNH CẤP THIẾT CỦA ĐỀ TÀI ............................................................................ 1
2. ĐỐI TƯỢNG NGHIÊN CỨU .................................................................................. 1
3. PHẠM VI NGHIÊN CỨU ........................................................................................ 2
4. MỤC TIÊU ĐỀ TÀI ................................................................................................. 2
5. Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN ............................................................... 2
PHẦN NỘI DUNG .......................................................................................................... 3

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT ................................................................................ 3
1.1 SPRING BOOT FRAMEWORK........................................................................... 3
1.1.1 Khái niệm. ........................................................................................................ 3
1.1.2 Kiến trúc và cách hoạt động của Spring Boot ................................................. 3
1.1.3 Ưu điểm của Spring Boot ................................................................................ 4
1.1.4 Nhược điểm của Spring Boot .......................................................................... 5
1.1.5 Ứng dụng vào đề tài ......................................................................................... 5
1.2 SPRING SECURITY ............................................................................................. 9
1.2.1 Khái niệm......................................................................................................... 9
1.2.2 Cơ chế hoạt động của Spring Security .......................................................... 10
1.2.3 Ưu điểm của Spring Security ......................................................................... 10
1.2.4 Ứng dụng Spring Security vào đề tài ............................................................. 11
1.3 MYSQL ................................................................................................................ 13
1.3.1 Khái niệm....................................................................................................... 13
1.3.2 Cách hoạt động của MYSQL ......................................................................... 13
1.3.3 Ưu điểm của MySQL..................................................................................... 13
1.3.4 Nhược điểm của MySQL ............................................................................... 14
1.3.5 Ứng dụng MySQL vào đề tài......................................................................... 14
1.4 RESTFUL API ..................................................................................................... 15
1.4.1 Khái niệm....................................................................................................... 15
1.4.2 Cách hoạt động của RESTFUL API .............................................................. 15
1.4.3 Ứng dụng REST API vào đề tài .................................................................... 16


1.5 JSON WEB TOKEN (JWT) ................................................................................ 17
1.5.1 Khái niệm JWT .............................................................................................. 17
1.5.2 Các thành phần của JWT ............................................................................... 17
1.5.3 Ưu điểm của JWT .......................................................................................... 19
1.6 AWS S3 BUCKET ............................................................................................... 19
1.6.1 AWS S3 là gì? ............................................................................................... 19

1.6.2 Cách tổ chức dữ liệu của AWS S3 ................................................................ 19
1.6.3 Ứng dụng AWS S3 vào đề tài........................................................................ 20
1.7 REACTJS ............................................................................................................. 22
1.7.1 Giới thiệu về ReactJS .................................................................................... 22
1.7.2 Các thành phần của React: ............................................................................. 22
1.7.3 Ưu và nhược điểm của ReactJS ..................................................................... 23
1.7.4 Ứng dụng ReactJS vào đề tài ......................................................................... 24
1.8 REDUX ................................................................................................................ 28
1.8.1 Giới thiệu về Redux ....................................................................................... 28
1.8.2 Ưu điểm của Redux ....................................................................................... 28
1.8.3 Ứng dụng Redux vào đề tài ........................................................................... 28
1.9 MATERIAL UI .................................................................................................... 30
1.9.1 Giới thiệu ....................................................................................................... 30
1.9.2 Ưu điểm ......................................................................................................... 31
1.9.3 Nhược điểm ................................................................................................... 31
1.9.4 Ứng dụng Material UI vào đề tài ................................................................... 31
1.10 BOOTSTRAP .................................................................................................... 32
1.10.1 Giới thiệu ..................................................................................................... 32
1.10.2 Ưu điểm ....................................................................................................... 32
1.10.3 Ứng dụng Bootstrap vào đề tài .................................................................... 32
CHƯƠNG 2: KHẢO SÁT HIỆN TRẠNG VÀ MÔ HÌNH HĨA U CẦU ............. 35
2.1 KHẢO SÁT HIỆN TRẠNG ................................................................................ 35
2.1.1 Các website khảo sát ...................................................................................... 35
2.1.2 Yêu cầu bài toán của đề tài ............................................................................ 37
2.2 XÁC ĐỊNH YÊU CẦU........................................................................................ 37


2.2.1 Yêu cầu chức năng ......................................................................................... 37
2.2.2 Yêu cầu phi chức năng................................................................................... 39
2.3 MƠ HÌNH HĨA U CẦU ................................................................................ 39

2.3.1 Lược đồ Use Case .......................................................................................... 39
2.3.2 Đặc tả Use Case ............................................................................................. 42
CHƯƠNG 3: THIẾT KẾ HỆ THỐNG ......................................................................... 87
3.1 LƯỢC ĐỒ LỚP ................................................................................................... 87
3.2 THIẾT KẾ CƠ SỞ DỮ LIỆU .............................................................................. 88
3.2.1 Lược đồ thực thể ........................................................................................... 88
3.2.2 Mô tả chi tiết bảng dữ liệu ............................................................................. 89
3.3 THIẾT KẾ GIAO DIỆN ....................................................................................108
3.3.1 Giao diện cho Admin và Teacher ................................................................ 108
4.1.2 Giao diện cho người dùng ...........................................................................118
CHƯƠNG 4: CÀI ĐẶT VÀ KIỂM THỬ ...................................................................130
4.1

CÀI ĐẶT PHẦN MỀM...............................................................................130

4.1.1 Cài đặt ứng dụng, thư viện cần thiết ...........................................................130
4.1.2 Cài đặt phía Backend ..................................................................................131
4.1.3 Cài đặt phía Frontend .................................................................................132
4.2

KIỂM THỬ PHẦN MỀM ...........................................................................134

4.2.3 Kế hoạch kiểm thử ......................................................................................134
4.2.4 Các trường hợp kiểm thử ............................................................................134
PHẦN KẾT LUẬN .....................................................................................................153
1. KẾT QUẢ ĐẠT ĐƯỢC .......................................................................................153
2. ƯU ĐIỂM .............................................................................................................154
3. NHƯỢC ĐIỂM .....................................................................................................155
4. HƯỚNG PHÁT TRIỂN ........................................................................................155
TÀI LIỆU THAM KHẢO ...........................................................................................156



DANH MỤC HÌNH ẢNH
Hình 1: Kiến trúc phân lớp của SpringBoot .................................................................... 3
Hình 2: SpringBoot flow architecture ............................................................................. 4
Hình 3: Controllers trong SpringBoot ............................................................................. 5
Hình 4: Ví dụ về Controller được cấu hình trong đề tài .................................................. 6
Hình 5: Cấu trúc service trong backend .......................................................................... 6
Hình 6: Ví dụ về class Service trong backend ................................................................. 7
Hình 7: Cấu trúc thư mục repository ............................................................................... 7
Hình 8: Ví dụ về Repository ............................................................................................ 8
Hình 9: Cấu hình database trong file application.properties ........................................... 8
Hình 10: Các class DTO trong server.............................................................................. 9
Hình 11: Cơ chế hoạt động của Spring Security ........................................................... 10
Hình 12: Cấu hình Spring Security ............................................................................... 11
Hình 13: Cấu hình Authentication ................................................................................. 11
Hình 14: Xử lý trả ra token khi user login thành cơng .................................................. 12
Hình 15: Xử lý data trả ra khi user login khơng thành cơng ......................................... 12
Hình 16: Xử lý Exception trong Spring ........................................................................ 13
Hình 17: Cấu hình kết nối tới MySQL .......................................................................... 15
Hình 18: Cấu hình RestController ................................................................................. 16
Hình 19: Class cấu hình data trả ra cho client ............................................................... 17
Hình 20: Ví dụ về Header của JWT .............................................................................. 18
Hình 21: Ví dụ về Payload của JWT ............................................................................. 18
Hình 22: Tổ chức dữ liệu trên AWS S3 ........................................................................ 19
Hình 23: Bucket trên S3 ................................................................................................ 20
Hình 24: Bucket policy trên S3 ..................................................................................... 20
Hình 25: AWS CloudFront được sử dụng ..................................................................... 21
Hình 26: Script Deploy Client lên S3 ............................................................................ 21
Hình 27: Tổ chức thư mục trong Legacy ...................................................................... 24

Hình 28: Component TeacherCard ................................................................................ 25
Hình 29: Sử dụng component TeacherCard ở Component OurTeacher ....................... 25


Hình 30: Tổ chức Route trong Legacy trong thư mục MainRoute ............................... 26
Hình 31: Ví dụ url /courses sẽ render ra trang danh sách khóa học .............................. 27
Hình 32; Ví dụ điều hướng Route trong component Header ........................................ 27
Hình 33: Ví dụ khởi tạo global state cart ở file cartRedux.js trong thư mục redux ...... 29
Hình 34: Ví dụ bỏ các global state vào store ở file store.js trong thư mục redux ......... 29
Hình 35: Ví dụ bọc store vào cả app ở thư mục index.js .............................................. 30
Hình 36; : Ví dụ sử dụng global state ở component Header ......................................... 30
Hình 37: Ví dụ về componet DatePicker để tạo component ......................................... 31
Hình 38: Ví dụ sử dụng bootstrap và react-bootstrap ................................................... 33
Hình 39: Ví dụ responsive trên màn hình cỡ trung bình trở lên .................................... 33
Hình 40: Ví dụ responsive trên màn hình cỡ nhỏ .......................................................... 34
Hình 41: Giao diện website khảo sát Unica .................................................................. 35
Hình 42: Giao diện Website khảo sát F8 – Học lập trình để đi làm .............................. 36
Hình 43: Use Case cho Admin ...................................................................................... 39
Hình 44: Use Case cho Teacher .................................................................................... 40
Hình 45: Use Case cho người có phân quyền là Reviewer ........................................... 40
Hình 46: Use Case cho người có phân quyền là User ................................................... 41
Hình 47: : Sequence Diagram cho chức năng gửi yêu cầu duyệt khố học mới ........... 42
Hình 48: Sequence Diagram chức năng gửi kết quả phê duyệt yêu cầu trở thành giảng
viên ................................................................................................................................ 44
Hình 49: Sequence Diagram đánh giá khố học đã mua ............................................... 46
Hình 50: Sequence Diagram chức năng đăng nhập....................................................... 47
Hình 51: Sequence Diagram chức năng đăng ký tài khoản........................................... 49
Hình 52: Sequence Diagram chức năng thanh tốn ...................................................... 51
Hình 53: Sequence Diagram yêu cầu trở thành giảng viên ........................................... 54
Hình 54: Sequence Diagram chức năng trao đổi thơng tin với chatBot ........................ 56

Hình 55: Sequence Diagram tạo lịch nhắc hẹn học tập ................................................. 58
Hình 56: Sequence Diagram chức năng tạo câu hỏi thảo luận ...................................... 60
Hình 57: Sequence Diagram chức năng xem danh sách bài giảng ............................... 61
Hình 58: Sequence Diagram chức năng xoá thảo luận trong bài giảng ........................ 63
Hình 59: Sequence Diagram chức năng xem thơng báo từ giảng viên ......................... 65


Hình 60:Sequence Diagram chức năng ......................................................................... 66
Hình 61: Sequence Diagram thêm ghi chú cho bài giảng ............................................. 68
Hình 62: Sequence Diagram chức năng thực hiện bài Test .......................................... 70
Hình 63: Sequence Diagram chức năng đánh dấu bài học là hoàn thành ..................... 72
Hình 64: Sequence Diagram chức năng xem danh sách giảng viên ............................. 74
Hình 65:Sequence Diagram chức năng thêm khố học vào danh sách u thích ......... 75
Hình 66:Sequence Diagram chức năng xem danh sách yêu câu phê duyệt trở thành
giảng viên ...................................................................................................................... 77
Hình 67: Sequence Diagram đăng ký account reviewer ............................................... 79
Hình 68: Sequence Diagram chức năng nhận task kiểm duyệt ..................................... 81
Hình 69: Sequence Diagram chức năng duyệt u cầu tạo mới khố học .................... 83
Hình 70: Sequence Diagram chức năng cập nhật bài giảng .......................................... 85
Hình 71: Lược đồ lớp .................................................................................................... 87
Hình 72: Sơ đồ ERD ...................................................................................................... 88
Hình 73: Giao diện trang đăng nhập............................................................................108
Hình 74: Giao diện trang quản lý khố học.................................................................109
Hình 75: Giao diện trang chỉnh sửa thơng tin tổng quan khố học .............................110
Hình 76: Giao diện trang chỉnh sửa nội dung bài học .................................................110
Hình 77: Giao diện trạng thêm mới chapter ................................................................ 112
Hình 78: Giao diện trang chỉnh sửa bài học ................................................................ 113
Hình 79: Giao diện trang quản lý yêu cầu phê duyệt khoá học...................................114
Hình 81: Giao diện trang đăng kí thơng tin khố học mới ..........................................114
Hình 81: Giao diện trang quản lý khóa học.................................................................115

Hình 82: Giao diện trang phê duyệt yêu cầu trở thành giảng viên ..............................116
Hình 83: Giao diện trang thêm mới người kiểm duyệt ...............................................117
Hình 84: Giao diện trang đăng ký tài khoản ............................................................... 118
Hình 85: Giao diện trang danh sách khóa học.............................................................119
Hình 86: Giao diện trang chi tiết khóa học..................................................................120
Hình 87: Giao diện trang chi tiết khóa học..................................................................120
Hình 88: Giao diện trang phịng học ...........................................................................121
Hình 89: Giao diện chức năng note trong khóa học ....................................................122


Hình 90: Giao diện chức năng hỏi đáp trong khóa học ...............................................123
Hình 91: Giao diện chức năng thêm lịch học ..............................................................124
Hình 92: Giao diện chức năng hiển thị thơng báo của giảng viên ..............................125
Hình 93: Giao diện chức năng hỏi đáp với AI ............................................................125
Hình 94: Giao diện trang lịch sử mua hàng .................................................................126
Hình 95: Giao diện trang lịch sử mua hàng .................................................................127
Hình 96: Giao diện trang chi tiết giảng viên ............................................................... 128
Hình 97: Giao diện trang giỏ hàng ..............................................................................129
Hình 98: Cấu trúc thư mục phía Backend ...................................................................131
Hình 99: File cấu hình SpringBoot ..............................................................................131
Hình 100: Cấu trúc thư mục Front End (User) ............................................................132
Hình 101: Cấu trúc thư mục Front End (Admin, Teacher, Reviewer) ........................133


DANH MỤC BẢNG BIỂU
Bảng 1: Đặc tả UseCase gửi yêu cầu phê duyệt khoá học mới ..................................... 42
Bảng 2: Đặc tả Use Case chấp nhận yêu cầu trở thành giảng viên ............................... 44
Bảng 3: Đặc tả Use Case đánh giá khóa học đã mua .................................................... 46
Bảng 4: Đặc tả Use Case đăng nhập .............................................................................. 47
Bảng 5: Đặc tả Use Case đăng ký tài khoản.................................................................. 49

Bảng 6: Đặc tả Use Case thanh toán đơn hàng ............................................................. 51
Bảng 7: : Đặc tả Use Case yêu cầu trở thành giảng viên .............................................. 54
Bảng 8: Đặc tả UseCase trao đổi thông tin với ChatBot ............................................... 56
Bảng 9: Đặc tả UseCase tạo lịch nhắc hẹn học tập ...................................................... 58
Bảng 10: Đặc tả Use Case tạo câu hỏi thảo luận ........................................................... 60
Bảng 11: Đặc tả Use chức năng xem danh sách thảo luận ............................................ 61
Bảng 12: Đặc tả Use Case chức năng xoá thảo luận trong bài giảng ............................ 63
Bảng 13: Đặc tả Use Case xem thông báo từ giảng viên .............................................. 65
Bảng 14: Đặc tả UseCase chức năng xem danh sách ghi chú ....................................... 66
Bảng 15: Đặc tả Use Case thêm ghi chú ....................................................................... 68
Bảng 16: Đặc tả Use Case thực hiện bài Quiz............................................................... 70
Bảng 17: Đặc tả Use Case chức năng đánh dấu hoàn thành bài học ............................. 73
Bảng 18: Đặc tả Use case xem danh sách giảng viên .................................................. 74
Bảng 19: Đặc tả Use Case năng thêm khoá học vào danh sách yêu thích .................... 75
Bảng 20: Đặc tả Use Case xem danh sách yêu cầu phê duyệt thành giảng viên........... 77
Bảng 21: Đặc tả Use Case đăng ký reviewer ................................................................ 79
Bảng 22: Đặc tả Use Case nhận task kiểm duyệt .......................................................... 81
Bảng 23: Đặc tả Use Case gửi kêt quả yêu cầu duyệt khoá học ................................... 83
Bảng 24: Đặc tả Use Case cập nhật bài giảng ............................................................... 85
Bảng 25: Mô tả chi tiết bảng Account ........................................................................... 89
Bảng 26: Mô tả chi tiết bảng UserDetail ....................................................................... 89
Bảng 27: Mô tả chi tiết bảng Cart ................................................................................. 90
Bảng 28: Mô tả chi tiết bảng Cart Detail ....................................................................... 90
Bảng 29: Mô tả bảng Category...................................................................................... 91


Bảng 30: Mô tả chi tiết bảng Chapters .......................................................................... 91
Bảng 31: Mô tả chi tiết bảng Coupon ............................................................................ 92
Bảng 32: Mô tả chi tiết bảng courses ............................................................................ 93
Bảng 33: Mô tả chi tiết bảng courses_paid ................................................................... 94

Bảng 34: Mô tả chi tiết bảng Note................................................................................. 94
Bảng 35: Mô tả chi tiết bảng Orders ............................................................................. 94
Bảng 36: Mô tả chi tiết bảng Order Detail .................................................................... 95
Bảng 37: Mô tả chi tết bảng Payment ........................................................................... 96
Bảng 38: Mô tả chi tiết bảng Register_Teacher_Form ................................................. 96
Bảng 39: Mô tả chi tiết bảng reviews ............................................................................ 97
Bảng 40: Mô tả chi tiết bảng role .................................................................................. 97
Bảng 41: Mô tả chi tiết bảng Announcement ................................................................ 97
Bảng 42: Mô tả chi tiết bảng course_summary_info_register ...................................... 98
Bảng 43: Mô tả chi tiết bảng discuss ............................................................................. 99
Bảng 44: Mô tả chi tiết bảng learning_process ...........................................................100
Bảng 45: Mô tả chi tiết bảng lectures ..........................................................................101
Bảng 46: Mô tả chi tiết bảng quiz_answer ..................................................................102
Bảng 47: Mô tả chi tiết bảng quiz_question ................................................................ 103
Bảng 48: Mô tả chi tiết bảng register_chapter ............................................................103
Bảng 49: Mô tả chi tiết bảng register_course_session ................................................104
Bảng 50: Mô tả chi tiết bảng register_lectures ............................................................105
Bảng 51: Mô tả chi tiết bảng reviewer_role ................................................................ 106
Bảng 52: Mô tả chi tiết bảng teacher_profile ..............................................................106
Bảng 53: Mô tả chi tiết bảng wish_list ........................................................................107
Bảng 54: Mô tả trang đăng nhập .................................................................................108
Bảng 55: Mô tả trang quản lý khố học ......................................................................109
Bảng 56: Mơ tả giao diện trang chỉnh sửa khố học ...................................................110
Bảng 57: Mơ tả trang thêm mới chapter ......................................................................112
Bảng 58: Mô tả trang chỉnh sửa bài học ......................................................................113
Bảng 59: Mô tả giao diện trang quản lý u cầu phê duyệt khố học ........................114
Bảng 60: Mơ tả chi tiết trang quản lý khóa học ..........................................................115


Bảng 61: Mô tả chi tiết trang phê duyệt yêu cầu trở thành giảng viên .......................116

Bảng 62: Mô tả chi tiết trang thêm mới người kiểm duyệt .........................................117
Bảng 63: Mô tả chi tiết trang đăng ký tài khoản .........................................................118
Bảng 64: Mơ tả chi tiết trang danh sách khóa học ......................................................119
Bảng 65: Mơ tả chi tiết trang chi tiết khóa học ...........................................................120
Bảng 66: Mơ tả chi tiết trang phịng học .....................................................................121
Bảng 67: Mơ tả chi tiết chức năng note trong khóa học ..............................................122
Bảng 68: Mô tả chi tiết chức năng hỏi đáp ..................................................................123
Bảng 69: Mô tả chi tiết chức năng tạo lịch học ...........................................................124
Bảng 70: Mô tả chi tiết chức năng hiển thị thông báo của giảng viên ........................125
Bảng 71: Mô tả chi tiết chức năng hỏi đáp với AI ......................................................126
Bảng 72: Mô tả chi tiết trang lịch sử mua hàng ..........................................................127
Bảng 73: Mô tả chi tiết trang chi tiết giảng viên .........................................................128
Bảng 74: Mô tả chi tiết trang giỏ hàng ........................................................................129
Bảng 75: Các phần mền cần cài đặt.............................................................................130
Bảng 76: : Kiểm thử chức năng đăng nhập trường hợp dữ liệu đúng .........................134
Bảng 77: Kiểm thử chức năng đăng ký với bộ dữ liệu đúng.......................................135
Bảng 78: Kiểm thử chức năng tìm kiếm khóa học ......................................................136
Bảng 79: Kiểm thử chức năng thanh toán ...................................................................137
Bảng 80: Kiểm thử chức năng thêm sản phẩm vào giỏ hàng ......................................138
Bảng 81: Kiểm thử chức năng đánh giá khóa học đã mua ..........................................139
Bảng 82: Kiểm thử chức năng thêm ghi chú ............................................................... 140
Bảng 83: Kiểm thử chức năng thêm câu hỏi ..............................................................141
Bảng 84: Kiểm thử chức năng hỏi đáp với AI ............................................................142
Bảng 85: Kiểm thử chức năng đánh dấu hoàn thành bài học ......................................143
Bảng 86: Kiểm thử chức năng gửi yêu cầu trở thành giảng viên ................................ 144
Bảng 87: Kiểm thử chức năng duyệt yêu cầu trở thành giảng viên ............................146
Bảng 88: Kiểm thử chức năng đăng ký tạo khóa học..................................................147
Bảng 89: Kiểm thử chức năng phê duyệt khóa học trường hợp được phép duyệt ......148
Bảng 90: Kiểm thử chức năng thêm mới bài học trường hợp bài học là video ..........149
Bảng 91: Kiểm thử chức năng thêm mới bài học trường hợp bài học là quiz ............150



DANH MỤC CÁC TỪ VIẾT TẮT
Ý nghĩa

STT

Từ viết tắt

1

AWS

2

API

3

HTTP

HyperText Transfer Protocol

4

CORS

Cross-origin resource sharing

5


CSRF

Cross-site Request Forgery

6

XML

Extensible Markup Language

7

DI

8

RDMS

Relational Database Management System

9

CSDL

Cơ sở dữ liệu

10

HTML


Hypertext Markup Language

11

HAMC

A hashed message authentication code

12

JWT

Json Web Token

13

JSX

JavaScript XML

14

SHA

Secure Hash Algorithm

15

JDK


Java Development Kit

16

IE8

Internet Explorer 8

17

CSS

Cascading Style Sheets

18

JRE

Java Runtime Environment

19

JSP

Java server Page

20

JVM


Java Virtual Machine

21

SEO

Search Engine Optimization

22

DOM

Document Object Model

Amazon Web Services
Application Programming Interface

Dependency Injection



×