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

Website học tiếng anh

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.38 MB, 151 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

WEBSITE HỌC TIẾNG ANH

GVHD: ThS. NGUYỄN HỮU TRUNG
SVTH : NGUYỄN PHÚC NGHIÊM
ĐÀM LƯU TRUNG HIẾU

SKL011491

Tp. Hồ Chí Minh, năm 2023


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

NGUYỄN PHÚC NGHIÊM - 19110405
ĐÀM LƯU TRUNG HIẾU - 19110363

WEBSITE HỌC TIẾNG ANH
KHÓA LUẬN TỐT NGHIỆP KỸ SƯ CNTT

GIÁO VIÊN HƯỚNG DẪN
ThS. NGUYỄN HỮU TRUNG

KHÓA 2019 - 2023




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

CỘNG HÒA XHCN VIỆT NAM

KHOA CÔNG NGHỆ THÔNG TIN

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

******

******

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

MSSV 1: 19110405

Họ và tên Sinh viên 2: Đàm Lưu Trung Hiếu

MSSV 2: 19110363

Chuyên ngành: Công nghệ phần mềm
Tên đề tài: Xây dựng Website học tiếng Anh.
Họ và tên giảng viên hướng dẫn: ThS. Nguyễn Hữu Trung
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, tháng 7 năm 2023
Giảng viên hướng dẫn
(Ký & ghi rõ họ tên)


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

CỘNG HÒA XHCN VIỆT NAM

KHOA CÔNG NGHỆ THÔNG TIN

Độ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 Nghiêm

MSSV 1: 19110405

Họ và tên Sinh viên 2: Đàm Lưu Trung Hiếu


MSSV 2: 19110363

Chuyên ngành: Công nghệ phần mềm
Tên đề tài: Xây dựng Website học tiếng Anh.
Họ và tên giảng viên phản biện: ThS. Nguyễn Thủy An
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, tháng 7 năm 2023
Giảng viên phản biện
(Ký & ghi rõ họ tên)


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 chúng em đượ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 chúng em xin gửi đến thầy Nguyễn Hữu Trung lời cảm ơn
sâu sắc nhất và rất biết ơn khi thầy đã giúp đỡ và nhận lời hướng dẫn nhóm chúng em
thực hiện luận văn tốt nghiệp của mình. 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 chúng em trong suốt
quá trình từ lúc bắt đầu cũng như kết thúc đề tài này.

Với những kinh nghiệm chuyên môn cũng như với những kinh nghiệm thực tế
của các thầy cô. Tập thể các thầy cô Khoa Công Nghệ Thông Tin và đặc biệt thầy
Nguyễn Hữu Trung đã giúp cho chúng em tiếp thu thêm được nhiều kiến thức và kinh
nghiệm khổng lồ về chuyên ngành và thực hiện dự án nhằm giúp rất nhiều cho công việc
và học vấn trong tương lai. Đặc biệt điều này đã giúp và thôi thúc chúng em hoàn thành
được đề tài. Chúng em thật sự cảm ơn và khắc ghi những kiến thức đó. Đây sẽ là hành
trang vô cùng lớn của chúng em trước khi bước ra một cuộc sống mới.
Tuy nhiên, kiến thức lúc nào cũng là vô tận và với khả năng và chun mơn cịn
nhiều hạn chế của mình chúng em ln rất cố gắng hết sức và để hồn thành một cách
tốt nhất. Vì vậy việc xảy ra những thiếu sót của chúng em là điều khó tránh khỏi trong
quá trình học hỏi và thực hiện luận văn. Chúng em hi vọng nhận được sự thông cảm và
nhận được các góp ý tận tình và q báu của q thầy (cơ). Thơng qua đó chúng em có
thể rút ra được bài học kinh nghiệm, song với đó là hồn thiện và nâng cấp lại sản phẩm
của mình tốt hơn nữa.
Sau tất cả, một lần nữa chúng em xin gửi lời cảm ơn sâu sắc nhất đến với thầy
Nguyễn Hữu Trung và tập thể các quý thầy, cô Khoa Công Nghệ Thông Tin – Trường
Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh vì tất cả những điều thầy cơ đã
gửi gắm và chỉ dạy chúng em. Nhóm xin kính chúc các thầy cơ ln có sức khỏe thật
tốt và luôn thành công trong cuộc sống.

