You are on page 1of 76

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 TOÁ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
Khoá: 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 TOÁ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
Khoá: 58

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


TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN CỘNG HOÀ 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 TOÁ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 toá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. Ngoà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 toá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: ptmien@utc2.edu.vn

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: 5851071089@st.utc2.edu.vn

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ể hoà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 toán online”.
Để hoàn thành nhiệm vụ được giao này, ngoà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ể hoà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 Quý
thầy cô để t có thể rút ra cho mình những bài học, kinh nghiệm quý báu.
Sau cùng, em cũng không biết nói gì hơn ngoài kính chúc Quý 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 toá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 toá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 Ghi


tắt chú
1 PHP PHP: Hypertext Ngôn ngữ lập trình kịch bản
Preprocessor
2 MVC Model-View- Mẫu kiến trúc dùng trong lập
Controller trình định hướng object.
4 CSS 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 Application Một trung gian phần mềm cho
Programming phép hai ứng dụng giao tiếp
Interface với nhau

Nguyễn Viết Vũ – K58 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 toá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 toán................................................49
Hình 4. 40: Giao diện thanh toá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 toá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
chuyên 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
hoà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 chuyên 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 khoá 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 khoá 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 khoá 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ừ khoá của tên khoá học nếu cần.
Ngoà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 toá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ý khoá 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 Chương 1: Mở đầu
1.4.2 Chương 2: Cơ sở lý thuyết
1.4.3 Chương 3: Phân tích và thiết kế
1.4.4 Chương 4: Triển khai chương trình
1.4.5 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 quát. Ngoà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-of-
the-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 toá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 toán,
bởi vì bạn sẽ phải tuân thủ các quy tắc tuân thủ PCI. Trì hoã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 toá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 toà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ể hoà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 hoàn toà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 soá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 luôn 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 hoà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


 Bootstrap chứa các tập tin JavaScript, CSS và fonts đã được biên dịch và nén
lại. Ngoài ra, Bootstrap được thiết kế dưới dạng các mô-đun. Do đó, dễ dàng
tích hợp với hầu hết các mã nguồn mở như WordPress, Joomla, Magento, …
Trong đó, Bootstrap mang đến nhiều chức năng nổi bật.
 Bootstrap cho phép người dùng truy cập vào thư viện “khổng lồ” các thành tố
dùng để tạo nên giao diện của một website hoàn chỉnh như font, typography,
form, table, grid…
 Bootstrap cho phép bạn tùy chỉnh framework của website trước khi tải xuống và
sử dụng nó tại trang web của khung.
 Tái sử dụng các thành phần lặp đi lặp lại trên trang web.
 Bootstrap được tích hợp jQuery. Bạn chỉ cần khai báo chính xác các tính năng
trong quá trình lập trình web của bạn.
 Định nghĩa glyphicons nhằm giảm thiểu việc sử dụng hình ảnh làm biểu tượng
và tăng tốc độ tải trang.
2.7. Tổng quan về cơ sở dữ liệu
Cơ sở dữ liệu (Database) là tập hợp dữ liệu được tổ chức có cấu trúc liên quan
với nhau và được lưu trữ trong máy tính.
Cơ sở dữ liệu được thiết kế, xây dựng cho phép người dùng lưu trữ dữ liệu, truy xuất
thông tin hoặc cập nhật dữ liệu.
Hệ quản trị cơ sở dữ liệu là các phần mềm giúp tạo các cơ sở dữ liệu và cung
cấp cơ chế lưu trữ, truy cập theo các mô hình CSDL. Ví dụ: SQL Server, Microsoft
Access, Oracle là các hệ quản trị CSDL điển hình.
2.7.1. Cơ sở dữ liệu MySQL
MySQL là một hệ thống quản trị cơ sở dữ liệu mã nguồn mở mà trong tiếng anh
gọi là Relational Database Management System (viết tắt là RDBMS) hoạt động theo
mô hình client-server. Máy tính cài đặt và chạy phần mềm RDBMS được gọi là client
(máy khách). Mỗi khi chúng cần truy cập dữ liệu, chúng kết nối tới máy chủ (server)
RDBMS. Cách thức này chính là mô hình “client-server”. RDBMS là một phần mềm
hay dịch vụ dùng để tạo và quản lý các cơ sở dữ liệu (Database) theo hình thức quản lý
các mối liên hệ giữa chúng.
MySQL được phát triển, phân phối và hỗ trợ bởi Oracle Corporation. Phần
mềm được đặt tên theo tên của con gái người đồng sáng lập Monty Widenius: Mỹ. Ban
đầu MySQL được phát triển bới một công ty công ty Thuỵ Điển MySQL AB vào năm
1994. Tiếp đến năm 2008, MySQL bị mua lại bởi công ty công nghệ Mỹ Sun
Microsystem.

Nguyễn Viết Vũ – K58 10


