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

BÁO cáo đồ án tốt NGHIỆP đề tài xây DỰNG WEBSITE KHÓA học, hỗ TRỢ KIỂM TRA và THANH TOÁN 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 (3.79 MB, 76 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI
PHÂN HIỆU TẠI TP. HỒ CHÍ MINH
BỘ MƠN CƠNG NGHỆ THÔNG TIN

BÁO CÁO ĐỒ ÁN TỐT NGHIỆP

ĐỀ TÀI: XÂY DỰNG WEBSITE KHĨA HỌC, HỖ TRỢ
KIỂM TRA VÀ THANH TỐN ONLINE

Giảng viên hướng dẫn: ThS. PHẠM THỊ MIÊN
Sinh viên thực hiện:

NGUYỄN VIẾT VŨ

Lớp:

CƠNG NGHỆ THƠNG TIN

Khố:

58

TP. Hồ Chí Minh, 08 năm 2021


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI
PHÂN HIỆU TẠI TP. HỒ CHÍ MINH
BỘ MƠN CƠNG NGHỆ THÔNG TIN


BÁO CÁO ĐỒ ÁN TỐT NGHIỆP

ĐỀ TÀI: XÂY DỰNG WEBSITE KHĨA HỌC, HỖ TRỢ
KIỂM TRA VÀ THANH TỐN ONLINE

Giảng viên hướng dẫn: ThS. PHẠM THỊ MIÊN
Sinh viên thực hiện:

NGUYỄN VIẾT VŨ

Lớp:

CƠNG NGHỆ THƠNG TIN

Khố:

58

TP. Hồ Chí Minh, 08 năm 2021


TRƯỜNG ĐẠI HỌC GIAO THƠNG VẬN

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

TẢI PHÂN HIỆU TẠI TP. HỒ CHÍ MINH

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

BỘ MÔN CÔNG NGHỆ THÔNG TIN


---------------------------------------------------

NHIỆM VỤ THIẾT KẾ TỐT NGHIỆP
BỘ MÔN: CÔNG NGHỆ THƠNG TIN
***

Mã sinh viên: 5851071089

Họ tên SV: Nguyễn Viết Vũ

Khóa: 58

Lớp: Công Nghệ Thông Tin

1. Tên đề tài.
XÂY DỰNG WEBSITE KHĨA HỌC, HỖ TRỢ KIỂM TRA VÀ THANH TỐN
ONLINE.
2. Mục đích, yêu cầu.
a. Mục đích.
- Xây dựng website cho phép học viên đăng ký khóa học và mua khóa học online,
tham khảo các bài kiểm tra của trung tâm. Về phần giao diện admin, thiết kế thuận tiện
trong việc quản lý các thơng tin, thêm, sửa, xóa cho các khóa học và bài kiểm tra.
b. Yêu cầu.
- Tìm hiểu về PHP và Laravel Framework.
- Tìm hiểu về HTML, CSS, Javascript, Bootstrap.
- Tìm hiểu và áp dụng các Api, thanh tốn online và các chức năng khác cho website.
- Xây dựng, thiết kế website phù hợp với mục đích sử dụng.

Nguyễn Viết Vũ – K58


i


3. Nội dung và phạm vi đề tài.
a. Nội dung đề tài.
- Xây dựng website gồm 2 giao diện cho người dùng và admin.
+ Về giao diện người dùng cho phép các học viên có thể xem và tiến hành đăng ký các
khóa học offline tại trung tâm. Ngồi ra trung tâm có các khóa học online miễn phí và
có phí, học viên có thể tiến hành xem, đăng kí và tiến hành thanh tốn để sở hữu khóa
học. Chức năng hỗ trợ kiểm tra online theo hình thức trắc nghiệm.
+ Về giao diện admin cho phép đăng bài quản lý các khóa học tại trung tâm và các
khóa học online, quản lý các bài học, các bài kiểm tra. Phân quyền các chức năng cho
người dùng.
b. Phạm vi đề tài.
- Xây dựng website cho phép học viên đăng ký khóa học và mua khóa học online,
tham khảo các bài kiểm tra của trung tâm.
4. Công nghệ, công cụ và ngơn ngữ lập trình.
a. Cơng nghệ: Visual Studio Code version 1.57.1, Xampp PhpMyAdmin phiên
bản: 5.0.2.
b. Ngơn ngữ lập trình: PHP, HTML, CSS, Javascript, Bootstrap.
5. Các kết quả chính dự kiến sẽ đạt được và ứng dụng
- Hoàn chỉnh cuốn báo cáo đề tài.
- Xây dựng đầy đủ các chức năng cần thiết cho website khóa học.
- Xây dựng giao diện thuận tiện cho người dùng sử dụng.
- Nắm được quy trình nghiệp vụ của website.
- Xây dựng thành cơng website khóa học.

Nguyễn Viết Vũ – K58


ii


6. Giáo viên và cán bộ hướng dẫn
Họ tên: PHẠM THỊ MIÊN
Đơn vị công tác: Bộ môn Công Nghệ Thông Tin – Trường Đại học Giao thông Vận tải
phân hiệu tại TP HCM
Điện thoại: 0961170638

Email:

Ngày 01 tháng 08 năm 2021

Đã giao nhiệm vụ TKTN

BM Công Nghệ Thông Tin

Giáo viên hướng dẫn

Phạm Thị Miên

Đã nhận nhiệm vụ TKTN
Sinh viên: Nguyễn Viết Vũ

Ký tên:

Điện thoại: 0332173097

Email:


Nguyễn Viết Vũ – K58

iii


LỜI CẢM ƠN

Lời nói đầu tiên, em xin gửi tới Quý thầy cô trong Bộ môn Công Nghệ Thông
Tin, cũng như Ban Giám Hiệu Trường Đại học Giao thông Vận tải phân hiệu tại Thành
phố Hồ Chí Minh lời chúc sức khỏe và lời cảm ơn sâu sắc. Với sự quan tâm dạy dỗ,
chỉ bảo tận tình chu đáo của thầy cơ, nay em có thể hồn thành đề tài tốt nghiệp “Xây
dựng website Khóa học, hỗ trợ kiểm tra và thanh tốn online”.
Để hồn thành nhiệm vụ được giao này, ngồi sự nỗ lực học hỏi khơng ngừng
của bản thân cịn có sự hướng dẫn tận tình của các giảng viên trong 4 năm vừa qua, đặc
biệt hơn hết nhờ có giảng viên Phạm Thị Miên, người đã hướng dẫn cho tôi những
hướng đi, truyền đạt cho em những kiến thức, kỹ năng để tơi có thể hồn thành đề tài
tốt nghiệp này.
Mặc dù đã cố gắng hết sức để hoàn thành đề tài, nhưng chắc chắn rằng sẽ khó
tránh khỏi những thiếu sót. Em rất mong nhận được những sự đánh giá, góp ý của Q
thầy cơ để t có thể rút ra cho mình những bài học, kinh nghiệm q báu.
Sau cùng, em cũng khơng biết nói gì hơn ngồi kính chúc Q thầy cơ trong Bộ
mơn Công Nghệ Thông Tin và đặc biệt là cô Phạm Thị Miên thật dồi dào sức khỏe và
ngày càng gặt hái được nhiều thành công hơn nữa trong cuộc sống cũng như trong sự
nghiệp giảng dạy của mình.
Em xin chân thành cảm ơn!
TP. Hồ Chí Minh, ngày 01 tháng 08 năm 2021
Sinh viên thực hiện

Nguyễn Viết Vũ


Nguyễn Viết Vũ – K58

iv


NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN

...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................

Tp. Hồ Chí Minh, ngày 01 tháng 08 năm 2021
Giảng viên hướng dẫn

Phạm Thị Miên

Nguyễn Viết Vũ – K58

v



MỤC LỤC
LỜI CẢM ƠN...............................................................................................................IV
NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN............................................................V
DANH MỤC CHỮ VIẾT TẮT.......................................................................................X
DANH MỤC HÌNH VẼ................................................................................................XI
DANH MỤC BẢNG BIỂU.........................................................................................XIV
CHƯƠNG 1. MỞ ĐẦU.................................................................................................1
1.1. Tổng quan đề tài..................................................................................................1
1.2. Mô tả chi tiết đề tài..............................................................................................1
1.3. Công cụ sử dụng..................................................................................................2
1.4. Cấu trúc báo cáo đồ án tốt nghiệp.......................................................................2
CHƯƠNG 2. CƠ SỞ LÝ THUYẾT...............................................................................3
2.1. Tổng quan về ngơn ngữ lập trình PHP................................................................3
2.1.1. Ưu và nhược điểm của PHP.........................................................................3
2.1.2. Ứng dụng thực tế của ngôn ngữ PHP...........................................................3
2.2. Tổng quan về Laravel..........................................................................................4
2.2.1. Ưu điểm của Laravel....................................................................................4
2.2.2 Nhược điểm của Laravel................................................................................5
2.3. HTML.................................................................................................................5
2.3.1 Giới thiệu về HTML.......................................................................................5
2.3.2. Vai trò của HTML.........................................................................................6
2.4. CSS.....................................................................................................................7
2.4.1. Giới thiệu về CSS..........................................................................................7
2.4.2. Ưu điểm của CSS..........................................................................................7
2.5. JavaScript............................................................................................................8
2.5.1. Giới thiệu về JavaScript...............................................................................8
2.5.2. Ưu điểm của JavaScript................................................................................8
2.5.3. Nhược điểm của JavaScript..........................................................................8

2.6. Bootstrap.............................................................................................................8
2.6.1. Giới thiệu về Bootstrap.................................................................................8
2.6.2. Lý do chọn Bootstrap....................................................................................9
2.6.3. Cấu trúc và tính năng của Bootstrap............................................................9

Nguyễn Viết Vũ – K58

vi


2.7. Tổng quan về cơ sở dữ liệu...............................................................................10
2.7.1. Cơ sở dữ liệu MySQL.................................................................................10
2.7.2. Phương thức hoạt động của MySQL...........................................................11
2.7.3. Ưu nhược điểm của MySQL........................................................................11
CHƯƠNG 3. PHÂN TÍCH VÀ THIẾT KẾ................................................................13
3.1. Đặt vấn đề.........................................................................................................13
3.2. Yêu cầu hệ thống...............................................................................................13
3.2.1. Yêu cầu chức năng......................................................................................13
3.2.2. Mơ tả hệ thống............................................................................................14
3.3. Mơ hình nghiệp vụ của hệ thống:......................................................................15
3.3.1. Mơ hình thực thể kết hợp ERD....................................................................16
3.3.2. Đặc tả các quy trình nghiệp vụ:..................................................................17
3.3.3. Mơ hình hóa các lớp nghiệp vụ...................................................................22
3.4. Lưu trữ dữ liệu trong MySql.............................................................................23
3.4.1. Các thuộc tính dữ liệu bảng khoahoc.........................................................23
3.4.2. Các thuộc tính dữ liệu bảng đào tạo...........................................................24
3.4.3. Các thuộc tính dữ liệu bảng bài test...........................................................24
3.4.4. Các thuộc tính dữ liệu bảng danh sách câu hỏi..........................................24
3.4.5. Các thuộc tính dữ liệu bảng khóa học online..............................................25
3.4.6. Các thuộc tính dữ liệu bảng bài học online................................................25

3.4.7. Các thuộc tính dữ liệu bảng học viên..........................................................26
3.4.8. Các thuộc tính dữ liệu bảng bình luận........................................................26
3.4.2. Các thuộc tính dữ liệu bảng thanh tốn......................................................26
3.4.10. Các thuộc tính dữ liệu bảng đăng ký........................................................27
3.4.11. Các thuộc tính dữ liệu bảng tài khoản học viên........................................27
3.4.12. Các thuộc tính dữ liệu bảng tài khoản quản lý.........................................27
3.4.13. Các thuộc tính dữ liệu bảng chi tiết quyền................................................27
3.4.14. Các thuộc tính dữ liệu bảng quyền...........................................................28
3.5. Database Diagram.............................................................................................28
CHƯƠNG 4. TRIỂN KHAI CHƯƠNG TRÌNH........................................................29
4.1. Các chức năng chính của hệ thống....................................................................29
4.1.1. Giao diện đăng nhập..................................................................................29
4.1.2. Giao diện Admin.........................................................................................29
4.1.3. Giao diện Thêm khóa học trung tâm...........................................................30

Nguyễn Viết Vũ – K58

vii


4.1.4. Giao diện danh sách khóa học trung tâm...................................................30
4.1.5. Giao diện sửa khóa học trung tâm..............................................................31
4.1.6. Giao diện thêm đào tạo...............................................................................31
4.1.7. Giao diện danh sách đào tạo......................................................................32
4.1.8. Giao diện sửa đào tạo.................................................................................32
4.1.9. Giao diện thêm khóa học online.................................................................33
4.1.10. Giao diện danh sách khóa học online.......................................................33
4.1.11. Giao diện sửa khóa học online.................................................................34
4.1.12. Giao diện các thêm bài học online............................................................34
4.1.13. Giao diện danh sách bài học online..........................................................35

4.1.14. Giao diện sửa bài học online....................................................................35
4.1.15. Giao diện thêm bài kiểm tra......................................................................36
4.1.16. Giao diện danh sách bài kiểm tra.............................................................36
4.1.17. Giao diện danh sách câu hỏi....................................................................37
4.1.18. Giao diện thêm câu hỏi thành công..........................................................37
4.1.19. Giao diện thêm user..................................................................................38
4.1.20. Giao diện danh sách user.........................................................................38
4.1.21. Giao diện phân quyền user.......................................................................39
4.1.23. Giao diện thông tin các học viên online....................................................40
4.1.24. Giao diện đổi mật khẩu admin..................................................................40
4.1.25. Chức năng đăng xuất................................................................................41
4.1.26. Giao diện trang chủ web khóa học...........................................................42
4.1.27. Giao diện đăng nhập của học viên............................................................43
4.1.28. Giao diện đăng nhập thành công của học viên.........................................43
4.1.29. Giao diện đăng nhập bằng facebook........................................................44
4.1.30. Giao diện đăng nhập facebook thành công...............................................44
4.1.31. Giao diện đăng ký tài khoản user.............................................................45
4.1.32. Giao diện các khóa học tại trung tâm.......................................................45
4.1.33. Giao diện tìm kiếm thành cơng.................................................................46
4.1.34. Giao diện chi tiết khóa học tại trung tâm..................................................46
4.1.35. Giao diện gmail khi đăng ký thành cơng...................................................47
4.1.36. Giao diện danh sách khóa học trực tuyến.................................................47
4.1.37. Giao diện chi tiết khóa học online............................................................48
4.1.38. Giao diện thanh tốn khóa học online bằng VNPAY................................49

Nguyễn Viết Vũ – K58

vii
i



4.1.39. Giao diện danh sách giảng.......................................................................51
4.1.40. Giao diện chi tiết bài học online...............................................................52
4.1.41. Giao diện bài kiểm tra..............................................................................53
4.1.42. Giao diện quên mật khẩu..........................................................................54
4.1.43. Giao diện cập nhật thông tin học viên......................................................55
4.1.44. Giao diện cập nhật thông tin học viên......................................................55
4.1.45. Giao diện giới thiệu trung tâm..................................................................56
CHƯƠNG 5. KẾT LUẬN-KIẾN NGHỊ.....................................................................57
5.1. Kết quả..............................................................................................................57
5.2. Hạn chế.............................................................................................................57
5.3. Hướng phát triển...............................................................................................58
PHỤ LỤC.................................................................................................................... 59
Phụ lục 1: Hướng dẫn sử dụng.................................................................................59
Phụ lục 2: Thông tin trang Web...............................................................................59
TÀI LIỆU THAM KHẢO...........................................................................................60

Nguyễn Viết Vũ – K58

ix


DANH MỤC CHỮ VIẾT TẮT
STT

Từ viết

Thuật ngữ

Ý nghĩa


tắt
1

PHP

Ghi
chú

PHP: Hypertext

Ngôn ngữ lập trình kịch bản

Preprocessor
2
4

MVC
CSS

Model-View-

Mẫu kiến trúc dùng trong lập

Controller

trình định hướng object.

Cascading Style


Ngơn ngữ lập trình Front end

Sheets
5

HTML

Hyper Text

Ngơn ngữ đánh dấu siêu văn

Markup

bản

Language
6

W3C

World Wide

Thước đo khi thiết kế các

Web

website

Consutirum
7


URL

Uniform

Liên kết của các trang web

resource locator
8

SQL

Structured

Ngơn ngữ truy vấn có cấu

Query

trúc

Language
9

API

Nguyễn Viết Vũ – K58

Application

Một trung gian phần mềm cho


Programming

phép hai ứng dụng giao tiếp

Interface

với nhau

x


DANH MỤC HÌNH VẼ
Hình 3. 1: Sơ đồ phân rã chức năng trang quản lý Website khóa học..........................15
Hình 3. 2: Sơ đồ phân rã chức năng trang chủ Website khóa học................................15
Hình 3. 3: Sơ đồ ERD web khóa học SHTP.................................................................16
Hình 3. 4: Quy trình nghiệp vụ chọn khóa học............................................................17
Hình 3. 5: Quy trình nghiệp vụ thêm khóa học mới.....................................................18
Hình 3. 6: Quy trình nghiệp vụ thêm bài học mới........................................................19
Hình 3. 7: Quy trình nghiệp vụ làm bài test.................................................................20
Hình 3. 8: Quy trình nghiệp vụ thêm bài test mới........................................................21
Hình 3. 9: Sơ đồ database diagram..............................................................................28
Hình 4. 1: Giao diện đăng nhập admin.........................................................................29
Hình 4. 2: Giao diện quản lý của admin.......................................................................29
Hình 4. 3: Giao diện thêm khóa học.............................................................................30
Hình 4. 4: Giao diện các khóa học...............................................................................30
Hình 4. 5: Giao diện sửa khóa học trung tâm...............................................................31
Hình 4. 6: Giao diện thêm chương trình đào tạo..........................................................31
Hình 4. 7: Giao diện danh sách đào tạo.......................................................................32
Hình 4. 8: Giao diện sửa đào tạo.................................................................................32

Hình 4. 9: Giao diện thêm khóa học online..................................................................33
Hình 4. 10: Giao diện danh sách khóa học online........................................................33
Hình 4. 11: Giao diện sửa khóa học online..................................................................34
Hình 4. 12: Giao diện các thêm bài học online...........................................................34
Hình 4. 13: Giao diện các chương trình đào tạo...........................................................35
Hình 4. 14: Giao diện sửa bài học online.....................................................................35
Hình 4. 15: Giao diện thêm bài kiểm tra......................................................................36
Hình 4. 16: Giao diện danh sách bài kiểm tra..............................................................36
Hình 4. 17: Giao diện danh sách câu hỏi......................................................................37
Hình 4. 18: Giao diện thêm câu hỏi thành cơng...........................................................37
Hình 4. 19: Giao diện thêm user..................................................................................38
Hình 4. 20: Giao diện danh sách user...........................................................................38

Nguyễn Viết Vũ – K58

xi


Hình 4. 21: Giao diện phân quyền user........................................................................39
Hình 4. 22: Giao diện thơng tin học viên tại trung tâm................................................39
Hình 4. 23: Giao diện thơng tin học viên online..........................................................40
Hình 4. 24: Giao diện đổi mật khẩu admin..................................................................40
Hình 4. 25: Chức năng đăng xuất.................................................................................41
Hình 4. 26: Trang chủ Website khóa học SHTP..........................................................42
Hình 4. 27: Giao diện đăng nhập user..........................................................................43
Hình 4. 28: Giao diện đăng nhập user thành cơng.......................................................43
Hình 4. 29 Giao diện khi nhấn button facebook...........................................................44
Hình 4. 30 Giao diện đăng nhập facebook thành cơng.................................................44
Hình 4. 31: Giao diện đăng ký user..............................................................................45
Hình 4. 32: Giao diện các khóa học tại trung tâm........................................................45

Hình 4. 33: Giao diện tìm kiếm thành cơng.................................................................46
Hình 4. 34: Giao diện chi tiết khóa học tại trung tâm..................................................46
Hình 4. 35: Gửi mail cảm ơn.......................................................................................47
Hình 4. 36: Danh sách các khóa học trực tuyến...........................................................47
Hình 4. 37: Giao diện hiển thị khóa học chưa thanh tốn............................................48
Hình 4. 38: Giao diện hiển thị khóa học miễn phí........................................................48
Hình 4. 39: Giao diện hiển thị khóa học đã thanh tốn................................................49
Hình 4. 40: Giao diện thanh tốn VNPAY...................................................................49
Hình 4. 41: Giao diện nhập thơng tin VNPAY............................................................50
Hình 4. 42: Giao diện nhập mã xác thực OTP.............................................................50
Hình 4. 43: Hình ảnh thơng tin đơn hàng.....................................................................51
Hình 4. 44: Giao diện danh sách bài giảng...................................................................51
Hình 4. 45: Giao diện bài học online...........................................................................52
Hình 4. 46: Giao diện bài kiểm tra tham khảo.............................................................53
Hình 4. 47: Giao diện kết quả bài kiểm tra..................................................................53
Hình 4. 48: Giao diện quên mật khẩu...........................................................................54
Hình 4. 49: Hình ảnh email mật khẩu mới...................................................................54
Hình 4. 50: Cập nhật thơng tin học viên......................................................................55
Hình 4. 51: Thơng tin các khóa học đã đăng ký...........................................................55

Nguyễn Viết Vũ – K58

xii


Hình 4. 52: Trang giới thiệu trung tâm........................................................................56
Hình 5. 1: Kết quả đưa lên Web host...........................................................................57

Nguyễn Viết Vũ – K58


xii
i


DANH MỤC BẢNG BIỂU
Bảng 3. 1: Mơ hình hóa lớp User.................................................................................22
Bảng 3. 2: Mơ hình hóa lớp khóa học..........................................................................22
Bảng 3. 3: Mơ hình hóa lớp bài học.............................................................................23
Bảng 3. 4: Mơ hình hóa lớp bài test.............................................................................23
Bảng 3. 5: Các thuộc tính dữ liệu bảng khóa học.........................................................23
Bảng 3. 6: Các thuộc tính dữ liệu bảng đào tạo............................................................24
Bảng 3. 7: Các thuộc tính dữ liệu bảng bài test............................................................24
Bảng 3. 8: Các thuộc tính dữ liệu bảng danh sách câu hỏi...........................................24
Bảng 3. 9: Các thuộc tính dữ liệu bảng khóa học online..............................................25
Bảng 3. 10: Các thuộc tính dữ liệu bảng bài học online...............................................25
Bảng 3. 11: Các thuộc tính dữ liệu bảng học viên........................................................26
Bảng 3. 12: Các thuộc tính dữ liệu bảng bình luận......................................................26
Bảng 3. 13: Các thuộc tính dữ liệu bảng thanh tốn.....................................................26
Bảng 3. 14: Các thuộc tính dữ liệu bảng đăng ký.........................................................27
Bảng 3. 15: Các thuộc tính dữ liệu bảng tài khoản học viên........................................27
Bảng 3. 16: Các thuộc tính dữ liệu bảng tài khoản quản lý..........................................27
Bảng 3. 17: Các thuộc tính dữ liệu bảng chi tiết quyền................................................27
Bảng 3. 18: Các thuộc tính dữ liệu bảng quyền...........................................................28

Nguyễn Viết Vũ – K58

xi
v



CHƯƠNG 1. MỞ ĐẦU
1.1. Tổng quan đề tài
Hiện nay, các khóa học được mở ra nhằm nâng cao kỹ năng nghề nghiệp hoặc
chun mơn nào đó cho học viên. Người học đăng ký các khóa học này với mong muốn
hồn thiện các kỹ năng, kiến thức cịn thiếu để có cơ hội tăng lương, lên chức hoặc chỉ
đơn giản là làm tốt hơn chun mơn của mình.
Các khóa học này xuất hiện ngày càng nhiều nhằm đáp ứng nhu cầu học ( của
mọi đối tượng bao gồm cả già lẫn trẻ, cán bộ làm trong các cơ quan nhà nước đến người
làm tư nhân, làm tự do, còn đi học hay đã về hưu…). Mục đích tham gia các khóa học
cũng rất đa dạng, từ việc học để hoàn thiện kỹ năng, nâng cao chuyên môn đến học để
nâng lương, thăng chức hoặc đi du học,… Tuy nhiên cũng chính vì sự xuất hiện ngày
càng nhiều và tràn lan của đủ các loại khóa học mà việc thu hút học viên dường như khó
khăn hơn.
Với mong muốn nhằm cải thiện các vấn đề nắm bắt thơng tin khóa học, đăng ký
khoá học tại trung tâm đào tạo được thực hiện nhanh hơn, mang tính chính xác cao. Từ
thực tế đó, em xây dựng Website khóa học.
Website khố học là website cho phép người dùng thực hiện một cách nhanh
chóng , chính xác việc nhập dữ liệu, lưu trữ, cập nhật thơng tin các khóa học tại trung
tâm đào tạo, các khóa học online, đồng thời cho học viên tham khảo các bài kiểm tra.
Website sẽ giúp người dùng tránh việc dữ liệu bị mất, sắp xếp và lưu thông tin một cách
hợp lý và logic, xử lý nhanh chóng các thông tin,tra cứu thông tin với một tốc độ truy
cập nhanh và độ chính xác cao khơng nhầm lẫn giúp ta tiết kiệm nhiều thời gian hơn với
giao diện làm việc thân thiện, tiện dụng đối với người sử dụng.
1.2. Mơ tả chi tiết đề tài
Website khố học được chia làm 2 phần:
Phần 1 dành cho học viên, học viên khi vào web giới thiệu khóa học có thể coi
được thơng tin các khóa học có đào tạo tại trung tâm đào tạo, bao gồm các thơng tin :
Tên khóa học, lịch khai giảng dự kiến, thời lượng học của khóa học, mục tiêu giảng
dạy, nội dung giảng dạy. Tất cả học viên khi muốn đăng ký khoá học tại đây đều phải
đăng nhập tài khoản, nếu chưa có thì sẽ phải đăng ký tài khoản bằng thông tin cá nhân

để trung tâm có thể liên lạc và tư vấn (họ và tên học viên, số điện thoại, email,địa chỉ,
tên tài khoản, mật khẩu). Các thơng tin khố học trên website giới thiệu khóa học sẽ
được sắp xếp theo lịch khai giảng dự kiến gần nhất, những khoá học hết hạn đăng ký
sẽ được bỏ qua không hiển thị trên web để tránh nhầm lẫn cho các học viên. Bên cạnh
đó, chúng ta có thể tìm kiếm các khóa học bằng từ khố của tên khố học nếu cần.
Ngồi ra, trung

Nguyễn Viết Vũ – K58

1


tâm cịn cung cấp các khóa học online để cho học viên có thể học bổ trợ kiến thức.
Khóa học online có thể miễn phí và có phí. Nếu miễn phí học viên tiến hành học ngay,
nếu có phí học viên có thể thanh tốn để sở hữu khóa học thơng qua hệ thống VNPAY.
Trung tâm cịn cung cấp các bài kiểm tra cho học viên tham khảo cũng như khảo sát
kiến thức giúp học viên chọn khóa học hợp lý.
Phần 2 dành cho quản lý (admin), người quản lý web có thể thực hiện các chức
năng thêm sửa xóa đối với mục đào tạo, khóa học tại trung tâm, khóa học online, bài
học và bài kiểm tra. Danh sách câu hỏi được nhập từ file Excel. Ngoài ra, người quản
lý chính có thể tạo tài khoản và phân quyền cho người dùng, xem thông tin các học
viên đăng ký khố học tại trung tâm, học viên mua khóa học online, thống kê doanh
thu, khóa học và học viên, .
Cả 2 phần quản lý và học viên đều có chức năng đổi mật khẩu.
1.3. Công cụ sử dụng


Sử dụng ngôn ngữ lập trình xử lý BackEnd : PHP Laravel




Lập trình phía FrontEnd sử dụng : HTML , CSS , JS , JQUERY



Thiết kế cơ sở dữ liệu : MySQL


Môi trường phát triển tích hợp: Visual studio code , XamPP
1.4. Cấu trúc báo cáo đồ án tốt nghiệp
1.4.1
1.4.2
1.4.3
1.4.4
1.4.5

Chương 1: Mở đầu
Chương 2: Cơ sở lý thuyết
Chương 3: Phân tích và thiết kế
Chương 4: Triển khai chương trình
Chương 5: Kết quả - Kiến nghị

Nguyễn Viết Vũ – K58

2


CHƯƠNG 2. CƠ SỞ LÝ THUYẾT
2.1. Tổng quan về ngôn ngữ lập trình PHP
PHP là một từ viết tắt của cụm từ Hypertext Pre Processor. Là một ngơn ngữ

lập trình thường được sử dụng để phát triển ứng dụng. Những thứ có liên quan đến viết
máy chủ, mã nguồn mở hay mục đích tổng qt. Ngồi ra, nó cịn rất thích hợp để lập
trình web và có thể dễ dàng nhúng vào trang HTML. Ngày nay, PHP đã chiếm tới hơn
70% web hiện nay, trang web giới thiệu của các công ty như influxwebtechnologies,
Monamedia đều được xây dựng bằng WordPress – một mã nguồn được viết bởi ngôn
ngữ PHP. Bởi những tính năng như tối ưu hóa cho các ứng dụng web. Tốc độ load web
nhanh, nhỏ gọn, cú pháp giống C và JAVA. Rất dễ học và thời gian xây dựng sản
phẩm tương đối ngắn hơn so với các ngôn ngữ khác hiện nay.
2.1.1. Ưu và nhược điểm của PHP
Qua những giới thiệu trên, ta có thể thấy ngơn ngữ này có khá nhiều tính năng
hay. Tuy nhiên, cũng giống như các ngơn ngữ lập trình khác. Chúng đều có ưu và
nhược điểm riêng, cụ thể là dưới đây.
Ưu điểm
PHP được sử dụng miễn phí.
Cú pháp và cấu trúc của PHP tương đối dễ dàng.
Là ngôn ngữ thông dụng với các cơng ty hiện nay
Nhược điểm
PHP cịn hạn chế về cấu trúc của ngữ pháp. Nó khơng được thiết kế gọn gàng
và không được đẹp mắt như những ngôn ngữ lập trình khác.
PHP chỉ có thể hoạt động và sử dụng được trên các ứng dụng trong web.
2.1.2. Ứng dụng thực tế của ngôn ngữ PHP
Không phải tự nhiên mà PHP trở thành ngơn ngữ lập trình web phổ biến nhất
hiện nay, nhất là khi nó được sử dụng trong các dịch vụ thiết kế website trọn gói của
nhiều cơng ty lớn, đó là bởi vì tính linh hoạt của PHP, có thể chèn PHP ngay trong
code HTML hoặc viết thành những file riêng, giúp cho các lập trình viên có thể dễ
dàng quản lý code của mình.
Với khả năng tương thích với HTML5 và có thể gắn trực tiếp vào code, PHP
hiển nhiên trở thành ngôn ngữ thiết kế web phổ biến nhất hiện nay, được nhiều người
sử dụng, cũng như các ưu điểm dễ học, ứng dụng cao và phù hợp với nhiều đối tượng,
nhiều mục đích website khác nhau mà PHP ngày càng được thịnh hành, minh chứng

chính là sự phát triển của các website viết bằng PHP và sự phổ biến hơn của các CMS
như Joomla, Drupal và đặc biệt là WordPress – những mã nguồn được viết bằng PHP
càng khiến nó trở nên phổ biến hơn.

Nguyễn Viết Vũ – K58

3


Tất cả các cơ sở trên đây giải thích tại sao PHP được ứng dụng để thiết kế web
trọn gói trong thực tế hiện nay mà không phải là bất kỳ ngôn ngữ nào khác.
2.2. Tổng quan về Laravel
Laravel là một trong những PHP web framework phổ biến nhất theo mẫu MVC
(Model-View- Controller). Laravel framework là nguồn mở và miễn phí giúp bạn đưa
ra các sản phẩm chất lượng cao. Các code sẽ được giảm thiểu đi, nhưng vẫn đạt tiêu
chuẩn ngành, giúp bạn tiết kiệm được hàng trăm giờ đồng hồ dành cho việc phát triển.
2.2.1. Ưu điểm của Laravel
 Sử dụng các tính năng mới nhất của PHP
Một trong những tính năng làm cho PHP Laravel framework trở nên nổi bật hơn
tất cả đó là nó sử dụng tất cả các tính năng mới của PHP. Các framework khác không
tận dụng được điều này. Sử dụng Laravel 5 bạn sẽ sở hữu một số tính năng mới nhất
mà PHP cung cấp, đặc biệt là trong Namespaces, Interfaces, Overloading, Anonymous
functions và Shorter array syntax. Đã có rất nhiều bộ CMS nổi bật được viết trên nền
Laravel framework ra đời, từ những bộ CMS đơn giản nhất đến những bộ "siêu mạnh",
từ mã nguồn mở đến thương mại.
 Tài liệu tuyệt vời
Tài liệu của Laravel rất thân thiện với nhà phát triển. Tất cả các phiên bản của
Laravel được phát hành cùng với các tài liệu phù hợp, bạn sẽ tìm thấy những giải thích
chi tiết về coding style, methods và classes.
 Tích hợp với dịch vụ mail

Các ứng dụng web bắt buộc phải thông báo cho người dùng về các deal và offer
mới. Đăng ký người dùng mới cũng rất quan trọng (nghĩa là thông báo cho người dùng
mới khi anh ấy/ cô ấy đăng ký). Framework được trang bị API sạch trên thư viện
SwiftMailer. Và có các driver cho SMTP, Mailgun, SparkPost, Mandrill, PHP's "mail"
function, Amazon SES, và "sendmail" giúp bạn gửi thư qua các dịch vụ dựa trên đám
mây hoặc dịch vụ local.
 Hỗ trợ cache backend phổ biến
Laravel framework hỗ trợ các cache backend như Memcached và Redis out-ofthe-box. Bạn cũng có thể tùy chỉnh nhiều cấu hình cache.
 Cơng cụ tích hợp cho dịng lệnh - Artisan
Các nhà phát triển thường thấy tẻ nhạt khi thực hiện các nhiệm vụ lập trình lặp
đi lặp lại vì chúng rất tốn thời gian. Cơng cụ dịng lệnh có tên Artisan giúp họ tạo
khung code và quản lý hệ thống cơ sở dữ liệu hiệu quả. Artisan giúp tạo các tệp MVC
cơ bản và quản lý tài sản, bao gồm cả các cấu hình tương ứng của chúng.
 Gói và nguồn lực sẵn có

Nguyễn Viết Vũ – K58

4


Bạn sẽ được hưởng lợi ích từ npm package và bower package bằng cách kết
hợp framework với Gulp và elixir, giúp trong việc sửa đổi tài nguyên. Việc tích hợp
này sẽ giải quyết các phụ thuộc và là nguồn đáng tin cậy nhất trong thế giới PHP.
 Giảm chu kỳ phát triển sản phẩm
Bạn có thể giảm đáng kể chu kỳ phát triển sản phẩm vì framwork giúp tích hợp
nhanh hơn, bên cạnh đó là cộng đồng hỗ trợ rất lớn - Laracasts.
2.2.2 Nhược điểm của Laravel
 Không hỗ trợ tính năng thanh tốn
Sẽ khơng đáng lo ngại nếu bạn khơng tự mình quản lý các khoản thanh tốn,
bởi vì bạn sẽ phải tuân thủ các quy tắc tuân thủ PCI. Trì hỗn các dịch vụ như Stripe

và Paypal sẽ giải quyết vấn đề đó. Bạn cũng có thể thử bất kỳ trang web thương mại
trực tuyến nào và xây dựng ứng dụng của mình trong kho template có sẵn, hoặc sử
dụng các thư viện của Framework cho phép bạn tích hợp các phương thức thanh tốn.
Tuy nhiên, hầu hết các nhà giao dịch điện tử nên được nhúng bộ xử lý thanh toán của
bên thứ ba nhằm thuận tiện hơn.
 Thiếu sự liên tục giữa các phiên bản
Khơng có chuyển đổi liền mạch từ Laravel 4 sang 5. Nếu cố cập nhật code, bạn
có thể sẽ phá vỡ ứng dụng.
 Chất lượng
Một số thành phần trong framework không được thiết kế tốt. Ví dụ, dependency
injection đơi khi trở nên phức tạp không cần thiết. Các tài liệu khá nặng. Bạn phải học
hỏi nhiều trước khi bắt đầu xây dựng các ứng dụng.
Do đó, đây khơng phải là một lựa chọn tốt cho các nhà phát triển nghiệp dư.
Tuy nhiên, framework vẫn đang được cải thiện rất nhiều. Phiên bản 5 đã tốt hơn nhiều
với số lượng sai sót cũng ít hơn.
 Một số nâng cấp có thể có vấn đề
Đây không chỉ là vấn đề của Laravel mà là của các PHP framework. Vì vậy, các
nhà phát triển nên có biện pháp phịng ngừa trước khi nâng cấp mobile
application/website.
 Thường không cung cấp sự phong phú cho ứng dụng di động
Việc tải lại tồn trang có thể hơi nặng trong các mobile app khi so sánh với các
website. Trong những trường hợp như vậy, các nhà phát triển web có xu hướng chỉ sử
dụng framework như backend JSON API.
2.3. HTML.
2.3.1 Giới thiệu về HTML.
HTML là chữ viết tắt của cụm từ HyperText Markup Language (dịch là Ngôn

Nguyễn Viết Vũ – K58

5



ngữ đánh dấu siêu văn bản) được sử dụng để tạo một trang web, trên một website có
thể sẽ chứa nhiều trang và mỗi trang được quy ra là một tài liệu HTML (sau đây có thể
gọi là một tập tin HTML). Một tài liệu HTML được hình thành bởi các phần tử HTML
(HTML Elements) được quy định bằng các cặp thẻ (tag), các cặp thẻ này được bao bọc
bởi một dấu ngoặc nhọn (ví dụ <html>) và thường là sẽ được khai báo thành một cặp,
bao gồm thẻ mở và thẻ đóng (ví <strong> dụ </strong> và ). Các văn bản muốn được
đánh dấu bằng HTML sẽ được khai báo bên trong cặp thẻ (ví dụ <strong>Đây là chữ
in đậm</strong>). Nhưng một số thẻ đặc biệt lại khơng có thẻ đóng và dữ liệu được
khai báo sẽ nằm trong các thuộc tính (ví dụ như thẻ <img>).
Một tập tin HTML sẽ bao gồm các phần tử HTML và được lưu lại dưới đuôi mở rộng là
.html hoặc .htm.
2.3.2. Vai trị của HTML.
HTML là một ngơn ngữ đánh dấu siêu văn bản nên nó sẽ có vai trị xây dựng
cấu trúc siêu văn bản trên một website, hoặc khai báo các tập tin kỹ thuật số (media)
như hình ảnh, video, nhạc.
Điều đó khơng có nghĩa là chỉ sử dụng HTML để tạo ra một website mà HTML
chỉ đóng một vai trị hình thành trên website.
HTML – Xây dựng cấu trúc và định dạng các siêu văn bản.
CSS – Định dạng các siêu văn bản dạng thô tạo ra từ HTML thành một bố cục
website, có màu sắc, ảnh nền…
Javascript – Tạo ra các sự kiện tương tác với hành vi của người dùng (ví dụ nhấp vào
ảnh trên nó sẽ có hiệu ứng phóng to).
Dễ hiểu hơn, bạn hãy nghĩ rằng nếu website là một cơ thể hồn chỉnh thì HTML chính
là bộ xương của cơ thể đó, nó như là một cái khung sườn vậy.
Như vậy, dù website thuộc thể loại nào, giao tiếp với ngơn ngữ lập trình nào để xử lý
dữ liệu thì vẫn phải cần HTML để hiển thị nội dung ra cho người truy cập xem.

Nguyễn Viết Vũ – K58


6


2.4. CSS.
2.4.1. Giới thiệu về CSS.
CSS là chữ viết tắt của Cascading Style Sheets, nó chỉ đơn thuần là một dạng
file text với phần tên mở rộng là .css. Trong Style Sheet này chứa những câu lệnh CSS.
Mỗi một lệnh của CSS sẽ định dạng một phần nhất định của HTML ví dụ như: font
của chữ, đường viền, màu nền, căn chỉnh hình ảnh…
Trước đây khi chưa có CSS, những người thiết kế web phải trộn lẫn giữa các
thành phần trình bày và nội dung với nhau. Nhưng với sự xuất hiện của CSS, người ta
có thể tách rời hồn tồn phần trình bày và nội dung. Giúp cho phần code của trang
web cũng gọn hơn và quan trọng hơn cả là dễ chỉnh sửa hơn.
CSS được phát triển bởi W3C (World Wide Web Consortium) vào năm 1996, vì một
lý do đơn giản. HTML không được thiết kế để gắn tag để giúp định dạng trang web.
Bạn chỉ có thể dùng nó để “đánh dấu” lên site.
Những tag như <font> được ra mắt trong HTML phiên bản 3.2, nó gây rất nhiều
rắc rối cho lập trình viên. Vì website có nhiều font khác nhau, màu nền và phong cách
khác nhau. Để viết lại code cho trang web là cả một quá trình dài, cực nhọc. Vì vậy,
CSS được tạo bởi W3C là để giải quyết vấn đề này.
Mối tương quan giữa HTML và CSS rất mật thiết. HTML là ngôn ngữ markup (nền
tảng của site) và CSS định hình phong cách (tất cả những gì tạo nên giao diện
website), chúng là khơng thể tách rời.
CSS về lý thuyết khơng có cũng được, nhưng khi đó website sẽ chỉ là một trang
chứa văn bản mà khơng có gì khác.
CSS cho phép tạo các quy tắc chỉ định cách nội dung của một phần tử sẽ xuất
hiện. Ví dụ: có thể chỉ định rằng nền của trang là màu kem, tất cả các đoạn văn sẽ xuất
hiện bằng màu xám bằng kiểu chữ Arial hoặc tất cả các tiêu đề cấp một phải có màu
xanh lam, in nghiêng, kiểu chữ Times (có thể tham khảo Chương 10 trong cuốn

“Html&Css” [6] của John Ducket).
2.4.2. Ưu điểm của CSS.
Sự khác biệt giữa site có CSS và khơng có CSS rất dễ nhận biết.
Trước khi sử dụng CSS, tất cả những phong cách của CSS cần được đính kèm
vào trong HTML markup. Có nghĩa là bạn cần tách ra để xác định các thành phần như
background, font colors, canh hàng…
CSS giúp định kiểu mọi thứ trên một file khác, bạn có thể tạo phong cách trước rồi sau
đó tích hợp file CSS lên trên cùng của file HTML. Việc này giúp HTML markup rõ
ràng và dễ quản lý hơn nhiều.
Tóm lại, với CSS bạn khơng cần lặp lại các mô tả cho từng thành phần. Nó tiết kiệm
thời gian, làm code ngắn lại để bạn có thể kiểm sốt lỗi dễ dàng hơn.

Nguyễn Viết Vũ – K58

7


2.5. JavaScript.
2.5.1. Giới thiệu về JavaScript.
JavaScript là ngôn ngữ lập trình phổ biến nhất trên thế giới trong suốt 20 năm qua.
Nó cũng là một trong số 3 ngơn ngữ chính của lập trình web:
 HTML: Giúp bạn thêm nội dung cho trang web.
 CSS: Định dạng thiết kế, bố cục, phong cách, canh lề của trang web.
 JavaScript: Cải thiện cách hoạt động của trang web.
2.5.2. Ưu điểm của JavaScript.
JavaScript có rất nhiều ưu điểm khiến nó vượt trội hơn so với các đối thủ, đặc
biệt trong các trường hợp thực tế. Khơng cần một compiler vì web browser có thể biên
dịch nó bằng HTML.
- Dễ học hơn các ngơn ngữ lập trình khác.
- Lỗi dễ phát hiện hơn và vì vậy dễ sửa hơn.

- Có thể được gắn trên một số element của trang web hoặc event của trang web như là
thông qua click chuột hoặc di chuột tới.
JS hoạt động trên nhiều trình duyệt, nền tảng…
Bạn có thể sử dụng JavaScript để kiểm tra input và giảm thiểu việc kiểm tra thủ
công khi truy xuất qua cơ sở dữ liệu.
Nó giúp website tương tác tốt hơn với khách truy cập.
Nó nhanh hơn và nhẹ hơn các ngơn ngữ lập trình khác.
2.5.3. Nhược điểm của JavaScript.
Mọi ngơn ngữ lập trình đều có các khuyết điểm. Một phần là vì ngơn ngữ đó
khi phát triển đến một mức độ như JavaScript, nó cũng sẽ thu hút lượng lớn hacker,
scammer, và những người có ác tâm ln tìm kiếm những lỗ hổng và các lỗi bảo mật
để lợi dụng nó. Một số khuyết điểm có thể kể đến là:
Dễ bị khai thác.
Có thể được dùng để thực thi mã độc trên máy tính của người dùng.
Nhiều khi khơng được hỗ trợ trên mọi trình duyệt.
Có thể bị triển khai khác nhau tùy từng thiết bị dẫn đến việc không đồng nhất.
2.6. Bootstrap.
2.6.1. Giới thiệu về Bootstrap.
Bootstrap là một framework bao gồm các HTML, CSS và JavaScript template
dùng để phát triển website chuẩn responsive. Bootstrap cho phép quá trình thiết kế
website diễn ra nhanh chóng và dễ dàng hơn dựa trên những thành tố cơ bản sẵn có
như typography, forms, buttons, tables, grids, navigation, image carousels…

Nguyễn Viết Vũ – K58

8


Bootstrap là một bộ sưu tập miễn phí của các mã nguồn mở và công cụ dùng để
tạo ra một mẫu website hồn chỉnh. Với các thuộc tính về giao diện được quy định sẵn

như kích thước, màu sắc, độ cao, độ rộng…, các designer có thể sáng tạo nhiều sản
phẩm mới mẻ nhưng vẫn tiết kiệm thời gian khi làm việc với framework này trong quá
trình thiết kế giao diện website.
2.6.2. Lý do chọn Bootstrap.
Bootstrap rất phổ biến và là một lựa chọn tối ưu trong thiết kế web.
Giữa muôn vàn ứng dụng thiết kế website hiện nay, Bootstrap vẫn có khả năng cạnh
tranh cao là nhờ những đặc điểm nổi bật sau:
 Dễ dàng thao tác.
Cơ chế hoạt động của Bootstrap là dựa trên xu hướng mã nguồn mở HTML,
CSS và Javascript. Người dùng cần trang bị kiến thức cơ bản 3 mã này mới có
thể sử dụng Bootstrap hiệu quả. Bên cạnh đó, các mã nguồn này cũng có thể dễ
dàng thay đổi và chỉnh sửa tùy ý.
 Tùy chỉnh dễ dàng.
Bootstrap được tạo ra từ các mã nguồn mở cho phép designer linh hoạt hơn.
Giờ đây có thể lựa chọn những thuộc tính, phần tử phù hợp với dự án họ đang
theo đuổi. CDN Bootstrap còn giúp bạn tiết kiệm dung lượng vì khơng cần tải
mã nguồn về máy.
 Chất lượng sản phẩm đầu ra hoàn hảo.
Bootstrap là sáng tạo của các lập trình viên giỏi trên khắp thế giới. Bootstrap đã
được nghiên cứu và thử nghiệm trên các thiết bị. Được kiểm tra nhiều lần trước
khi đưa vào sử dụng. Do đó, khi chọn Bootstrap, bạn có thể tin rằng mình sẽ tạo
nên những sản phẩm với chất lượng tốt nhất.
 Độ tương thích cao.
Điểm cộng lớn nhất của Bootstrap là khả năng tương thích với mọi trình duyệt
và nền tảng. Đây là một điều cực kỳ quan trọng và cần thiết trong trải nghiệm
người dùng. Sử dụng Grid System cùng với hai bộ tiền xử lý Less và Sass,
Bootstrap mặc định hỗ trợ Responsive và ưu tiên cho các giao diện trên thiết bị
di động hơn. Bootstrap có khả năng tự động điều chỉnh kích thước trang website
theo khung browser. Mục đích để phù hợp với màn hình của máy tính để bàn,
tablet hay laptop.

2.6.3. Cấu trúc và tính năng của Bootstrap.
Cấu trúc gọn nhẹ khiến chức năng của Bootstrap trở nên linh hoạt.

Nguyễn Viết Vũ – K58

9


×