1


Trường ĐH Sư Phạm Kỹ Thuật TP.HCM
Khoa: Công nghệ thông tin

ĐỀ CƯƠNG LUẬN VĂN
Họ và tên sinh viên thực hiện 1: Nguyễn Phúc Nghiêm

Mã số sinh viên: 19110405


Họ và tên sinh viên thực hiện 2: Đàm Lưu Trung Hiếu

Mã số sinh viên: 19110363

Thời gian làm khóa luận tốt nghiệp: Từ ngày 25/01/2023 đến ngày 12/07/2023
Chuyên ngành: Công nghệ phần mềm
Tên đề tài: Website học tiếng Anh.
Giáo viên hướng dẫn: Th.S Nguyễn Hữu Trung
Nhiệm vụ của luận văn:
Lý thuyết:
● Spring Boot, ReactJS, MySQL, Spring Security, Three-Tier Architecture.
Thực hành:
● Sử dụng Spring Boot để cung cấp các API cho Mobile và Web Admin
● Xây dựng sản phẩm của đề tài theo các kiến trúc (Three-Tier Architecture).
● Sử dụng Spring Security để đảm bảo độ bảo mật và xác thực người dùng cho
hệ thống.
● Sử dụng ReactJS làm nền tảng để xây dựng giao diện cho sản phẩm của đề
tài.
● Sử dụng MySQL để lưu trữ database
● Xây dựng các chức năng sau cho các sản phẩm:
o Trang giáo viên:
▪ Đăng nhập, đăng ký, đăng xuất tài khoản.
▪ Quản lý tài khoản của bản thân.
▪ Học hỏi và thảo luận qua blog.
▪ Tham gia khóa học, làm bài tập.
▪ Luyện tập qua các đề và các danh sách từ ghi nhớ
o Trang học viên:
▪ Đăng nhập, đăng ký, đăng xuất tài khoản.
▪ Quản lý tài khoản người dùng.

▪ Quản lý khóa học.
▪ Quản lý bài học.
o Trang Administrator:
2


▪ Quản lý cơ sở dữ liệu.
▪ Cung cấp lịch sử mua hàng của người dùng
▪ Cung cấp tính năng phản hồi ý kiến và đánh giá cho người dùng.
▪ Thống kê lượng mua hàng và truy cập của sản phẩm.
Đề cương viết luận văn:
MỤC LỤC
PHẦN MỞ ĐẦU
1. Tính cấp thiết của đề tài
2. Mục tiêu đề tài
3. Phương pháp thực hiện
PHẦN NỘI DUNG
1. Cơ sở lý thuyết
2. Khảo sát, phân tích, thiết kế
3. Mơ hình hóa u cầu
4. Thiết kế phần mềm
5. Thiết kế giao diện xử lý
6. Cài đặt và kiểm thử ứng dụng
PHẦN KẾT LUẬN
1. Những kết quả đạt được
2. Ưu điểm và nhược điểm
3. Thuận lợi
4. Khó khăn
5. Hướng phát triển
DANH SÁCH TÀI LIỆU THAM KHẢO

KẾ HOẠCH THỰC HIỆN
STT
1

Thời gian
10/03/2023
đến

Công việc
Tổng hợp các chức năng của website
Xây dựng mơ hình dự án thơng qua các lược đồ

18/03/2023

2

19/03/2023
đến

Xây dựng database phù hợp với các chức năng
Thiết kế UI cho website

26/03/2023

3

27/03/2023

Xây dựng UI cho học sinh
Xây dựng API phục vụ các chức năng cho học sinh


đến

như: Mua khóa học, tham gia các bài học, luyện đề,
viết blog…

3


22/04/2023

6

23/04/2023
đến

7

8

Xây dựng UI cho giáo viên
Xây dựng API phục vụ các chức năng cho giáo viên

16/05/2023

như: Quản lý khóa học, quản lý bài học…

17/05/2022

Xây dựng UI cho admin


đến

Xây dựng API phục vụ các chức năng như: quản lý

11/06/2023

người dùng, quản lý giao dịch…

12/06/2023

Tiến hành kết hợp giữa Back-end và Front-end