MySQL có thể được cài đặt trên nhiều nền tảng hệ điều hành khác nhau như
Windows, Linux và Mac OS. Ngoài MySQL ra, còn một số DBMS khác như Oracle,
PostgreSQL, SQLite, … Cách phát âm chính thức là: MY-ES-KYOO-EL. Các ứng
dụng website lớn nhất như Facebook, Twitter, YouTube, Google, và Yahoo! đều dùng
MySQL cho mục đích lưu trữ dữ liệu.
2.7.2. Phương thức hoạt động của MySQL
Phương thức hoạt động
Về nguyên tắc, một máy client sẽ liên lạc với máy server trong một mạng nhất
định. Mỗi client có thể gửi một request từ giao diện người dùng trên màn hình, và
server sẽ trả về kết quả như mong muốn. Áp dụng với MySQL, MySQL cung cấp các
câu lệnh phong phú để kết nối, yêu cầu và lấy dữ liệu phục vụ cho trang web như:
chỉnh sửa cơ bản các hàng trong 1 quan hệ , thêm xóa và sửa đổi các đối tượng trong
cùng cơ sở dữ liệu, điều khiển việc truy cập dữ liệu và các đối tượng của cơ sở dữ liệu.
Sau đó, Client sẽ gửi yêu cầu SQL bằng một lệnh đặc biệt trên MySQL. Cuối cùng,
ứng dụng trên server sẽ phản hồi thông tin và trả về kết quả trên máy client.
2.7.3. Ưu nhược điểm của MySQL
Ưu điểm
- Linh hoạt và dễ dùng. Quá trình cài đặt tương đối đơn giản
- Hiệu năng cao. Dù dữ liệu của bạn lớn như thế nào thì MySQL cũng đáp ứng với tốc
độ cao, mượt mà kể cả big data của các trang thương mại điện tử hoặc những hoạt
động kinh doanh nặng nề liên quan đến công nghệ thông tin.
- Tiêu chuẩn trong ngành. Bất cứ ai đã dấn thân vào ngành công nghệ và dữ liệu thì
đều đã sử dụng MySQL và người dùng cũng có thể triển khai dự án nhanh và thuê các
chuyên gia dữ liệu.
- An toàn. Vấn đề an toàn luôn là vấn đề cực kì quan trọng trong ngành dữ liệu và
MySQL đảm bảo được tiêu chuẩn bảo mật rất cao
Nhược điểm
Bên cạnh những ưu điểm nổi bật thì MySQL vẫn tồn tại những thiếu sót như
- MySQL có thể bị khai thác để chiếm quyền điều khiển.- Dù có thể quản lý dữ liệu
với số lượng lớn nhưng MySQL vẫn không đủ khả năng tích hợp quản lý dữ liệu
khổng lồ và mang tính hệ thống cao như: hệ thống siêu thị trên toàn quốc, ngân hàng,
quản lý thông tin dân số cả nước, …

Nguyễn Viết Vũ – K58 11


Tầm quan trọng của MySQL
- Là cơ sở dữ liệu tốc độ cao, ổn định nhất hiện nay trên thị trường.
- Độ bảo mật thông tin cao
- MySQL mặc dù có những tính năng cao nhưng sử dụng lại đơn giản, ít phức tạp
- Hoàn toàn miễn phí vì đây là một mã nguồn mở. Tuy nhiên,trong trường hợp bạn cần
được hỗ trợ từ MySQL, bạn vẫn phải trả phí.
- Được hỗ trợ từ công đồng vì rất nhiều thành viên
- Hoạt động trên nhiều hệ điều hành

Nguyễn Viết Vũ – K58 12


CHƯƠNG 3. PHÂN TÍCH VÀ THIẾT KẾ
3.1. Đặt vấn đề
Giáo dục là một trong những ngành giữ vai trò quan trọng và chủ chốt trong
việc xây dựng một đất nước thịnh vượng, mà cụ thể là đầu tư từng cá nhân một về tri
thức cũng như kỹ năng sống.
Với mức độ lan tỏa của mình, cuộc cách mạng 4.0 đã tạo ra sự thay đổi đối với
thị trường lao động trong mọi khía cạnh, đặc biệt là đối với trình độ chuyên môn. Điều
này đặt ra yêu cầu cho giáo dục là cần phải đào tạo nguồn nhân lực có đủ chuyên môn
để thích nghi được với môi trường kỹ thuật mới.
Chính yêu cầu đó đã biến môi trường giáo dục vốn chỉ tập trung truyền tải
những kiến thức hàn lâm thì nay đã đổi mới bằng việc cung cấp cho người học cả
những kiến thức về kỹ năng bao gồm kỹ năng thực hành, kỹ năng làm việc nhóm, kỹ
năng tư duy sáng tạo, kỹ năng phản biện. Cách mạng 4.0 trong giáo dục cũng buộc
người học phải
chủ động thay đổi và chủ động hơn trong việc học tập của mình.
Ngày qua ngày, giáo dục không chỉ được biết đến với hình thức trường học, đại
học mà còn là trung tâm và hình thức giáo dục online. Với sự bùng nổ của nhiều
trường học, cơ sở giáo dục như vậy thì để giúp cho các trường học và trung tâm có thể
tiếp cận hiệu quả nguồn học viên – phụ huynh, nổi bật hơn các trường khác, cũng như
là đáp ứng tối đa những nhu cầu về thông tin cho người dùng thì website khóa học
chính là giải pháp hàng đầu.
3.2. Yêu cầu hệ thống
3.2.1. Yêu cầu chức năng
Website khóa học bao gồm:
Trang Web chia ra hai đối tượng sử dụng, gồm người học viên thực hiện học các khóa
học thi kiểm nghiệm, và quản trị viên thực hiện quản lý Website.
Ở giao diện người quản trị:
- Chức năng 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 online.
- Chức năng quản lý các đào tạo.
- Chức năng quản lý thông tin học viên.
- Chức năng quản lý nhân viên.
- Chức năng quản lý bài kiểm tra.
- Chức năng thống kê
Ở giao diện học viên:
- Xem các khóa học tại trung tâm.

Nguyễn Viết Vũ – K58 13


- Tiến hành đăng ký các khóa học tại trung tâm.
- Xem các khóa học online.
- Tiến hành thanh toán để sở hữu khóa học online
- Bình luận các khóa học đã sở hữu
- Tham khảo và làm các bài kiểm tra.
- Đăng ký, đăng nhập và quên mật khẩu.
3.2.2. Mô tả hệ thống
Website giới thiệu khóa 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 khoá 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 khoá 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ừ khoá của tên khoá học nếu cần.
Ngoài ra, trung 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 toá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ý khoá 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.

Nguyễn Viết Vũ – K58 14


3.3. Mô hình nghiệp vụ của hệ thống:
Sơ đồ phân rã chức năng

Quản lý website khóa học


Quản lý khóa học Quản lý bài học Quản lý bài kiểm Quản lý danh sách Quản lý khóa học
online online tra câu hỏi tại trung tâm
Quản lý đào tạo Quản lý user Quản lý học viên

Danh sách học


viên tại trung tâm
Thêm khóa học Thêm bài học Thêm bài kiểm tra Thêm câu hỏi Thêm khóa học Thêm đào tạo Thêm user

Danh sách học


viên online
Sửa khóa học Sửa bài học Sửa bài kiểm tra Sửa câu hỏi Sửa khóa học Sửa đào tạo Xóa user

Xóa khóa học Xóa bài học Xóa bài kiểm tra Xóa câu hỏi Xóa khóa học Xóa đào tạo Phân quyền user

Xem khóa học Xem bài học Xem bài kiểm tra Xem câu hỏi Xem khóa học Xem đào tạo

Hình 3. 1: Sơ đồ phân rã chức năng trang quản lý Website khóa học

Website khóa học


Khóa học tại
Đăng nhập Khóa học online Bài học online Bài kiểm tra trung tâm

Đăng nhập bằng tài khoản


Xem khóa học
online Xem bài học Xem bài kiểm tra Xem khóa học

Đăng nhập bằng Thanh toán khóa Bình luận bài học Tìm kiếm khóa học
Facebook học online Làm bài kiểm tra

Đăng ký khóa học


Quên mật khẩu Kiểm tra kết quả

Hình 3. 2: Sơ đồ phân rã chức năng trang chủ Website khóa học

Với việc phân tích kiến trúc hệ thống và các quy trình của hoạt động của
Website học lập trình trực tuyến, chúng ta có được các sơ đồ phân rã chức năng như
hình 3.1 và
3.2. Đây là các chức năng chính mà hệ thống cần có

Nguyễn Viết Vũ – K58 15


3.3.1. Mô hình thực thể kết hợp ERD:

Hình 3. 3: Sơ đồ ERD web khóa học SHTP

Nguyễn Viết Vũ – K58 16


3.3.2. Đặc tả các quy trình nghiệp vụ:
1) Xem bài học
- Học viên chọn khóa học mong muốn.
- Hệ thống hiển thị chi tiết khóa học.
- Học viên chọn bài học.
- Hệ thống chuẩn bị nội dung bài học.

Hình 3. 4: Quy trình nghiệp vụ chọn khóa học.

Nguyễn Viết Vũ – K58 17


2) Thêm khóa học mới:
- Admin chọn thêm khóa học mới.
- Hệ thống hiển thị form thêm khóa học.
- Admin nhập thông tin khóa học mới sau đó nhấn nút đăng khóa học.
- Hệ thống kiểm tra tính hợp lệ của các thông tin về khóa học.
- Hệ thống hiển thị kết quả thêm khóa học.

Hình 3. 5: Quy trình nghiệp vụ thêm khóa học mới.

Nguyễn Viết Vũ – K58 18


3) Thêm bài học mới:
- Admin chọn khóa học mong muốn.
- Hệ thống hiển thị danh mục các bài học của khóa học.
- Admin chọn thêm bài học mới.
- Hệ thống hiển thị form thêm bài học mới.
- Admin nhập thông tin cho bài học mới.
- Hệ thống hiển thị kết quả thêm bài học.

Hình 3. 6: Quy trình nghiệp vụ thêm bài học mới

Nguyễn Viết Vũ – K58 19


4) Làm bài test:
- Học viên chọn bài test.
- Học viên làm bài test.
- Học viên nộp bài.
- Hệ thống chấm điểm học viên.
- Hệ thống thông báo kết quả test.

Hình 3. 7: Quy trình nghiệp vụ làm bài test.

Nguyễn Viết Vũ – K58 20


5) Thêm bài test mới:
- Admin chọn thêm bài test.
- Hệ thống hiển thị form thêm bài test.
- Admin nhập nội dung bài test và nhấn nút thêm bài test.
- Hệ thống phản hồi kết quả thêm bài test.

Hình 3. 8: Quy trình nghiệp vụ thêm bài test mới.

Nguyễn Viết Vũ – K58 21