đến
27/06/2023

9

28/06/2023
đến

Tiến hành tìm lỗi và sửa lỗi
Tiến hành viết báo cáo

09/07/2023

10

10/07/2023


Hồn thành báo cáo và hoàn chỉnh hệ thống

đến
12/07/2023

Ngày 08 tháng 03 năm 2023
Ý kiến của giáo viên hướng dẫn

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

Nguyễn Hữu Trung

Nguyễn Phúc Nghiêm

4


MỤC LỤC

LỜI CẢM ƠN ..................................................................................................................1
ĐỀ CƯƠNG LUẬN VĂN...............................................................................................2
DANH SÁCH HÌNH .......................................................................................................9
DANH SÁCH BẢNG ....................................................................................................12
PHẦN MỞ ĐẦU ...........................................................................................................14
1. TÍNH CẤP THIẾT CỦA ĐỀ TÀI .........................................................................14
2. MỤC TIÊU ĐỀ TÀI ..............................................................................................14
3. PHƯƠNG PHÁP THỰC HIỆN ............................................................................14
PHẦN NỘI DUNG ........................................................................................................15
CHƯƠNG 1.CƠ SỞ LÝ THUYẾT ...........................................................................15
1.1. Spring Framework ..........................................................................................15

1.2. ReactJS ...........................................................................................................16
1.3. MySQL ...........................................................................................................17
CHƯƠNG 2. KHẢO SÁT, PHÂN TÍCH, THIẾT KẾ ..............................................18
2.1. Phân tích hiện trạng ........................................................................................18
2.2. Khảo sát một số phần mềm.............................................................................19
2.3. Phân tích yêu cầu của dự án ...........................................................................23
2.4. Danh sách yêu cầu chức năng nghiệp vụ ........................................................23
2.5. Danh sách yêu cầu chức năng hệ thống ..........................................................25
2.6. Danh sách yêu cầu phi chức năng ..................................................................25
CHƯƠNG 3. MƠ HÌNH HĨA U CẦU ...............................................................27
3.1. Lược đồ Usecase .............................................................................................27
CHƯƠNG 4. THIẾT KẾ PHẦN MỀM.....................................................................64
4.1. Lược đồ tuần tự ...............................................................................................64
5


4.2. Lược đồ ERD ..................................................................................................76
CHƯƠNG 5. THIẾT KẾ GIAO DIỆN VÀ XỬ LÝ .................................................77
5.1. Trang chủ ........................................................................................................77
5.2. Đăng nhập .......................................................................................................78
5.3. Đăng ký ...........................................................................................................80
5.4. Chi tiết khóa học .............................................................................................82
5.5. Trang khóa học của user đã mua ....................................................................84
5.6. Trang học chi tiết ............................................................................................85
5.7. Thay đổi thông tin user ...................................................................................87
5.8. Thay đổi ảnh đại diện user ..............................................................................89
5.9. Thay đổi mật khẩu ..........................................................................................90
5.10. Khóa tài khoản ..............................................................................................92
5.11. Lịch sử mua hàng..........................................................................................93
5.12. Quên mật khẩu ..............................................................................................95

5.13. Danh sách khóa học ......................................................................................96
5.14. Chỉnh sửa thơng tin cá nhân .........................................................................97
5.15. Đổi mật khẩu.................................................................................................98
5.16. Danh sách giảng viên ....................................................................................99
5.17. Trang chủ của ứng dụng quản lý của giáo viên ..........................................100
5.18. Quản lý bài giảng theo khóa học ................................................................102
5.19. Thêm bài giảng ...........................................................................................105
5.20. Thêm bài tập theo bài giảng .......................................................................106
5.21. Chỉnh sửa bài giảng ....................................................................................107
5.22. Chỉnh sửa bài tập theo bài giảng ................................................................108
5.23. Báo cáo thống kê ........................................................................................109
5.24. Quản lý khóa học ........................................................................................111
6


5.25. Thêm khóa học ...........................................................................................112
5.26. Chỉnh sửa khóa học ....................................................................................114
5.27. Quản lý giảng viên ......................................................................................116
5.28. Danh sách blog ...........................................................................................117
5.29. Chi tiết Blog ................................................................................................118
5.30. Tạo Blog .....................................................................................................120
5.31. Tạo Flashcard..............................................................................................121
5.32. Danh sách từ vựng theo flashcard ..............................................................122
5.33. Luyện tập flashcard ....................................................................................124
5.34. Danh sách lịch sử làm bài thi ......................................................................126
5.35. Chi tiết làm bài thi ......................................................................................127
5.36. Danh sách đề thi .........................................................................................129
5.37. Chọn chi tiết phần thi..................................................................................130
5.38. Làm bài thi ..................................................................................................131
CHƯƠNG 6. CÀI ĐẶT VÀ KIỂM THỬ ỨNG DỤNG .........................................132

6.1. Cài đặt ...........................................................................................................132
6.2. Kiểm thử ứng dụng .......................................................................................136
PHẦN KẾT LUẬN .....................................................................................................140
1. NHỮNG KẾT QUẢ ĐẠT ĐƯỢC ......................................................................140
1.1. Về kiến thức ..................................................................................................140
1.2. Về đề tài ........................................................................................................140
1.3. Về kinh nghiệm ............................................................................................140
2. ƯU ĐIỂM VÀ NHƯỢC ĐIỂM ...........................................................................141
2.1. Ưu điểm ........................................................................................................141
2.2. Nhược điểm ..................................................................................................141
3. THUẬN LỢI ........................................................................................................141
7


4. KHÓ KHĂN ........................................................................................................141
5. HƯỚNG PHÁT TRIỂN ......................................................................................141
TÀI LIỆU THAM KHẢO ...........................................................................................143

8


DANH SÁCH HÌNH
Hình 1.1. Logo Spring Framework [1]

15

Hình 1.2 Logo ReactJS

16


Hình 1.3 Logo MySQL

17

Hình 2.1 Trang đăng nhập

19

Hình 2.2 Trang chủ

20

Hình 2.3 Trang bài học

21

Hình 2.4 Trang bài luyện tập

22

Hình 2.5 Trang quản lý tài khoản

22

Hình 3.1 Lược đồ Usecase

27

Hình 3.2 Usecase Quản lý tài khoản


28

Hình 3.3 Usecase Quản lý khóa học

29

Hình 3.4 Usecase quản lý Bài học

30

Hình 3.5 Usecase quản lý người dùng

30

Hình 3.6 Usecase Quản lý thanh tốn

31

Hình 3.7 Usecase Quản lý thanh tốn

32

Hình 4.1 Lược đồ tuần tự đăng ký

64

Hình 4.2 Lược đồ tuần tự đăng nhập

65


Hình 4.3 Lược đồ tuần tự chỉnh sửa thông tin cá nhân

66

Hình 4.4 Lược đồ tuần tự quên mật khẩu

67

Hình 4.5 Lược đồ tuần tự tạo khóa học

68

Hình 4.6 Lược đồ tuần tự tạo bài học

69

Hình 4.7 Lược đồ tuần tự tạo bài tập

70

Hình 4.8 Lược đồ tuần tự tạo đề

71

Hình 4.9 Lược đồ tuần tự luyện đề

72

Hình 4.10 Lược đồ tuần tự tạo blog


73

Hình 4.11 Lược đồ tuần tự tạo blog

74

Hình 4.12 Lược đồ tuần tự mua khóa học

75

Hình 4.13 Lược đồ ERD

76

Hình 5.1 Màn hình trang chủ

77

Hình 5.2 Màn hình trang đăng nhập

78

Hình 5.3 Màn hình trang đăng ký

80
9


Hình 5.4 Màn hình trang tìm kiếm sản phẩm


82

Hình 5.5 Màn hình danh sách khóa học của user

84

Hình 5.6 Màn hình học khóa học

86

Hình 5.7 Màn hình thay đổi thơng tin user

87

Hình 5.8 Màn hình thay đổi ảnh đại diện user

89

Hình 5.9 Màn hình thay đổi mật khẩu

90

Hình 5.10 Màn hình khóa tài khoản user

92

Hình 5.11 Màn hình lịch sử mua hàng

93


Hình 5.12 Màn hình quên mật khẩu

95

Hình 5.13 Màn hình danh sách khóa học

96

Hình 5.14 Màn hình chỉnh sửa thơng tin cá nhân