3.3.3. Mô hình hóa các lớp nghiệp vụ
Xác định các lớp nghiệp vụ
Hệ thống bao gồm các lớp nghiệp vụ sau:
1) Lớp User
- Lớp User biểu diễn các đối tượng người dùng trong hệ thống. Người dùng trong hệ
thống có thể là học viên, giáo viên hoặc admin.
- Các thuộc tính của lớp User là các thuộc tính của một người dùng mà hệ thống cần
quan tâm. Các thuộc tính User được trình bày ở bảng dưới đây:
Bảng 3. 1: Mô hình hóa lớp User.
Tên thuộc tính Mô tả
User name Tên đăng nhập của người dùng
Password Mật khẩu của người dùng sẽ được sử
dụng để hệ thống xác nhận khi người
dùng đăng nhập vào hệ thống
Hoten Họ và tên của người dùng
Diachi Địa chỉ của người dùng
Email Địa chỉ email của người dùng, khi có các
thông báo, tin tức mới hệ thống sẽ gửi
đến người dùng thông qua địa chỉ email
này
2) Lớp khóa học
- Lớp khóa học mô tả đối tượng các khóa học của hệ thống.
- Các thuộc tính của lớp khóa học được thể hiện ở bảng dưới đây:
Bảng 3. 2: Mô hình hóa lớp khóa học.
Tên thuộc tính Mô tả
Makh Mã khóa học
Tenkh Tên khóa học
Mota Mô tả, giới thiệu về khóa học

Nguyễn Viết Vũ – K58 22


3) Lớp bài học
- Lớp bài học mô tả các đối tượng bài học.
Bảng 3. 3: Mô hình hóa lớp bài học.
Tên thuộc tính Mô tả
Mabh Mã bài học
Tenbh Tên bài học
Lythuyet Phần lý thuyết của bài học
Baitap Phần bài tập
4) Lớp bài test
- Lớp bài test thể hiện các bài test
- Các thuộc tính của bài test được thể hiện ở bảng dưới đây:
Bảng 3. 4: Mô hình hóa lớp bài test.
Tên thuộc tính Mô tả
MaTest Mã bài test
TenBaiTest Tên bài tên
Makh Mã khóa học chứa bài test
Noidung Nội dung bài test
DapAn Đáp án cho các câu hỏi của bài test
3.4. Lưu trữ dữ liệu trong MySql
3.4.1. Các thuộc tính dữ liệu bảng khoahoc.
Bảng 3. 5: Các thuộc tính dữ liệu bảng khóa học.
STT Tên trường Kiểu dữ liệu Chức năng
1 makh INT PRIMARY KEY
2 tenkh VARCHAR(255)
3 anhdaidien VARCHAR(255)
4 muctieukh TEXT
5 noidunggiangday TEXT
6 soluonghv INT
7 lichkhaigiang DATE
8 thoiluonghoc VARCHAR(255)
9 hocphi DOUBLE
10 madaotao INT FOREIGN KEY

Nguyễn Viết Vũ – K58 23


3.4.2. Các thuộc tính dữ liệu bảng đào tạo.
Bảng 3. 6: Các thuộc tính dữ liệu bảng đào tạo.
STT Tên trường Kiểu dữ liệu Chức năng

1 madaotao INT PRIMARY KEY

2 tendaotao VARCHAR(255)

3.4.3. Các thuộc tính dữ liệu bảng bài test.


Bảng 3. 7: Các thuộc tính dữ liệu bảng bài test.
STT Tên trường Kiểu dữ liệu Chức năng

1 id_test INT PRIMARY KEY

2 tenbaitest VARCHAR(255)

3 slcauhoi INT

4 diemso INT

5 madaotao INT FOREIGN KEY

3.4.4. Các thuộc tính dữ liệu bảng danh sách câu hỏi.
Bảng 3. 8: Các thuộc tính dữ liệu bảng danh sách câu hỏi.
STT Tên trường Kiểu dữ liệu Chức năng

1 id_cauhoi INT PRIMARY KEY

2 cauhoi VARCHAR(255)

3 luachona VARCHAR(255)

4 luachonb VARCHAR(255)

5 luachonc VARCHAR(255)

6 luachond VARCHAR(255)

7 dapan VARCHAR(255)

8 id_baitest INT FOREIGN KEY

Nguyễn Viết Vũ – K58 24


3.4.5. Các thuộc tính dữ liệu bảng khóa học online.
Bảng 3. 9: Các thuộc tính dữ liệu bảng khóa học online.
STT Tên trường Kiểu dữ liệu Chức năng

1 makh_onl INT PRIMARY KEY

2 tenkh_onl VARCHAR(255)

3 Mota TEXT

4 anhdaidien VARCHAR(255)

5 hocphi DOUBLE

6 madaodao INT FOREIGN KEY

3.4.6. Các thuộc tính dữ liệu bảng bài học online.


Bảng 3. 10: Các thuộc tính dữ liệu bảng bài học online.
STT Tên trường Kiểu dữ liệu Chức năng

1 mabh INT PRIMARY KEY

2 tenbh VARCHAR(255)

3 video VARCHAR(255)

4 lythuyet TEXT

5 makh_onl VARCHAR(255) FOREIGN KEY

Nguyễn Viết Vũ – K58 25


3.4.7. Các thuộc tính dữ liệu bảng học viên.
Bảng 3. 11: Các thuộc tính dữ liệu bảng học viên.
STT Tên trường Kiểu dữ liệu Chức năng
1 mahv INT PRIMARY KEY
2 tenhv VARCHAR(255)
3 diachi VARCHAR(255)
4 email VARCHAR(255)
5 sdt VARCHAR(11)
6 matk DATE FOREIGN KEY
3.4.8. Các thuộc tính dữ liệu bảng bình luận.
Bảng 3. 12: Các thuộc tính dữ liệu bảng bình luận.
STT Tên trường Kiểu dữ liệu Chức năng
1 com_id INT PRIMARY KEY
2 com_name VARCHAR(255)
3 com_content VARCHAR(255)
4 com_lesson INT
5 created_at TIMESTAMP
6 updated_at TIMESTAMP
3.4.2. Các thuộc tính dữ liệu bảng thanh toán.
Bảng 3. 13: Các thuộc tính dữ liệu bảng thanh toán.
STT Tên trường Kiểu dữ liệu Chức năng
1 id INT PRIMARY KEY
2 user_id INT PRIMARY KEY
3 makh_onl INT PRIMARY KEY
4 p_hocvien VARCHAR(255)
5 p_khonl VARCHAR(255)
6 p_money DOUBLE
7 p_note VARCHAR(255)
8 p_code_bank VARCHAR(255)

Nguyễn Viết Vũ – K58 26


3.4.10. Các thuộc tính dữ liệu bảng đăng ký.
Bảng 3. 14: Các thuộc tính dữ liệu bảng đăng ký.
STT Tên trường Kiểu dữ liệu Chức năng
1 mahv INT PRIMARY KEY
2 makh INT PRIMARY KEY
3 ngaydk DATE
3.4.11. Các thuộc tính dữ liệu bảng tài khoản học viên.
Bảng 3. 15: Các thuộc tính dữ liệu bảng tài khoản học viên.
STT Tên trường Kiểu dữ liệu Chức năng
1 matk INT PRIMARY KEY
2 tentk VARCHAR(255)
3 matkhau VARCHAR(255)
4 token VARCHAR(255)
3.4.12. Các thuộc tính dữ liệu bảng tài khoản quản lý.
Bảng 3. 16: Các thuộc tính dữ liệu bảng tài khoản quản lý
STT Tên trường Kiểu dữ liệu Chức năng

1 matk INT PRIMARY KEY

2 tentk VARCHAR(255)

3 matkhau VARCHAR(255)

3.4.13. Các thuộc tính dữ liệu bảng chi tiết quyền.


Bảng 3. 17: Các thuộc tính dữ liệu bảng chi tiết quyền
STT Tên trường Kiểu dữ liệu Chức năng

1 matk INT PRIMARY KEY

2 idquyen INT PRIMARY KEY

Nguyễn Viết Vũ – K58 27


3.4.14. Các thuộc tính dữ liệu bảng quyền.
Bảng 3. 18: Các thuộc tính dữ liệu bảng quyền
STT Tên trường Kiểu dữ liệu Chức năng

1 id INT PRIMARY KEY

2 ten_quyen VARCHAR(255)

3.5. Database Diagram.

Hình 3. 9: Sơ đồ database diagram.

Nguyễn Viết Vũ – K58 28


CHƯƠNG 4. TRIỂN KHAI CHƯƠNG TRÌNH
4.1. Các chức năng chính của hệ thống
4.1.1. Giao diện đăng nhập
Giao diện đăng nhập. Mỗi nhân viên sẽ có các tài khoản để đăng nhập vào hệ
thống. Khi nhập đầy đủ thông tin về tên đăng nhập, mật khẩu người dùng chọn vào
biểu tượng đăng nhập để đăng nhập.

Hình 4. 1: Giao diện đăng nhập admin.


4.1.2. Giao diện Admin
Sau khi đăng nhập thành công trả về giao diện Admin Dashboard

Hình 4. 2: Giao diện quản lý của admin.

Nguyễn Viết Vũ – K58 29


4.1.3. Giao diện Thêm khóa học trung tâm
Khi nhấn button Thêm khóa học trả về giao diện thêm khóa học. Cho phép
admin thêm thông tin cũng như hình ảnh cho khóa học và cập nhật trong giao diện các
khóa học.

Hình 4. 3: Giao diện thêm khóa học.


4.1.4. Giao diện danh sách khóa học trung tâm
Khi nhấn button Các khóa học giao diện sẽ trả về thông tin các khóa học.

Hình 4. 4: Giao diện các khóa học.

Nguyễn Viết Vũ – K58 30


4.1.5. Giao diện sửa khóa học trung tâm
Khi nhấn button Các khóa học giao diện sẽ trả về giao diện sửa khóa học, cho
phép chỉnh sửa thông tin khóa học và hình ảnh.

Hình 4. 5: Giao diện sửa khóa học trung tâm.


4.1.6. Giao diện thêm đào tạo
Khi nhấn button thêm đào tạo sẽ trả về giao diện thêm chương trình đào tạo. Cho
phép admin thêm các chương trình đào tạo của trung tâm.

Hình 4. 6: Giao diện thêm chương trình đào tạo.

Nguyễn Viết Vũ – K58 31


4.1.7. Giao diện danh sách đào tạo
Khi nhấn button danh sách đào tạo gia diện sẽ trả về danh sách các chương trình
đào tạo.

Hình 4. 7: Giao diện danh sách đào tạo.


4.1.8. Giao diện sửa đào tạo
Khi nhấn button sửa đào tạo diện sẽ trả về giao diện sửa chương trình đào tạo.

Hình 4. 8: Giao diện sửa đào tạo.

Nguyễn Viết Vũ – K58 32


4.1.9. Giao diện thêm khóa học online
Khi nhấn button thêm khóa học online sẽ trả về giao diện thêm khóa học online,
cho phép quản trị thêm thông tin và hình ảnh khóa học online.