97

Hình 5.15 Màn hình đổi mật khẩu

98

Hình 5.16 Màn hình danh sách giảng viên

99

Hình 5.17 Màn hình trang chủ của ứng dụng quản lí của giáo viên

100

Hình 5.18 Màn hình quản lí bài giảng theo khóa học

103

Hình 5.19 Màn hình thêm bài giảng


105

Hình 5.20 Màn hình thêm bài tập cho bài giảng

106

Hình 5.21 Màn hình chỉnh sửa bài giảng

107

Hình 5.22 Màn hình chỉnh sửa bài tập cho bài giảng

108

Hình 5.23 Màn hình báo cáo thống kê

109

Hình 5.24 Màn hình quản lí khóa học

111

Hình 5.25 Màn hình thêm khóa học

112

Hình 5.26 Màn hình chỉnh sửa khóa học

114


Hình 5.27 Màn hình quản lí giảng viên

116

Hình 5.28 Màn hình trang danh sách blog

117

Hình 5.29 Màn hình trang chi tiết blog

119

Hình 5.30 Màn hình trang tạo blog

120

Hình 5.31 Màn hình danh sách flashcard

121

Hình 5.32 Màn hình chỉnh sửa từ vựng

122

Hình 5.33 Màn hình luyện tập flashcard

125

Hình 5.34 Màn hình danh sách lịch sử làm bài luyện thi


126

Hình 5.35 Màn hình chi tiết lịch sử làm bài luyện thi

127

10


Hình 5.36 Màn hình danh sách bài luyện thi

129

Hình 5.37 Màn hình chi tiết chọn bài luyện thi

130

Hình 5.38 Màn hình làm bài luyện thi

131

Hình 6.1 Cài đặt API

132

Hình 6.2 Màn hình trang tải Visual Studio Code

133

Hình 6.3 Tải Node.js


133

Hình 6.4 Cài trình biên dịch Visual Studio Code

134

Hình 6.5 Cài các extension cho Reactjs

134

Hình 6.6 Mở source code

135

Hình 6.7 Tải các package sử dụng trong dự án.

135

Hình 6.8 Khởi động dự án admin.

136

Hình 6.9 Khởi động dự án teacher.

136

Hình 6.10 Khởi động dự án user.

136


11


DANH SÁCH BẢNG
Bảng 2.1 Chức năng và hạn chế của FoodHub

22

Bảng 2.2 Chức năng của từng tác nhân

23

Bảng 2.3 Danh sách yêu cầu chức năng nghiệp vụ

24

Bảng 2.4 Danh sách yêu cầu chức năng hệ thống

25

Bảng 2.5 Danh sách yêu cầu phi chức năng

26

Bảng 5.1 Mơ tả màn hình trang chủ

78

Bảng 5.2 Mơ tả màn hình trang đăng nhập


79

Bảng 5.3 Mơ tả màn hình trang đăng ký

80

Bảng 5.4 Mơ tả màn hình trang tìm kiếm sản phẩm

82

Bảng 5.5 Mơ tả màn hình danh sách khóa học của user

84

Bảng 5.6 Mơ tả màn hình giỏ hàng

86

Bảng 5.7 Mơ tả màn hình thay đổi thơng tin user

87

Bảng 5.8 Mơ tả màn hình thay đổi ảnh đại diện user

89

Bảng 5.9 Mô tả màn hình thay đổi mật khẩu

90


Bảng 5.10 Mơ tả màn hình khóa tài khoản user

92

Bảng 5.11 Mơ tả màn hình lịch sử mua hàng

93

Bảng 5.12 Mơ tả màn hình qn mật khẩu

95

Bảng 5.13 Mơ tả màn hình danh sách khóa học

96

Bảng 5.14 Mơ tả màn hình chỉnh sửa thơng tin cá nhân

97

Bảng 5.15 Mơ tả màn hình đổi mật khẩu

98

Bảng 5.16 Mơ tả màn hình danh sách giảng viên

99

Bảng 5.17 Mơ tả màn hình trang chủ của ứng dụng quản lí của giáo viên


100

Bảng 5.18 Mơ tả màn hình quản lý bài giảng theo khóa học

103

Bảng 5.19 Mơ tả màn hình thêm bài giảng