Hình 4. 9: Giao diện thêm khóa học online.


4.1.10. Giao diện danh sách khóa học online
Khi nhấn button các khóa học online giao diện sẽ trả về danh sách các khóa học
online.

Hình 4. 10: Giao diện danh sách khóa học online.

Nguyễn Viết Vũ – K58 33


4.1.11. Giao diện sửa khóa học online
Khi nhấn button sửa khóa học online trả về giao diện sửa khóa học online, cho
phép chỉnh sửa thông tin khóa học và hình ảnh khóa học online.

Hình 4. 11: Giao diện sửa khóa học online.


4.1.12. Giao diện các thêm bài học online
Khi nhấn button thêm bài học online sẽ trả về giao diện thêm bài học online, cho
phép quản trị thêm thông tin và video bài học online.

Hình 4. 12: Giao diện các thêm bài học online.

Nguyễn Viết Vũ – K58 34


4.1.13. Giao diện danh sách bài học online
Khi nhấn button danh sách bài học online giao diện sẽ trả về danh sách bài học
online.

Hình 4. 13: Giao diện các chương trình đào tạo.


4.1.14. Giao diện sửa bài học online
Khi nhấn button sửa bài học online trả về giao diện sửa bài học online, cho phép
chỉnh sửa thông tin khóa học và video bài học online.

Hình 4. 14: Giao diện sửa bài học online.

Nguyễn Viết Vũ – K58 35


4.1.15. Giao diện thêm bài kiểm tra
Khi nhấn button thêm bài kiểm tra sẽ trả về giao diện thêm bài kiểm tra, cho
phép quản trị thêm thông tin bài kiểm tra.

Hình 4. 15: Giao diện thêm bài kiểm tra.


4.1.16. Giao diện danh sách bài kiểm tra
Khi nhấn button danh sách bài kiểm tra giao diện sẽ trả về danh sách bài kiểm tra.

Hình 4. 16: Giao diện danh sách bài kiểm tra.

Nguyễn Viết Vũ – K58 36


4.1.17. Giao diện danh sách câu hỏi
Khi nhấn button danh sách câu hỏi giao diện sẽ trả về danh sách câu hỏi.

Hình 4. 17: Giao diện danh sách câu hỏi.


4.1.18. Giao diện thêm câu hỏi thành công
Khi nhấn button chọn tệp quản trị sẽ chọn file Excel danh sách câu hỏi, sau đó
nhấn button Nhập file Excel để nhập câu hỏi. Nhấn button Xuất file Excel để xuất file.

Hình 4. 18: Giao diện thêm câu hỏi thành công.

Nguyễn Viết Vũ – K58 37


4.1.19. Giao diện thêm user
Khi nhấn button thêm user giao diện sẽ trả về thêm user cho phép admin thêm
các user mới.

Hình 4. 19: Giao diện thêm user.


4.1.20. Giao diện danh sách user
Khi nhấn button danh sách user giao diện sẽ trả về danh sách các user.

Hình 4. 20: Giao diện danh sách user.

Nguyễn Viết Vũ – K58 38


4.1.21. Giao diện phân quyền user
Khi nhấn button phần quyền user sẽ trả về giao diện phân quyền cho các user.

Hình 4. 21: Giao diện phân quyền user.


4.1.22. Giao diện thông tin các học viên tại trung tâm
Khi nhấn button Thông tin các học viên giao diện sẽ trả về thông tin các học
viên của trung tâm.

Hình 4. 22: Giao diện thông tin học viên tại trung tâm.

Nguyễn Viết Vũ – K58 39


4.1.23. Giao diện thông tin các học viên online
Khi nhấn button Thông tin các học viên giao diện sẽ trả về thông tin các học
viên mua khóa học.

Hình 4. 23: Giao diện thông tin học viên online.


4.1.24. Giao diện đổi mật khẩu admin
Khi nhấn button đổi mật khẩu, giao diện sẽ trả về form đổi mật khẩu cho admin

Hình 4. 24: Giao diện đổi mật khẩu admin.

Nguyễn Viết Vũ – K58 40


4.1.25. Chức năng đăng xuất
Khi nhấn button đăng xuất hệ thống sẽ hỏi bạn muốn đăng xuất hay không?

Hình 4. 25: Chức năng đăng xuất.

Nguyễn Viết Vũ – K58 41


4.1.26. Giao diện trang chủ web khóa học

Hình 4. 26: Trang chủ Website khóa học SHTP.

Nguyễn Viết Vũ – K58 42


4.1.27. Giao diện đăng nhập của học viên
Khi nhấn nút Sign in ở trang chủ sẽ trả về giao diện đăng nhập user.

Hình 4. 27: Giao diện đăng nhập user


4.1.28. Giao diện đăng nhập thành công của học viên
Khi nhấn nút Sign in ở trang chủ sẽ trả về giao diện đăng nhập user.

Hình 4. 28: Giao diện đăng nhập user thành công.

Nguyễn Viết Vũ – K58 43


4.1.29. Giao diện đăng nhập bằng facebook

Khi nhấn nút biểu tượng facebook sẽ trả về giao diện đăng nhập facebook.

Hình 4. 29 Giao diện khi nhấn button facebook.

4.1.30. Giao diện đăng nhập facebook thành công

Hình 4. 30 Giao diện đăng nhập facebook thành công.