105

Bảng 5.20 Mơ tả màn hình thêm bài tập cho bài giảng

106

Bảng 5.21 Mơ tả màn hình chỉnh sửa bài giảng

107

Bảng 5.22 Mơ tả màn hình chỉnh sửa bài tập cho bài giảng

108

Bảng 5.23 Mơ tả màn hình báo cáo thống kê

109

Bảng 5.24 Mơ tả màn hình quản lý khóa học

111


Bảng 5.25 Mơ tả màn hình thêm khóa học

112

Bảng 5.26 Mơ tả màn hình chỉnh sửa khóa học

114

12


Bảng 5.27 Mơ tả màn hình quản lý giảng viên

116

Bảng 5.28 Mơ tả màn hình quản lý giảng viên

117

Bảng 5.29 Mơ tả màn hình trang chi tiết blog

119

Bảng 5.30 Mơ tả màn hình trang tạo blog

120

Bảng 5.31 Mơ tả màn hình danh sách flashcard


121

Bảng 5.32 Mơ tả màn hình chỉnh sửa từ vựng

123

Bảng 5.33 Mơ tả màn hình luyện tập flashcard

125

Bảng 5.34 Mơ tả màn hình danh sách lịch sử làm bài luyện thi

126

Bảng 5.35 Mơ tả màn hình chi tiết lịch sử làm bài luyện thi

128

Bảng 5.36 Mô tả màn hình danh sách bài luyện thi

129

Bảng 5.37 Mơ tả màn hình chi tiết chi tiết chọn bài luyện thi

130

Bảng 5.38 Mơ tả màn hình làm bài luyện thi

131


Bảng 6.1 Kiểm thử các chức năng quản lý tài khoản

136

Bảng 6.2 Kiểm thử các chức năng khóa học, bài học

137

Bảng 6.3 Kiểm thử các chức năng quản lý blog, bình luận

138

Bảng 6.4 Kiểm thử các chức năng quản lý danh sách từ

138

Bảng 6.5 Kiểm thử các chức năng quản lý đề luyện tập

138

Bảng 6.6 Kiểm thử các chức năng quản lý danh mục, sản phẩm

139

PHẦN MỞ ĐẦU
1. TÍNH CẤP THIẾT CỦA ĐỀ TÀI
Trong thời đại mà mà cuộc sống của mỗi người đã và đang được tiếp cận với sự phát
triển vượt bậc và nhanh chóng của khoa học và cơng nghệ. Một thời đại mà ứng dụng
của công nghệ thông tin được tìm thấy ở khắp mọi nơi và chỉ cần có mạng internet đã
có thể thực hiện được hầu như mọi thứ. Vì thế chúng em đã quyết định thực hiện đề tài

“Xây dựng Website học tiếng Anh sử dụng Spring Framework và ReactJS” bởi vì
các động lực sau.
Ta có thể thấy, ở thời điểm hiện tại tình hình dịch Covid – 19 ở nước ta đang ở đã
giảm bớt phần nào nhưng việc tập trung vẫn có thể đem lại nhiều rủi ro. Bên cạnh đó,
xã hội ngày nay phát triển một cách nhanh chóng, mọi người ln bận rộn các cơng việc
cá nhân của bản thân. Vì vậy, mọi người luôn phải tranh thủ từng phút từng giây để nâng
cao bản thân. Do đó, nhóm chúng em đưa ra ý tưởng này để giúp cho mọi người có thể
bắt đầu việc học mọi lúc, mọi nơi mà phù hợp với bản thân và khơng mất chi phí và thời
13


gian đi lại. Và đồng thời website này cũng là nơi để cho người dùng có thể tìm kiếm các
khóa học đúng như mong muốn một cách dễ dàng.
2. MỤC TIÊU ĐỀ TÀI
● Xây dựng website cho học viên có thể học online, giáo viên có thể xây dựng khóa
học và dạy học online và dành cho quản trị quản trị viên quản trị cơ sở dữ liệu.
● Vận dụng thành các cơng cơng nghệ mới, ngơn ngữ lập trình hiện đại vào để xây
dựng website của đề tài.
3. PHƯƠNG PHÁP THỰC HIỆN
Tìm hiểu các kiến thức cần thiết để thực hiện đề tài:
● Các kỹ thuật phân tích thiết kế hệ thống
● Tìm hiểu các thư viện hỗ trợ cho đề tài ở ReactJS
● Tìm hiểu về framework, ở đây là Spring Framework
Tham khảo các ứng dụng đang được sử dụng trên thị trường