Nguyễn Viết Vũ – K58 44


4.1.31. Giao diện đăng ký tài khoản user
Khi nhấn nút đăng ký sẽ trả về giao diện đăng ký cho user. User nhập đầy đủ
thông tin sau đó nhấn đăng ký, tài khoản sẽ được lưu lại.

Hình 4. 31: Giao diện đăng ký user.


4.1.32. Giao diện các khóa học tại trung tâm
Khi nhấn nút đào tạo sẽ trả về giao diện danh sách các khóa học tại trung tâm.
Hiển thị thông tin cơ bản của khóa học và mục tìm kiếm khóa học.

Hình 4. 32: Giao diện các khóa học tại trung tâm.

Nguyễn Viết Vũ – K58 45


4.1.33. Giao diện tìm kiếm thành công
Khi nhập từ khóa và nhấn tìm kiếm, giao diện sẽ trả về kết quả tìm kiếm thành
công.

Hình 4. 33: Giao diện tìm kiếm thành công.


4.1.34. Giao diện chi tiết khóa học tại trung tâm
Khi nhấn nút xem chi tiết tại giao diện khóa học sẽ trả về giao diện chi tiết khóa
học. Hiển thị thông tin chi tiết khóa học và các khóa học liên quan.

Hình 4. 34: Giao diện chi tiết khóa học tại trung tâm.

Nguyễn Viết Vũ – K58 46


4.1.35. Giao diện gmail khi đăng ký thành công
Khi học viên đăng ký khóa học thành công sẽ tiến hành gửi mail cảm ơn cho
học viên.

Hình 4. 35: Gửi mail cảm ơn.


4.1.36. Giao diện danh sách khóa học trực tuyến
Khi nhấn nút khóa học trực tuyến sẽ trả về danh sách các khóa học trực tuyến.
Hiển thị thông tin và giá của khóa học online.

Hình 4. 36: Danh sách các khóa học trực tuyến.

Nguyễn Viết Vũ – K58 47


4.1.37. Giao diện chi tiết khóa học online
Khi nhấn vào khóa học online sẽ trả về giao diện chi tiết khóa học online. Hiển
thị thông tin chi tiết của khóa học online.

Hình 4. 37: Giao diện hiển thị khóa học chưa thanh toán.

Hình 4. 38: Giao diện hiển thị khóa học miễn phí.

Nguyễn Viết Vũ – K58 48


Hình 4. 39: Giao diện hiển thị khóa học đã thanh toán.
4.1.38. Giao diện thanh toán khóa học online bằng VNPAY
Khi khóa học online có phí sẽ yêu cầu học viên thanh toán để sở hữu khóa học

Hình 4. 40: Giao diện thanh toán VNPAY.

Nguyễn Viết Vũ – K58 49


Hình 4. 41: Giao diện nhập thông tin VNPAY.

Hình 4. 42: Giao diện nhập mã xác thực OTP.

Nguyễn Viết Vũ – K58 50


Hình 4. 43: Hình ảnh thông tin đơn hàng.
4.1.39. Giao diện danh sách giảng
Khi nhấn vào button học ngay sẽ hiển thị giao diện các bài giảng của khóa học
online.

Hình 4. 44: Giao diện danh sách bài giảng.

Nguyễn Viết Vũ – K58 51


4.1.40. Giao diện chi tiết bài học online.
Khi nhấn vào bài học sẽ hiển thị chi tiết bài học online. Hiển thị video bài giảng
và lý thuyết của bài học. Ngoài ra còn có thêm chức năng bình luận cho bài học.

Hình 4. 45: Giao diện bài học online.

Nguyễn Viết Vũ – K58 52


4.1.41. Giao diện bài kiểm tra.
Khi nhấn vào bài kiểm tra tham khảo sẽ hiển thị ra danh sách câu hỏi để học
viên trả lời.

Hình 4. 46: Giao diện bài kiểm tra tham khảo.


Giao diện kết quả bài kiểm tra tham khảo.

Hình 4. 47: Giao diện kết quả bài kiểm tra.

Nguyễn Viết Vũ – K58 53


4.1.42. Giao diện quên mật khẩu

Khi nhấn nút quên mật khẩu tại form đăng nhập sẽ trả về giao diện quên mật
khẩu cho user. User nhập đầy đủ thông tin sau đó nhấn Send để nhận mail đổi mật
khẩu.

Hình 4. 48: Giao diện quên mật khẩu.

Check mail để lấy lại mật khẩu.

Hình 4. 49: Hình ảnh email mật khẩu mới.

Nguyễn Viết Vũ – K58 54


4.1.43. Giao diện cập nhật thông tin học viên

Cho phép học viên chỉnh sửa thông tin cá nhân của bản thân.

Hình 4. 50: Cập nhật thông tin học viên.

4.1.44. Giao diện cập nhật thông tin học viên


Cho phép học viên xem thông tin các khóa học đã đăng ký.

Hình 4. 51: Thông tin các khóa học đã đăng ký.

Nguyễn Viết Vũ – K58 55


4.1.45. Giao diện giới thiệu trung tâm.

Hình 4. 52: Trang giới thiệu trung tâm.

Nguyễn Viết Vũ – K58 56