14


PHẦN NỘI DUNG
CHƯƠNG 1. CƠ SỞ LÝ THUYẾT

1.1. Spring Framework
1.1.1. Giới thiệu về Spring Framework

Hình 1.1. Logo Spring Framework [1]

Spring là một Framework phát triển các ứng dụng Java được sử dụng bởi hàng
triệu lập trình viên. Nó giúp tạo các ứng dụng có hiệu năng cao, dễ kiểm thử, sử dụng
lại code… [2]
Spring nhẹ và trong suốt (nhẹ: kích thước nhỏ, version cơ bản chỉ khoảng 2MB;
trong suốt: hoạt động một cách trong suốt với lập trình viên).Spring là một mã nguồn
mở, được phát triển, chia sẻ và có cộng đồng người dùng rất lớn.
Spring Framework được xây dựng dựa trên 2 nguyên tắc design chính là:
Dependency Injection và Aspect Oriented Programming.Những tính năng core (cốt lõi)
của Spring có thể được sử dụng để phát triển Java Desktop, ứng dụng mobile, Java Web.
Mục tiêu chính của Spring là giúp phát triển các ứng dụng J2EE một cách dễ dàng hơn
dựa trên mơ hình sử dụng POJO (Plain Old Java Object)
1.1.2. Ưu điểm
● Tạo ứng dụng một cách độc lập, có thể chạy trên cả nền tảng Java Web
● Cho phép nhúng trực tiếp các web server như Jetty, Tomcat,… mà không cần
phải triển khai các file WAR.
● Cung cấp nhiều plugin
● Tối ưu hóa cơng đoạn cấu hình cho ứng dụng, khơng sinh ra code cấu hình và
nó cũng khơng u cầu người dùng phải cấu hình lại bằng XML. Từ đó, giúp
tiết kiệm thời gian viết code và tăng năng suất lao động.
15


● Có thể đóng gói ứng dụng Spring dưới dạng là file JAR và có thể dễ dàng khởi
động ứng dụng chỉ với một câu lệnh ngắn gọn, quen thuộc: java – jar,…
● Giảm thiểu thời gian phát triển code, tăng hiệu suất phát triển chung của cả dự

án.
● Dễ dàng tích hợp các mơ-đun liên quan như Spring-MVC, Spring Data, Spring
Security, Spring Cloud,v.v…
● Ngồi ra cịn có nhiều plugins để phát triển nhanh chóng bằng các cơng cụ như
Build như Maven hoặc Gradle..
1.2. ReactJS
1.2.1. Giới thiệu về ReactJS

Hình 1.2 Logo ReactJS [3]

ReactJS là một opensource được phát triển bởi Facebook, ra mắt vào năm 2013, bản
thân nó là một thư viện Javascript được dùng để để xây dựng các tương tác với các thành
phần trên website. Một trong những điểm nổi bật nhất của ReactJS đó là việc render dữ
liệu không chỉ thực hiện được trên tầng Server mà còn ở tầng Client nữa. [4]
React còn cung cấp cho chúng ta khả năng Reusable Code (tái sử dụng code) bằng
cách đưa ra 2 khái niệm quan trọng bao gồm: JSX và Virtual DOM.
1.2.2. Ưu điểm của ReactJS
Sau đây là các ưu điểm của ReactJS:
● Phù hợp với đa dạng thể loại website: ReactJS khiến cho việc khởi tạo website
dễ dàng hơn bởi vì bạn khơng cần phải code nhiều như khi tạo trang web thuần
chỉ dùng JavaScript, HTML và nó đã cung cấp cho bạn đủ loại “đồ chơi” để bạn
có thể dùng cho nhiều trường hợp.
● Tái sử dụng các Component: Nếu bạn xây dựng các Component đủ tốt, đủ flexible
để có thể thỏa các “yêu cầu” của nhiều dự án khác nhau, bạn chỉ tốn thời gian
16



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×