CHƯƠNG 5. KẾT LUẬN-KIẾN NGHỊ
5.1. Kết quả
Trong quá trình làm đồ án, em đã học được rất nhiều kiến thức mới cũng như
củng cố được những kiến thức cũ. Kết quả em đạt được :
- Biết cách thiết kế cơ sở dữ liệu và sử dụng công cụ MySQL để tạo cơ sở dữ
liệu, tạo các ràng buộc dữ liệu và khai thác dữ liệu phù hợp với chương trình.
- Biết cách sử dụng Visual Studio Code xây dựng chức năng của website, tạo
được giao diện phù hợp với web, dễ dàng sử dụng bằng HTML, CSS, JS.
- Biết cách sử dụng PHP laravel xử lý BackEnd của một website.
- Thành công đưa dự án lên web host:
https://khoahocshtp.webstudents.xyz/

Hình 5. 1: Kết quả đưa lên Web host.


5.2. Hạn chế
Ngoài những kết quả đã đạt được, website còn vấp phải nhiều hạn chế cần phải
giải quyết:
- Giao diện hệ thống được thiết kế theo cảm tính của cá nhân, chưa được đẹp
hoàn hảo .
- Cơ sở dữ liệu chưa hoàn hảo và logic, dễ mắc một số lỗi đối với các trường
hợp phức tạp ngoài thực tế.
- Còn thiếu một số tính năng nâng cao để ứng dụng sử dụng tiện lợi hơn.

Nguyễn Viết Vũ – K58 57


5.3. Hướng phát triển
Trong tương lai, chương trình sẽ được khắc phục những hạn chế. Song song với
việc đó, chương trình cũng sẽ được bổ sung thêm nhiều tính năng mới nâng cao hơn
nữa chất lượng cũng như nhiều nhu cầu khác của người học, nhằm giúp hệ thống quản
lý chính xác nhất. Ngoài ra, nếu có thể, chương trình sẽ được tích hợp vào các chương
trình, hệ thống khác và có thể sử dụng rộng rãi, phù hợp với các doanh nghiệp có quy
mô lớn hơn phục vụ cho thương mại.

Nguyễn Viết Vũ – K58 58


PHỤ LỤC
Phụ lục 1: Hướng dẫn sử
dụng
Người dùng truy cập đường link https://khoahocshtp.webstudents.xyz/ để truy
cập vào Website Khóa học. Có thể đăng ký người dùng hoặc có thể truy cập bằng tài
khoản với tên đăng nhập Viết Vũ, mật khẩu 123.
Người dùng truy cập đường link https://khoahocshtp.webstudents.xyz/loginadmin để
truy cập vào quản lý Website Khóa học. Người dùng có thể truy cập bằng tài khoản
admin chính với tên đăng nhập vietvu, mật khẩu 123 sau đó có thể.
Người dùng truy cập đường link
https://auth-db482.hostinger.com/index.php?db=u111695926_khoahocshtp đăng nhập
tài khoản u111695926_khoahocshtp và mật khẩu Khoahocshtp99 để truy cập database
host.
Phụ lục 2: Thông tin trang Web

- Đường linh source code: https://github.com/vietvu98/DoAnTotNghiep.git


- Đường link sử dụng trang Website:
https://khoahocshtp.webstudents.xyz/
https://khoahocshtp.webstudents.xyz/loginadmin

Nguyễn Viết Vũ – K58 59


TÀI LIỆU THAM KHẢO

[1]. Trương Tuấn Anh, Hệ quản trị cơ sở dữ liệu, ĐH Bách Khoa Thành phố HCM.
[2]. Jon Duckett (2011), HTML and CSS: Design and Build Website.
[3]. Jennifer Robbins (2012), Learning Web Design.
[4]. Jon Duckett (2014), JAVASCRIPT & JQUERY: Interactive Front-End Web
Development.
[5]. Pgs.Ts Phạm Ngọc Nam (2007), Phân Tích Thiết Kế Hướng Đối Tượng, Đh Bách
Khoa Hn.
[6]. Kevin Yank (2001), PHP & MySQL: Novice to Ninja.
[7]. Lynn Beighley & Michael Morison (2002), Head First PHP & MySQL.
[8]. LeanPub (2017), Laravelista A Collection of Laravel Tutorials.
[9]. LeanPub (2017), Laravel 5.4 For Beginners.
[10]. https://edumall.vn, “Edumall - Học trực tuyến cho người đi làm” – truy cập ngày
01/05/2021.
[11]. http://www.shtp-training.edu.vn, “SHTP TRAINING CENTER” – truy cập ngày
13/05/2021.
[12]. https://laravel.com, “Laravel - The PHP Framework For Web Artisans” – truy
cập ngày 06/01/2021.
[13]. https://freetuts.net/hoc-php, “Học PHP - Lập trình PHP - Tự học PHP - Freetuts”
– truy cập ngày 06/01/2021.
[14]. https://www.w3schools.com,“ W3Schools Online Web Tutorials” – truy cập
ngày 12/01/2021.
[15]. https://www.freecodecamp.org, “Learn to Code — For Free — Coding Courses
for Busy People” – truy cập ngày 10/05/2021.
[16]. https://codepen.io, “CodePen: Online Code Editor and Front End Web Developer
Community” – truy cập ngày 14/06/2021.
[17]. https://colorlib.com, “WordPress Themes Website Templates - Colorlib” – truy
cập ngày 10/05/2021.
[18]. https://codelearn.io, “Learn to code easily with CodeLearn” – truy cập ngày
9/05/2021.

Nguyễn Viết Vũ – K58 60

You might also like