ĐẠI HỌC HUẾ TRƯỜNG ĐẠI HỌC KINH TẾ KHOA HỆ THỐNG THÔNG TIN KINH TẾ --------KHÓA LUẬN TỐT NGHIỆP XÂY DỰNG WEBSITE THƯƠNG MẠI ĐIỆN TỬ CHO TRUNG TÂM NGOẠI NGỮ KP ENGLISH DỰA TRÊN NỀN TẢN
Trang 1ĐẠI HỌC HUẾ TRƯỜNG ĐẠI HỌC KINH TẾ KHOA HỆ THỐNG THÔNG TIN KINH TẾ
KHÓA LUẬN TỐT NGHIỆP
XÂY DỰNG WEBSITE THƯƠNG MẠI ĐIỆN TỬ
CHO TRUNG TÂM NGOẠI NGỮ KP ENGLISH
DỰA TRÊN NỀN TẢNG LARAVEL
Sinh viên thực hiện: TRỊNH HOÀI NGUYÊN
KHÓA 2019-2023
Trường Đại học Kinh tế Huế
Trang 2ĐẠI HỌC HUẾ TRƯỜNG ĐẠI HỌC KINH TẾ KHOA HỆ THỐNG THÔNG TIN KINH TẾ
KHÓA LUẬN TỐT NGHIỆP
XÂY DỰNG WEBSITE THƯƠNG MẠI ĐIỆN TỬ
CHO TRUNG TÂM NGOẠI NGỮ KP ENGLISH
DỰA TRÊN NỀN TẢNG LARAVEL
Giảng viên hướng dẫn : TS Dương Thị Hải Phương Sinh viên thực hiện : Trịnh Hoài Nguyên
Mã sinh viên : 19K4081015 Lớp : K53 Tin học kinh tếTrường Đại học Kinh tế Huế
Trang 3LỜI CẢM ƠN
Sau gần bốn năm học tập và rèn luyện tại trường Đại học Kinh tế Đại học Huế
thân yêu, em đã nhận được sự chỉ bảo tận tình của thầy giáo, cô giáo, những người đã
tâm huyết truyền đạt lại cho em những kiến thức-kinh nghiệm quý báu trong học tập
và ngoài xã hội, từ đó giúp em có thể tiến sâu hơn trong lĩnh vực mà em theo học.
Để hoàn thành nhiệm vụ này, ngoài sự nỗ lực học hỏi của bản thân còn có sự
hướng dẫn tận tình của thầy cô và anh chị ở công ty Em xin gửi lời cảm ơn đến Ban
lãnh đạo Khoa Hệ thống Thông tin Kinh tế đã tạo điều kiện cho em được thực tập tại
công ty TNHH Phát Triển Phần Mềm Hoa Sen.
Em xin gửi lời cảm ơn sâu sắc đến với thầy cô trong ngành Tin học kinh tế
trường Đại học Kinh tế Huế đã chỉ bảo em rất nhiều điều, đặc biệt là cô Dương Thị
Hải Phương đã hướng dẫn giúp đỡ em trong quá trình thực tập cuối khoá, cảm ơn cô
đã không ngần ngại chỉ bảo và định hướng cho em để bản thân có thể hoàn thành tốt
bài báo cáo này.
Tiếp theo, em xin chân thành cảm ơn đến ban lãnh đạo công ty Phát Triển Phần
Mềm Hoa Sen, toàn thể anh chị trong công ty và đặc biệt là anh Lê Chí Thoang đã
giúp đỡ em rất nhiều trong quá trình thực tập tại công ty Anh đã đưa ra những lời
khuyên và hỗ trợ về chuyên môn trong quá trình thực tập và làm việc ở công ty.
Cùng với đó em xin cảm ơn đến gia đình và người thân đã luôn ở bên giúp đỡ,
ủng hộ và đồng hành cùng em trong suốt quãng đường đại học Em xin gửi lời cảm ơn
đến các bạn lớp K53 Tin học kinh tế, cảm ơn các bạn vì đã đi cùng nhau trong những
năm tháng ngồi trên ghế đại học, cảm ơn vì đã cùng nhau giúp đỡ hỗ trợ nhau trong
quá trình học tập tại trường.
Mặc dù đã cố gắng và nỗ lực để hoàn thiện tốt đề tài, tuy nhiên vì kiến thức
chuyên môn còn hạn chế và bản thân còn nhiều thiếu kinh nghiệm thực tiễn nên bài
báo cáo vẫn còn nhiều thiếu sót Rất mong được sự đóng góp và lời khuyên bảo từ
phía quý Thầy Cô và các bạn để bài báo cáo này được hoàn thiện hơn.
Em xin chân thành cảm ơn!
Huế, tháng 12 năm 2022
Sinh viên
Trường Đại học Kinh tế Huế
Trang 4LỜI CẢM ƠN I
MỤC LỤC II
DANH MỤC TỪ VIẾT TẮT VI
DANH MỤC SƠ ĐỒ VII
DANH MỤC HÌNH VIII
DANH MỤC BẢNG VIII
MỞ ĐẦU 1
1 Lý do chọn đề tài 1
2 Mục tiêu nghiên cứu 3
3 Đối tượng và phạm vi nghiên cứu 3
4 Phương pháp nghiên cứu 4
5 Một số nghiên cứu liên quan 4
6 Cấu trúc khóa luận 6
NỘI DUNG NGHIÊN CỨU 7
CHƯƠNG 1: CƠ SỞ LÝ LUẬN VỀ XÂY DỰNG WEBSITE THƯƠNG MẠI ĐIỆN TỬ 7
1.1 Tổng quan về thương mại điện tử 7
1.1.1 Khái niệm thương mại điện tử 7
1.1.2 Tác động của thương mại điện tử đến thị trường 7
1.1.2.1 Tác động tích cực 7
1.1.2.2 Tác động tiêu cực 8
1.1.3 Tình hình phát triển và dự báo của ngành thương mại điện tử ở Việt Nam 8
1.2 Tổng quan về website thương mại điện tử 9
1.2.1 Giới thiệu chung về website 9
Trường Đại học Kinh tế Huế
Trang 51.2.4 Mô hình thương mại điện tử phổ biến tại Việt Nam 12
1.2.5 Tổng quan về quy trình xây dựng website thương mại điện tử 13
1.3 Tổng quan về các công cụ xây dựng website 14
1.3.1 Tổng quan về các ngôn ngữ lập trình được sử dụng 14
1.3.1.1 Giới thiệu HTML 14
1.3.1.2 Giới thiệu CSS 15
1.3.1.3 Giới thiệu JavaScript 15
1.3.1.4 Giới thiệu PHP 16
1.3.2 Các công cụ dùng để xây dựng website 17
1.3.2.1 Môi trường phát triển tích hợp Visual Studio Code 17
1.3.2.2 Phần mềm Laragon 19
1.3.3 Nền tảng lập trình Laravel v9 21
1.3.3.1 Tổng quan về nền tảng lập trình Laravel 21
1.3.3.2 Lý do nên sử dùng Laravel 22
1.3.3.3 Ưu và nhược điểm của Laravel 22
1.3.3.4 Một số tính năng hữu ích 26
1.3.3.5 Cấu trúc của một thư mục Laravel 27
1.3.4 Giới thiệu mô hình MVC 29
1.3.4.1 Khái niệm và cấu trúc mô hình MVC 29
1.3.4.2 Luồng xử lý trong MVC 31
1.3.4.4 Ưu - nhược điểm mô hình MVC 32
1.3.4.5 Lý do nên sử dụng mô hình MVC 33
1.3.5 Phân tích và thiết kế hệ thống 34
1.3.5.1 Tổng quan về phân tích và thiết kế hướng đối tượng 34
1.3.5.2 Tổng quan về biểu đồ UML 35
1.3.5.3 Một số biểu đồ UML phổ biến 35
Trường Đại học Kinh tế Huế
Trang 6TOÁN XÂY DỰNG WEBSITE THƯƠNG MẠI ĐIỆN TỬ 40
2.1 Tổng quan về trung tâm Ngoại ngữ KP English 40
2.1.1 Giới thiệu Trung tâm Ngoại ngữ KP English 40
2.1.2 Cơ cấu tổ chức 41
2.2 Thực trạng quản lý đào tạo tại trung tâm Ngoại ngữ KP English 41
2.3 Thực trạng ứng dụng thương mại điện tử của trung tâm 44
2.4 Bài toán xây dựng website thương mại điện tử cho trung tâm 45
2.4.1 Ý nghĩa thực tiễn 45
2.4.2 Phát biểu bài toán 46
2.4.3 Xác định yêu cầu của hệ thống 47
2.4.3.1 Yêu cầu chức năng 47
2.4.3.2 Yêu cầu phi chức năng 48
CHƯƠNG 3: PHÂN TÍCH, THIẾT KẾ TRIỂN KHAI WEBSITE THƯƠNG MẠI ĐIỆN TỬ CHO TRUNG TÂM NGOẠI NGỮ KP ENGLISH 49
3.1 Phân tích hệ thống 49
3.1.1 Xác định các tác nhân 49
3.1.2 Biểu đồ Use-case 49
3.1.2.1 Xác định các use-case 49
3.1.2.2 Một số biểu đồ Use-case chính của hệ thống 52
3.1.3 Biểu đồ tuần tự 66
3.1.3.1 Biểu đồ tuần tự quản lý hệ thống 67
3.1.3.2 Biểu đồ tuần tự quản lý bài viết 70
3.1.3.3 Biểu đồ tuần tự xem và đăng ký khoá học 73
3.2 Thiết kế hệ thống 75
3.2.1 Thiết kế cơ sở dữ liệu 75
3.2.1.1 Sơ đồ lớp 75
Trường Đại học Kinh tế Huế
Trang 73.2.1.3 Thiết kế cấu trúc các bảng dữ liệu 77
3.2.2 Thiết kế giao diện 81
3.2.2.1 Giao diện người dùng 81
3.2.2.2 Giao diện hệ thống 86
3.3 Kiểm thử website 91
3.3.1 Kiểm thử chức năng 91
3.3.2 Kiểm thử phi chức năng 94
3.4 Triển khai website 95
KẾT LUẬN 96
1 Kết quả đạt được 96
2 Hạn chế của đề tài 96
3 Hướng phát triển đề tài 96
TÀI LIỆU THAM KHẢO 98
KIỂM TRA ĐẠO VĂN 101
Trường Đại học Kinh tế Huế
Trang 8STT Từ viết tắt Tiếng Anh Tiếng Việt
1 CMS Content Management System Hệ thống quản trị nội dung
2 CSS Cascading Style Sheet
3 JS JavaScript Ngôn ngữ lập trình website
4 MVC Model-View-Controller Mẫu kiến trúc phần mềm
5 PHP Hypertext Preprocessor Ngôn ngữ lập trình kịch bản
9 URL Uniform Resource Locator Địa chỉ website
Trường Đại học Kinh tế Huế
Trang 9Sơ đồ 2 1 Sơ đồ cơ cấu tổ chức của KP English 41
Trường Đại học Kinh tế Huế
Trang 10Hình 1 1: Giao diện bố cục HTML của một trang web 15
Hình 1 2: Cách thức hoạt động của PHP 17
Hình 1 3: Giao diện chính của phần mềm Laragon 20
Hình 1 4: Logo của Laravel 21
Hình 1 5: Ví dụ về cấu trúc của một thư mục Laravel 29
Hình 1 6: Ví dụ về cấu trúc mô hình MVC 30
Hình 1 7: Thành phần trong mô hình MVC 31
Hình 1 8: View và Model sẽ được xử lý bởi Controller 32
Hình 1 9 Các thành phần của một lớp 39
Hình 2 1: Logo trung tâm Ngoại ngữ KP English 40
Hình 3 1 Biểu đồ usecase tổng quát 52
Hình 3 2 Biểu đồ usecase quản lý hệ thống 52
Hình 3 3 Biểu đồ usecase quản lý danh mục 54
Hình 3 4 Biểu đồ usecase quản lý bài viết 56
Hình 3 5 Biểu đồ usecase quản lý khóa học 59
Hình 3 6 Biểu đồ usecase quản lý chức vụ 61
Hình 3 7 Biểu đồ usecase quản lý giảng viên 64
Hình 3 8 Biểu đồ tuần tự đăng nhập 67
Hình 3 9 Biểu đồ tuần tự đăng ký 69
Hình 3 10 Biểu đồ tuần tự thêm bài viết 70
Hình 3 11 Biểu đồ tuần tự sửa bài viết 71
Hình 3 12 Biểu đồ tuần tự xóa bài viết 72
Hình 3 13 Biểu đồ tuần tự xem và đăng ký khóa học 73
Hình 3 14 Sơ đồ lớp 75
Trường Đại học Kinh tế Huế
Trang 11Hình 3 16 Giao diện Header 81
Hình 3 17 Giao diện Footer 82
Hình 3 18 Giao diện trang chủ 83
Hình 3 19 Giao diện danh sách khóa học 84
Hình 3 20 Giao diện thông tin khóa học 85
Hình 3 21 Giao diện đăng ký khóa học 86
Hình 3 22 Giao diện trang đăng nhập 86
Hình 3 23 Giao diện quản lý danh mục 87
Hình 3 24 Giao diện quản lý khóa học 88
Hình 3 25 Giao diện quản lý bài viết 89
Hình 3 26 Giao diện quản lý thống kê 90
Trường Đại học Kinh tế Huế
Trang 12Bảng 1 1 Ưu điểm của Laravel 23
Bảng 1 2 Nhược điểm của Laravel 25
Bảng 1 3: Ưu điểm mô hình MVC 32
Bảng 3 1 Tác nhân của hệ thống 49
Bảng 3 2 Danh sách các usecase có trong hệ thống 50
Bảng 3 5 Dữ liệu danh mục 77
Bảng 3 6 Dữ liệu bài viết 78
Bảng 3 7 Dữ liệu khóa học 78
Bảng 3 8 Dữ liệu đăng ký khóa học 79
Bảng 3 9 Dữ liệu chức vụ 80
Bảng 3 10 Dữ liệu giảng viên 80
Bảng 3 11 Dữ liệu đánh giá 80
Bảng 3 12 Dữ liệu câu hỏi 81
Hình 3 26 Giao diện quản lý thống kê 90
Bảng 3 13 Test case trang chủ 92
Bảng 3 14 Test case trang danh sách khóa học 93
Trường Đại học Kinh tế Huế
Trang 13MỞ ĐẦU
1 Lý do chọn đề tài
Cuộc cách mạng công nghệ lần thứ tư được coi như là một cuộc cách mạng công
nghệ 4.0 hoàn toàn tập trung vào công nghiệp kỹ thuật số từ những năm trước đây lên
một cấp độ hoàn toàn mới với sự trợ giúp của việc kết nối thông qua Internet vạn vật,
truy cập dữ liệu theo thời gian thực và giới thiệu các hệ thống vật lý không gian mạng
Kỷ nguyên này được được đánh dấu bằng những phát minh thay đổi hoàn toàn cách
vận hành của doanh nghiệp thông qua các công nghệ như: Dữ liệu lớn (Big Data), Trí
tuệ nhân tạo (AI), Điện toán đám mây (Cloud), Internet vạn vật (Internet of Things), In
3D,… [1] Điều này giúp cho các doanh nghiệp dễ dàng hợp tác và chia sẻ dữ liệu với
nhà sản xuất và khách hàng Từ đó việc tối ưu hoá quá trình khách hàng tiếp cận sản
phẩm của doanh nghiệp được dễ dàng hơn và khách hàng cũng hiểu rõ vấn đề mà
doanh nghiệp đang truyền đạt trong sản phẩm đó
Ngoài ra trong bối cảnh hội nhập toàn cầu hiện nay, nước ta đang ngày càng tạo
nhiều ưu đãi hấp dẫn nhằm thu hút nguồn đầu tư nước ngoài đến từ các tập đoàn đa
quốc gia đầu tư mạnh mẽ vào Việt Nam Điều này ngày càng thúc đẩy nhu cầu trang bị
năng lực ngoại ngữ, đặc biệt là tiếng Anh – một ngôn ngữ chung được sử dụng nhiều
nhất trong các giao dịch thương mại quốc tế và là cầu nối giữa các quốc gia Vì vậy
việc nâng cao kỹ năng tiếng Anh là điều cần thiết để giúp chúng ta có thể dễ dàng giao
tiếp, giúp đỡ nhau trong quá trình xây dựng và phát triển kinh tế với các nhà đầu tư
nước ngoài
Cùng với việc đó, đất nước ta còn được thiên nhiên ban tặng nhiều cảnh vật đẹp trải
dài suốt chiều dài đất nước Ẩm thực cũng là một trong những điều mà du khách muốn
trải nghiệm với sự phong phú đa dạng theo vùng miền và có sự kết hợp hài hoà về màu
sắc cho đến hương Bên cạnh đó, Việt Nam được mọi người biết đến là một đất nước
hiếu khách Đó là một số lý do khiến du khách muốn khám phá khi đến du lịch tại Việt
Nam Nắm được những điều đó, những năm gần đây ngành du lịch nước ta ngày càng
có nhiều định hướng và giải pháp nhằm thu hút người nước ngoài đến khám phá và du
lịch trong nước
Trường Đại học Kinh tế Huế
Trang 14Nắm bắt được sự phát triển của ngành du lịch cùng với sự đầu tư rầm rộ từ nước
ngoài, Bộ giáo dục ngày càng có nhiều chính sách thúc đẩy việc học ngoại ngữ cho
học sinh bắt đầu sớm hơn những năm trước Điều đó thúc đẩy phụ huynh học sinh tích
cực tìm kiếm môi trường tốt nhằm giúp con em họ có thể dễ dàng tiếp thu ngôn ngữ
mới một cách dễ hiểu nhất nhưng cũng phải đảm bảo chất lượng
Trung tâm Ngoại ngữ KP English là một tổ chức giáo dục được thành lập vào năm
2021 với sứ mệnh đào tạo tiếng Anh dành cho những thế hệ trẻ Việt Nam đang còn
ngồi trên ghế nhà trường từ tiểu học đến trung học phổ thông Mặc dù mới thành lập
hơn một năm nhưng trung tâm đã khẳng định được sự tín nhiệm đối với học viên cũng
như quý phụ huynh Việc quản lý hoạt động của trung tâm được diễn ra trực tiếp ngay
tại địa điểm hoạt động của trung tâm Hiện nay, việc quản lý trung tâm nhất là công
việc quản lý khóa học còn gặp nhiều khó khăn do việc giới thiệu khóa học mới chỉ
thông qua việc đăng tải nội dung ở các trang mạng xã hội, đặc biệt là Facebook, trong
khi đó thông tin của các khóa học thì thay đổi liên tục, chương trình học liên tục được
cải tiến dẫn đến việc giới thiệu lại các khóa học còn gặp nhiều thiếu sót, làm cho sự
hài lòng của phụ huynh không đạt được mức tối đa và làm tốt rất nhiều thời gian để
quản lý thông tin đăng ký khóa học của học viên Cùng với đó hiện tại một số trung
tâm ngoại ngữ khác cũng bắt đầu xây dựng một website của riêng mình như là một
kênh quảng bá giới thiệu Ngoài ra, trung tâm cũng đang muốn tìm kiếm thêm nhiều
học viên mới, những học viên tiềm năng trong địa bàn Thành phố Huế Tuy nhiên, với
tình hình hiện tại của trung tâm thì điều đó trở nên rất là khó khăn
Nhận thức được vấn đề và nhu cầu trên, trên cơ sở kiến thức đã được học ở nhà
trường và với mong muốn phát triển một kênh truyền thông mới nhằm thu hút học
viên mới và phù hợp với sự phát triển công nghệ hiện nay cho Trung tâm ngoại ngữ
KP English nên tôi quyết định thực hiện đề tài: “Xây dựng website thương mại điện tử
cho trung tâm Ngoại ngữ KP English dựa trên nền tảng Laravel” cho bài khóa luận tốt
nghiệp của mình
Trường Đại học Kinh tế Huế
Trang 152 Mục tiêu nghiên cứu
* Mục tiêu tổng quát: Xây dựng thành công website thương mại điện tử cho trung
tâm Ngoại ngữ KP English dựa trên nền tảng Laravel, giúp hoạt động quản lý của
trung tâm được hiệu quả hơn, đồng thời giúp quảng bá hình ảnh và giới thiệu trung
tâm đến với phụ huynh và học viên
*Mục tiêu cụ thể
- Nắm vững lý thuyết và quy trình xây dựng một website TMĐT
- Hiểu được quy trình hoạt động, quản lý của trung tâm Ngoại ngữ KP English
- Vận dụng được phương pháp phân tích và thiết kế hệ thống vào bài toán xây
dựng một website TMĐT
- Hiểu và vận dụng được các ngôn ngữ, các công cụ và nền tảng lập trình vào việc
xây dựng website
- Xây dựng được website cho trung tâm Ngoại ngữ KP English với giao diện thân
thiện dễ sử dụng với đủ các chức năng đã đặt ra
3 Đối tượng và phạm vi nghiên cứu
*Đối tượng nghiên cứu
- Quy trình xây dựng một website TMĐT.
- Các nền tảng, công cụ và ngôn ngữ xây dựng website.
- Quy trình quản lý, hoạt động của trung tâm Ngoại ngữ KP English.
*Phạm vi nghiên cứu
- Về không gian: Trung tâm Ngoại ngữ KP English, địa chỉ 149 Lý Thái Tổ,
Phường Hương An, Hương Trà, Thừa Thiên Huế Đề tài thực hiện tại công ty TNHH
Phát triển Phần mềm Hoa Sen
- Về thời gian: từ ngày 12/09/2022 đến ngày 18/12/2022.
Trường Đại học Kinh tế Huế
Trang 164 Phương pháp nghiên cứu
Qua từng giai đoạn khảo sát, phân tích, thiết kế và xây dựng website thương mại điện tử
cho trung tâm Ngoại ngữ KP English, đề tài đã áp dụng các phương pháp nghiên cứu sau:
*Phương pháp thu thập thông tin
- Phương pháp nghiên cứu lý thuyết: Chủ động tìm kiếm, nghiên cứu các website
thương mại điện tử tương tự để đánh giá được ưu nhược điểm Bên cạnh đó, tìm hiểu
quy trình xây dựng và hoàn thiện một website hoàn chỉnh trên nền tảng Laravel Cùng
với những kiến thức đạt được trong quá trình thực tập để đưa ra hướng phát triển nhằm
xây dựng website hoàn chỉnh, trực quan, phù hợp với lứa tuổi
- Phương pháp quan sát: Quan sát hoạt động quản lý, dạy và học của trung tâm
Ngoại ngữ KP English và cách quản lý, vận hành các kênh truyền thông hiện có của
trung tâm
- Phương pháp phỏng vấn: Trực tiếp phỏng vấn người quản lý, các giảng viên ở
trung tâm về những quy trình có liên quan nhằm đưa ra những giải pháp để nâng cao
hiệu quả trong việc xây dựng website về sau Ngoài ra phỏng vấn những học viên, phụ
huynh về một số chức năng nên có khi xây dựng website
*Phương pháp phân tích và thiết kế hệ thống
Sử dụng phương pháp phân tích và thiết kế hướng đối tượng với sự giúp đỡ công
cụ Draw.io để vẽ biểu đồ Usecase và biểu đồ tuần tự
*Phương pháp kiểm thử phần mềm
Sử dụng phương pháp kiểm thử chức năng và phi chức năng nhằm đánh giá sơ bộ
về giao diện, chức năng của website
5 Một số nghiên cứu liên quan
Khóa luận: “Xây dựng website thương mại điện tử cho cửa hàng thời trang trẻ em
Mary’s Baby sử dụng nền tảng Laravel” do sinh viên Trương Thị Thanh Trang, Lớp
K49B Tin học Kinh tế, trường Đại học Kinh tế Huế thực hiện năm 2019 Website
được xây dựng trên nền tảng lập trình Laravel và ngôn ngữ lập trình PHP Sản phẩm
Trường Đại học Kinh tế Huế
Trang 17đã được xây dựng với đầy đủ các chức năng cần thiết để đưa vào hoạt động Tuy
nhiên, giao diện của website còn đơn giản, chưa bắt mắt và thu hút người xem
Đề tài: “Nghiên cứu Laravel framework và sử dụng thanh toán trực tuyến Paypal
để xây dựng website thương mại điện tử cho Công ty Green Sale” do sinh viên Trần
Khánh Lộc, Lớp CCCT16B, khoa Công nghệ Thông tin, trường Cao đẳng Công nghệ
thông tin Hữu nghị Việt – Hàn thực hiện năm 2019 Sản phẩm được phát triển dựa trên
nền tảng lập trình Laravel và ngôn ngữ lập trình PHP Website đã được xây dựng đầy
đủ các chức năng đúng với yêu cầu Tính ứng dụng của đề tài cao trong sự phát triển
mạnh mẽ của việc mua sắm quốc tế như thế này Tuy nhiên, giao diện của website còn
đơn giản, chưa thu hút được người xem
Khóa luận: “Xây dựng website thương mại điện tử cho nhà sách Lạc Việt sử dụng
Laravel Framework”, do sinh viên Trần Thị Thanh, Lớp K52 Tin học Kinh tế, trường
Đại học Kinh tế Huế thực hiện năm 2022 Website được xây dựng dựa trên nền tảng
lập trình Laravel và ngôn ngữ lập trình PHP Website đã được xây dựng với đầy đủ
các chức năng và đáp ứng được yêu cầu của doanh nghiệp và người dùng Tuy nhiên
website vẫn còn tồn tại nhiều thiếu sót một số chức năng và giao diện khách hàng
Đồ án: “Xây dựng Website thương mại điện tử cho Công ty Cổ phần thương mại
G.B.S”, do sinh viên Bùi Xuân Bích, lớp 09TL THIA, khoa Công nghệ Thông tin,
trường Đại học Đông Á thực hiện năm 2012 bằng ngôn ngữ lập trình PHP Website đã
được xây dựng với các chức năng cơ bản, phù hợp với cơ sở hạ tầng của doanh nghiệp
Nhưng website vẫn còn đơn giản, chưa đáp ứng được nhu cầu đưa ra của doanh
nghiệp
Đồ án: “Xây dựng hệ thống quản lý học viên cho trung tâm Anh ngữ Andy”, do
sinh viên Trần Thị Mai Phương Lớp CT1601, ngành Công nghệ thông tin, trường Đại
Học Dân Lập Hải Phòng thực hiện năm 2016 bằng ngôn ngữ PHP Hệ thống đã được
xây dựng với đầy đủ các chức năng cơ bản, đã đạt yêu cầu đề ra lúc ban đầu Tuy
nhiên giao diện của hệ thống vẫn còn đơn giản, có một số chức năng còn hạn chế
Trường Đại học Kinh tế Huế
Trang 18Đồ án: “Xây dựng website và áp dụng kỹ thuật SEO bằng Wordpress cho Trung
tâm Đào tạo Quốc tết Trường Cao đẳng CNTT hữu nghị Việt - Hàn”, do sinh viên
Nguyễn Quang Linh, khoa Công nghệ thông tin, trường Cao Đẳng Công Nghệ Thông
Tin Hữu Nghị Việt – Hàn thực hiện năm 2020 Đồ án đã nghiên cứu và xây dựng
thành công website và áp dụng kỹ thuật chuẩn SEO bằng Wordpress cho trung tâm
Tuy nhiên giao diện của website chưa đáp ứng yêu cầu của Trung tâm
6 Cấu trúc khóa luận
Chương 1: Cơ sở lý luận về xây dựng website thương mại điện tử
Chương này sẽ trình bày tổng quát về website thương mại điện tử, giới thiệu sơ
lược về các ngôn ngữ và công cụ sử dụng để xây dựng hệ thống như ngôn ngữ PHP,
HTML, CSS,… và nền tảng lập trình Laravel, tổng quan phân tích và thiết kế hệ
thống
Chương 2: Tổng quan về trung tâm Ngoại ngữ KP English và bài toán xây
dựng website thương mại điện tử
Ở chương trình bày tổng quan về trung tâm Ngoại ngữ KP English, thực trạng
quản lý đào tạo của trung tâm, từ đó định hướng được bài toán xây dựng website
thương mại điện tử cho trung tâm
Chương 3: Phân tích thiết kế xây dựng website cho trung tâm Ngoại ngữ KP
English
Ở chương này sẽ trình bày chi tiết các bước từ phân tích, thiết kế, xây dựng, kiểm
thử và triển khai website cho trung tâm Ngoại ngữ KP English
Trường Đại học Kinh tế Huế
Trang 19NỘI DUNG NGHIÊN CỨUCHƯƠNG 1: CƠ SỞ LÝ LUẬN VỀ XÂY DỰNG WEBSITE THƯƠNG MẠI
ĐIỆN TỬ 1.1 Tổng quan về thương mại điện tử
1.1.1 Khái niệm thương mại điện tử
Theo giải thích của WHO về thương mại điện tử là gì như sau: “Thương mại điện tử
(hay thương mại trực tuyến) bao gồm việc sản xuất, quảng cáo, bán hàng và phân phối
sản phẩm được mua bán và thanh toán trên mạng Internet, nhưng được giao nhận một
cách hữu hình, cả các sản phẩm giao nhận cũng như những thông tin số hoá thông qua
mạng Internet”
Như vậy, TMĐT bản chất vẫn là hoạt động mua bán hàng hoá nhưng thay vì diễn ra
trực tiếp thông qua hành vi của các cá nhân, tổ chức thì sẽ diễn ra trên mỗi trường
Internet trên các nền tảng là các website bán hàng, mạng viễn thông được đăng ký theo
quy định của pháp luật
Để hoà nhập với thế giới, thương mại điện tử trong tiếng Anh được hiểu là
Electronic Commerce, viết tắt là Ecommerce, E-comm hay EC [2]
1.1.2 Tác động của thương mại điện tử đến thị trường
1.1.2.1 Tác động tích cực
Như phân tích ở trên, thương mại điện tử tác động rất nhiều theo hướng tích cực đến
người bán và người mua Ngoài ra, với các khía cạnh khác, thương mại điện tử cũng
có nhiều tác động tích cực như:
- Với xã hội: Tạo ra môi trường làm việc, mua sắm từ xa, nâng cao mức sống do
hàng hoá nhiều, giá mua bán cũng giảm vì giảm thiếu nhiều chi phí…
- Với các dịch vụ công: Việc thực hiện các dịch vụ công như y tế, giáo dục, chính
phủ điện tử… được thực hiện qua môi trường mạng giúp giảm thời gian giải quyết,
yêu cầu chi phí thấp… qua đó khiến các dịch vụ này diễn ra một cách thuận tiện, tiếp
cận gần hơn với người dân [2]
Trường Đại học Kinh tế Huế
Trang 201.1.2.2 Tác động tiêu cực
Bên cạnh những tác động tích cực thì thương mại điện tử cũng không thiếu tác động
tiêu cực Trong đó có thể kể đến hạn chế về kỹ thuật, đường truyền mạng kém kéo
theo đó sẽ dẫn đến tốc độ mua hàng và các hoạt động khác trên mạng không đáp ứng
được yêu cầu của người tiêu dùng
Ngoài ra, không gian mạng cũng là môi trường mà nhiều đối tượng nhắm đến nhằm
lợi dụng để thực hiện các hành vi lừa đảo, chiếm đoạt tài sản,… bởi hiện nay chưa có
tiêu chuẩn quốc tế về chất lượng, độ tin cậy cũng như chưa có nhiều chế tài cụ thể về
các hành vi vi phạm trên môi trường mạng
Do đó, thực tế tại Việt Nam cho thấy, có rất nhiều đối tượng lợi dụng các sàn giao
dịch thương mại cũng như Website thương mại điện tử để lừa đảo, mạo danh lừa đảo,
xúc phạm nhân phẩm, danh dự của người khác
Ngoài ra, đối với các đơn hàng được thực hiện thông qua thương mại điện tử, việc
giao tiếp giữa các bên (bên bán, bên mua, bên giao hàng) trong nhiều trường hợp còn
chưa chặt chẽ Do đó, nhiều đối tượng lợi dụng lỗ hổng này để thực hiện các hành vi vi
phạm pháp luật của mình [2]
1.1.3 Tình hình phát triển và dự báo của ngành thương mại điện tử ở Việt Nam
Trong những năm gần đây, nền kinh tế kỹ thuật số của Việt Nam đang phát triển với
tốc độ nhanh nhất trong ASEAN, khoảng 38% hàng năm so với mức trung bình 33%
của khu vực kể từ năm 2015
Vào năm 2020, thương mại điện tử Việt Nam tăng 18% đạt 11,8 tỷ USD, trở thành
quốc gia duy nhất ở Đông Nam Á đạt tốc độ tăng trưởng hai con số về lĩnh vực này
Ước tính của một số doanh nghiệp lớn trên thế giới như Google, Temasek, Bain &
Company cho thấy nền kinh tế kỹ thuật số của Việt Nam có khả năng đạt 52 tỷ USD
và đứng thứ ba trong ASEAN vào năm 2025
Với mức tăng 24%, thị trường Thương mại Điện tử Việt Nam đã đóng góp vào tốc
độ tăng trưởng 15% trên toàn thế giới vào năm 2022 Cũng giống như ở Việt Nam,
doanh số Thương mại Điện tử toàn cầu dự kiến sẽ tăng trong những năm tới Với tốc
Trường Đại học Kinh tế Huế
Trang 21độ tăng trưởng hàng năm là 7% trong giai đoạn 2021-2025, Việt Nam thậm chí còn
được kỳ vọng sẽ vượt xa mức trung bình toàn cầu là 6%
Như vậy tính đến năm 2025 Việt Nam sẽ có 55% dân số tham gia mua sắm trực
tuyến với giá trị mua hàng hóa, dịch vụ trực tuyến Và chi phí bình quân đạt mỗi người
chi tiêu cho các hoạt động thương mại điện tử là 600 USD/người/năm Doanh thu của
mô hình thương mại điện tử giữa doanh nghiệp và người tiêu dùng (B2C) dự báo tăng
25% / năm, đạt 35 tỷ USD, chiếm 10% tổng mức bán lẻ hàng hóa và doanh thu dịch vụ
[3]
Từ những số liệu thống kê trên có thể nói rằng thương mại điện tử giúp chúng ta có
thể mua các mặt hàng từ thị trường quốc tế thông qua internet và trở thành “người tiêu
dùng toàn cầu” Nó cũng hỗ trợ các cá nhân và doanh nghiệp giới thiệu và cung cấp
sản phẩm dịch vụ đến người tiêu dùng quốc tế
1.2 Tổng quan về website thương mại điện tử
1.2.1 Giới thiệu chung về website
Website còn gọi là trang mạng (hoặc trang web) là tập hợp các trang chứa thông tin
bao gồm văn bản, hình ảnh, video,… và được nằm trên một tên miền (domain name)
được lưu trữ (Web Hosting) trên máy chủ web (Web Server), giúp người dùng truy cập
website từ xa thông qua Internet [4]
Còn về mặt kỹ thuật, website là một tập hợp các trang được liên kết với nhau trên
Internet, nhóm lại thành một tên chung duy nhất Các trang (Web Page) này chứa
thông tin hoặc dịch vụ được cung cấp bởi các doanh nghiệp/tổ chức, và có thể tồn tại ở
nhiều định dạng khác nhau: văn bản, hình ảnh, âm thanh, video,…
Mỗi website đều có một trang gọi là Trang Chủ (Home Page) Người dùng sau khi
nhập địa chỉ vào trình duyệt sẽ được điều hướng trực tiếp đến trang chủ này
Mội website sẽ gồm nhiều trang con (webpage) là tập hợp dạng HTML hoặc
XHTML được lưu trữ trên máy chủ (web server)
Để người dùng có thể truy cập vào website thông qua các nền tảng khác nhau thì
cần có những phần sau:
Trường Đại học Kinh tế Huế
Trang 22- Mã nguồn website (Source Code Website): Đây là một hệ thống gồm một hoặc
nhiều tập tin được viết dựa trên các ngôn ngữ lập trình và được kết nối thành giao diện
người dùng trên website
- Lưu trữ web (Web hosting): là máy chủ dùng để lưu trữ mã nguồn và các thành
phần khác trên website của bạn
- Tên miền (Domain): Tên miền là địa chỉ trang web hoạt động trên Internet để
người dùng truy cập vào website của bạn dễ dàng
Giao diện của một website gồm những thành phần sau:
- Header: thường được đặt ở vị trí đầu trang và hiển thị trên những trang phụ Phần
này thường có logo, thanh menu điều hướng, ngôn ngữ, đăng ký/đăng nhập…
- Slider/Carousel: được định nghĩa là một loại trình chiếu thông tin trên những
thanh trượt Phần này được đặt dưới Header và được đầu tư rất nhiều vào thiết kế hình
ảnh Nhằm giới thiệu những đặc điểm nổi bật của doanh nghiệp hoặc sản phẩm, dịch
vụ và cũng có thể là slogan
- Content Area: được coi là nơi cung cấp nội dung cho độc giả, và là thành phần
quan trọng nhất của một website Nội dung ở đây có thể thông qua nhiều hình thức
khác nhau: Văn bản, hình ảnh, âm thanh, video,…
- Sidebar: là nơi hiển thị nội dung ở bên phải hoặc bên trái hoặc cả hai bên của
website dọc theo nội dung chính mà ở đó cho phép người quản trị website có khả năng
thêm và sắp xếp các nội dung như bài viết mới, lịch, tìm kiếm,… mà không cần phải
chỉnh code
- Footer: đây là phần cuối cùng của một website Phần này thường bao gồm những
thông tin cơ bản như: các liên kết, các kênh social network, bản quyền, email,… [4]
1.2.2 Lợi ích của website
Việc phát triển và sở hữu một website chuyên nghiệp, doanh nghiệp hoặc tổ chức có
thể nhận được những lợi ích sau đây:
- Kênh quảng cáo không bị giới hạn: Theo một báo cáo từ Hootsuite cho thấy tính
đến tháng 1/2021 số người sử dụng internet là 4,66 tỉ người [5] Do đó đây sẻ là một
kênh quảng bá mới, từ đó bạn không còn lo lắng đến chi phí quảng cáo lớn Ngoài ra
Trường Đại học Kinh tế Huế
Trang 23khách hàng hoàn toàn có thể tự truy cập thông tin của bạn ở bất cứ nơi đâu và bất cứ
lúc nào chỉ cần có một thiết bị điện tử có thể kết nối internet
- Không bị giới hạn về mặt thời gian và không gian: Website mang lại sự tiện lợi
cho người dùng vì họ có thể truy cập thông tin của bạn trong sự thoải mái ở mọi vị trí
trong căn nhà của họ mà không phải đi ra đường tới tận nơi cửa hàng hoặc doanh
nghiệp của bạn Chỉ cần có kết nối internet và thiết bị điện tử, khách hàng của bạn có
thể khám phá mọi thứ mà bạn muốn quảng bá Vì vậy người dùng có thể truy cập
website của bạn bất cứ lúc nào họ muốn ngay cả khi bạn đang có một giấc ngủ ngon
với gia đình của mình
- Giao tiếp và chăm sóc khách hàng 24/7: Không chỉ giúp quảng bá giới thiệu
website còn là kênh để thực hiện các công việc giao tiếp và chăm sóc khách hàng 24/7
Việc này được áp dụng bằng cách bạn có thể tích hợp các công cụ chăm sóc khách
hàng với website như công cụ chat trực tiếp, tổng đài chăm sóc khách hàng, từ đó bạn
sẽ hiểu rõ được nhu cầu và mong muốn của khách hàng để đáp ứng tốt hơn mong đợi
của họ
- Tăng tính cạnh tranh với đối thủ: Website vừa đóng vai trò là bộ mặt đại diện cho
doanh nghiệp trên thị trường online mà còn là công cụ lợi hại để doanh nghiệp có thể
cạnh tranh với các đối thủ khác trong cùng lĩnh vực Nếu bạn có một website với thiết
kế ấn tượng, thông tin sản phẩm rõ ràng, liên lạc nhanh chóng, dễ dàng thanh toán thì
chắc chắn khánh hàng sẽ ưu tiên lựa chọn sản phẩm trên website của bạn
1.2.3 Khái niệm website thương mại điện tử
Website thương mại điện tử được định nghĩa là trang thông tin điện tử được thiết lập
để phục vụ một phần hoặc toàn bộ quy trình của hoạt động mua bán hàng hoá hay
cung cấp dịch vụ, từ trưng bày giới thiệu hàng hoá, dịch vụ đến giao kết hợp đồng,
cung ứng dịch vụ, thanh toán và dịch vụ sau bán hàng
Ngoài ra bạn có thể hiểu một cách đơn giản, các website này được thiết lập và vận
hành, có thực hiện một phần hoặc toàn bộ các nghiệp vụ liên quan đến thương mại
Trường Đại học Kinh tế Huế
Trang 24như: giao dịch bán hàng, giới thiệu/ trưng bày sản phẩm, giới thiệu dịch vụ, công ty,
quảng cáo, giao dịch hợp đồng… đều là hình thức website thương mại điện tử [6]
1.2.4 Mô hình thương mại điện tử phổ biến tại Việt Nam
Hiện nay tại Việt Nam đang có 4 mô hình thương mại điện tử phổ biến tương ứng
với 4 loại hình website TMĐT khác nhau, đó là:
- Mô hình thương mại điện tử B2B (Business to Business): được hiểu là mô hình
kinh doanh TMĐT giữa Doanh nghiệp & Doanh nghiệp Mô hình B2B thường phục
vụ giao dịch thương mại điện tử giữa các Nhà sản xuất, Nhà cung ứng, Nhà phân phối,
Đại lý, các công ty/doanh nghiệp với nhau Mô hình website thương mại điện tử B2B
được biết đến nhiều nhất hiện nay như: Amazon, Taobao, Alibaba,…
- Mô hình thương mại điện tử B2C (Business to Customers): Là hình thức thương
mại điện tử giữa Doanh nghiệp & Người tiêu dùng Hiểu một cách đơn giản rằng các
doanh nghiệp trao đổi, buôn bán sản phẩm/dịch vụ của mình cho người tiêu dùng trên
thị trường thông qua kênh website trực tuyến TMĐT Người tiêu dùng của mô hình
này chủ yếu là những khách hàng cá nhân, chỉ có nhu cầu mua sản phẩm để trực tiếp
sử dụng nên giá trị các đơn hàng thường nhỏ lẻ Trang web thương mại điện tử vận
hành theo mô hình B2C nổi tiếng hiện nay: Thế giới di động, Lazada, Shoppe,…
- Mô hình thương mại điện tử C2C (Customers to Customers): Là hình thức
thương mại điện tử giữa các Cá nhân & Người tiêu dùng Đây là sàn website cho phép
các khách hàng tự do giao dịch với nhau thông qua các điều khoản của một chủ đầu tư
(doanh nghiệp) đứng giữa Tiêu biểu cho loại hình thương mại điện tử này phải kể đến
các bên như: chotot.com, raovat.net, nhattao.com
- Mô hình thương mại điện tử B2G (Business to Government) là mô hình thương
mại điện tử giữa Doanh nghiệp với Chính phủ (khối tổ chức hành chính công Nhà
nước) Hình thức hoạt động của mô hình này còn được hiểu đơn giản là sử dụng
internet cho việc mua bán công, các thủ tục cấp phép và các hoạt động khác liên quan
tới Chính phủ Hiện nay mô hình này được áp dụng trong việc xây dựng cơ sở hạ tầng
và công nghệ thông tin [6]
Trường Đại học Kinh tế Huế
Trang 251.2.5 Tổng quan về quy trình xây dựng website thương mại điện tử
Quy trình xây dựng website trải qua các giai đoạn sau:
Giai đoạn 1: Thu thập thông tin từ khách hàng
- Tiến hành tìm hiểu tất cả các yêu cầu thực tế mà khách hàng đưa ra
- Tiếp nhận, tập hợp các yêu cầu của khách hàng đưa ra về Website và các thông
tin mà khách hàng cung cấp
Giai đoạn 2: Phân tích hệ thống
- Sau khi thu thập đầy đủ thông tin từ phía khách hàng, bắt đầu xây dựng kế hoạch
chi tiết về thiết kế website cụ thể: phác thảo sơ đồ website; liệt kê toàn bộ các trang,
chủ đề sẽ xuất hiện trên website và xác định nội dung chi tiết của từng trang
- Dựa trên kết quả cuối cùng của bản kế hoạch, tiến hành thiết kế cấu trúc dự án
cho toàn bộ hệ thống nói chung và website nói riêng
Giai đoạn 3: Thiết kế giao diện
- Tập trung phân tích kỹ các yêu cầu chi tiết của khách hàng và tiến hành thiết kế
giao diện theo chức năng hệ thống Website
- Tiến hành thu thập dữ liệu cần thiết, xử lý thông tin có liên quan
- Kiểm tra thiết kế để đảm bảo hoàn toàn về tính thống nhất và độ thẩm mỹ cho hệ
thống
Giai đoạn 4: Xây dựng hệ thống
- Tiến hành xây dựng cơ sở dữ liệu cho hệ thống
- Hoàn thiện nội dung, xây dựng tài liệu để đưa lên Website
- Tích hợp toàn bộ hệ thống thành một sản phẩm hoàn chỉnh
Giai đoạn 5: Kiểm thử hệ thống
Trường Đại học Kinh tế Huế
Trang 26- Chạy thử, kiểm tra và sửa lỗi hệ thống nếu có nhằm đảm bảo hệ thống không gặp
trục trặc và sai sót so với thiết kế và vẫn hoạt động bình thường
Giai đoạn 6: Nghiệm thu và bảo trì
- Khách hàng duyệt chất lượng của dự án
- Chuyển giao hệ thống và sản phẩm cho khách hàng
- Xây dựng tài liệu và trực tiếp hướng dẫn khách hàng để việc vận hành hệ thống
được ổn định và hiệu quả
- Đánh giá và bảo trì hệ thống định kỳ
1.3 Tổng quan về các công cụ xây dựng website
1.3.1 Tổng quan về các ngôn ngữ lập trình được sử dụng
1.3.1.1 Giới thiệu HTML
HTML là từ viết tắt của Hypertext Markup Language, là sự kết hợp của Hypertext
và Markup, hay còn được gọi là ngôn ngữ siêu văn bản HTML có chức năng giúp
người dùng xây dựng và cấu trúc các phần trong trang web hoặc ứng dụng, thường
được sử dụng trong phân chia các đoạn văn, heading, link, blockquotes,… [7]
Cấu trúc HTML thường có ba phần (Hình 1.1), cụ thể [7]:
- Phần khai báo chuẩn html, xhtml: Cấu trúc là <!Doctype> Phần này cho người
dùng biết được trình duyệt đang sử dụng hiện đang dùng phiên bản HTML nào
- Phần tiêu đề: Phần này có cấu trúc bằng thẻ <head> và kết thúc bởi thẻ <head>
Đây là phần chứa tiêu đề để hiển thị trên thanh điều hướng của trang web nằm giữa
cặp thẻ <title> và </title> Bên cạnh đó phần này là phần khai báo về meta, javascript,
css,…
- Phần thân: Phần này nằm phía sau tiêu đề, là nơi bao gồm các thông tin mà bạn
muốn hiển thị trên trang web bao gồm văn bản, hình ảnh và các liên kết Phần này bắt
đầu bằng thẻ <body> và kết thúc bằng thẻ </body>
Trường Đại học Kinh tế Huế
Trang 27- Thẻ cặp nằm ngoài cùng, cả phần tiêu đề và phần thân phải nằm trong cặp thẻ
<html> và </html> Đây là cặp thẻ nằm ngoài cùng, cặp thẻ này có nhiệm vụ bao hết
nội dung của trang web lại
Hình 1 1: Giao diện bố cục HTML của một trang web
(Nguồn: Nghiên cứu của tác giả)
1.3.1.2 Giới thiệu CSS
CSS (Cascading Style Sheets) là một ngôn ngữ được sử dụng để tìm và định dạng
lại các phần tử được tạo ra bởi các ngôn ngữ đánh dấu (ví dụ như HTML) Bạn có thể
hiểu đơn giản rằng, nếu HTML đóng vai trò định dạng các phần tử trên website như
việc tạo ra các đoạn văn bản, các tiêu đề, bảng,…thì CSS sẽ giúp chúng ta có thể thêm
một chút “phong cách” vào các phần tử HTML đó như đổi màu sắc trang, đổi màu
chữ, thay đổi cấu trúc,…rất nhiều [8]
Phương thức hoạt động của CSS là nó sẽ tìm dựa vào các vùng chọn, vùng chọn có
thể là tên một thẻ HTML, tên một ID, class hay nhiều kiểu khác Sau đó là nó sẽ áp
dụng các thuộc tính cần thay đổi lên vùng chọn đó [8]
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
1.3.1.3 Giới thiệu JavaScript
Javascript chính là một ngôn ngữ lập trình web rất phổ biến ngày nay Javascript
được tích hợp đồng thời nhúng vào HTML để hỗ trợ cho website trở nên sống động
Trường Đại học Kinh tế Huế
Trang 28hơn Chúng cũng đóng vai trò tương tự như một phần của website, cho phép
Client-side Script từ người dùng tương tự máy chủ (NodeJS) để tạo ra những website động
[9]
Cách hoạt động của javascript là sẻ nhúng trực tiếp vào một website hoặc chúng
được tham chiếu qua file js hoặc javaScript
Javascript được dùng trong những mục đích: Thay đổi nội dung HTML, thay đổi giá
trị thuộc tính HTML, thay đổi kiểu HTML, ẩn các phần tử HTML, hiển thị các phần tử
HTML
1.3.1.4 Giới thiệu PHP
PHP (Personal Home Page hay PHP Hypertext Preprocessor) là ngôn ngữ lập trình
kịch bản (scripting language) được chạy ở phía server nhằm sinh ra mã HTML trên
client PHP đã trải qua rất nhiều phiên bản và được tối ưu hóa cho các ứng dụng web,
với cách viết mã rõ ràng, tốc độ nhanh, dễ học nên PHP đã trở thành một ngôn ngữ lập
trình web rất phổ biến và được ưa chuộng [10]
Ngôn ngữ lập trình kịch bản (scripting language) là ngôn ngữ tự động hóa việc thực
hiện các tác vụ trong môi trường runtime đặc biệt Chúng bao gồm việc yêu cầu một
trang web tĩnh (được xây dựng bằng HTML và CSS) thực hiện các hành động cụ thể
với quy tắc bạn đã xác định trước [11]
PHP chạy trên môi trường Webserver và được lưu trữ thông tin qua hệ quản trị cơ
sở dữ liệu PHP có thể chạy được trên nhiều nền tảng hệ điều hành khác nhau như
Windows, macOS và Linux
Cách thức hoạt động của PHP: Khi người dùng gọi trang PHP, Webserver sẽ triệu
gọi PHP Engine để thông dịch trang PHP và trả kết quả cho người dùng (Hình 1.2)
[10]
Trường Đại học Kinh tế Huế
Trang 29Hình 1 2: Cách thức hoạt động của PHP
(Nguồn: https://hoclaptrinhweb.org/)
PHP 8.0 là phiên bản PHP mới nhất được phát hành ngày 26 tháng 11 năm 2020
[12] Phiên bản PHP 8.0 mới nhất này, nó đã thêm được rất nhiều tính năng mới
Những tính năng này nhằm tối ưu và cải thiện hệ thống cú pháp, kiểu, xử lý lỗi Đồng
thời, tăng tính nhất quán cho ngôn ngữ
1.3.2 Các công cụ dùng để xây dựng website
1.3.2.1 Môi trường phát triển tích hợp Visual Studio Code
Môi trường phát triển tích hợp - IDE (Integrated Development Environment) hay
còn gọi là môi trường tích hợp dùng để viết code và phát triển ứng dụng Bên trong
IDE còn có tích hợp các tool hỗ trợ khác như trình biên dịch (Compiler), trình thông
dịch (Interpreter), kiểm tra lỗi (Debugger), [13]
Visual Studio Code là trình soạn thảo, biên tập lập trình mã nguồn miễn phí được sử
dụng trên 3 nền tảng đó là: Windows, macOS và Linux được xây dựng, phát triển bởi
Microsoft ra mắt vào tháng 4 năm 2015 (theo Wikipedia) tại hội thảo Build Hơn thế nữa,
Trường Đại học Kinh tế Huế
Trang 30Visual Studio Code còn cho khả năng tương thích với những thiết bị máy tính có cấu hình
tầm trung vẫn có thể sử dụng dễ dàng, nó là sự kết hợp hoàn hảo giữa IDE và CODE
Editor [14]
Visual Studio Code hỗ trợ đa dạng các chức năng Debug, đi kèm với Git, có Syntax
Highlighting Đặc biệt là tự hoàn thành mã thông minh, Snippets, và khả năng cải tiến
mã nguồn Nhờ tính năng tùy chỉnh, Visual Studio Code cũng cho phép các lập trình
viên thay đổi Theme, phím tắt, và đa dạng các tùy chọn khác Mặc dù trình soạn thảo
Code này tương đối nhẹ, nhưng lại bao gồm các tính năng mạnh mẽ [15]
Visual Studio Code được nhiều người làm trong ngành IT tin dùng vì luôn có những
cải tiến và tạo ra đa dạng các tiện ích đi kèm từ đó giúp cho các lập trình viên sử dụng
dễ dàng hơn Trong đó có thể kể đến những ưu điểm sau [15]:
- Hỗ trợ nhiều ngôn ngữ lập trình: Visual Studio Code hỗ trợ nhiều ngôn ngữ lập
trình nư C/C++, C#, HTML, CSS,… Vì vậy nó dễ dàng phát hiện và đưa ra thông báo
nếu chương trình đó bị lỗi
- Hỗ trợ đa nền tảng: Các trình viết code thông thường chỉ được sử dụng được tối
đa cho 1 nền tảng Windows hoặc Linux hoặc Mac Systems Nhưng Visual Studio
Code có thể hoạt động tốt trên cả ba nền tảng trên
- Kho lưu trữ dữ liệu an toàn: Tính bảo mật dữ liệu hiện nay được đòi hỏi cao, đặc
biệt là đối với các hệ thống lập trình công nghệ thông tin Người dùng có thể hoàn toàn
tin tưởng sử dụng Visual Studio Code vì nó có khả năng kết nối dễ dàng với Git hoặc
bất cứ kho lưu trữ dữ liệu hiện có
- Cung cấp kho tiện ích mở rộng: Trong trường hợp ngôn ngữ lập trình của lập
trình viên sử dụng không thuộc danh sách các ngôn ngữ được Visual Studio Code hỗ
trợ, họ có thể tải thêm các tiện ích mở rộng Điều này không làm ảnh hưởng đến hiệu
năng của phần mềm bởi phần mở rộng này hoạt động riêng biệt như một chương trình
độc lập
- Hỗ trợ web: Visual Studio Code có khả năng hỗ trợ các ứng dụng web Bên cạnh
đó, nó cũng có riêng một trình soạn thảo văn bản và thiết kế, xây dựng website
Trường Đại học Kinh tế Huế
Trang 31- Lưu trữ dữ liệu dạng phân cấp: Visual Studio Code có ưu điểm là cung cấp thêm
các thư mục cho một số tệp đặc biệt quan trọng Bởi phần lớn các tệp lưu trữ dữ liệu
đoạn mã đều được đặt trong các thư mục tương tự nhau
- Hỗ trợ viết code: Để thuận tiện cho người dùng, một số đoạn code có thể tùy
chỉnh hoặc thay đổi Visual Studio Code có thể đưa ra gợi ý hoặc đề xuất các tùy chọn
thay thế nếu có cho lập trình viên
- Hỗ trợ thiết bị đầu cuối: Các lập trình viên sẽ không phải thao tác chuyển đổi
giữa hai màn hình hoặc quay trở về thư mục gốc khi thực hiện Bởi Visual Studio
Code được thiết kế tính năng tích hợp thiết bị đầu cuối
- Màn hình đa nhiệm: Người dùng Visual Studio Code có thể cùng lúc mở ra nhiều
thư mục (Folder) và tập tin (File) dù chúng không có sự liên quan với nhau
- Hỗ trợ Git: Visual Studio Code có khả năng sao chép trực tiếp mã từ GitHub có
tác dụng thay thế và lưu trữ dữ liệu trên phần mềm
- Intellisense: Visual Studio Code có khả năng đặc biệt hơn so với các chương
trình mã code khác là nó có thể phát hiện bất kỳ đoạn mã nào không đầy đủ
Intellisense sẽ tự động giúp các lập trình viên bổ sung các cú pháp còn thiếu kể cả khi
học quên không khai báo biến
1.3.2.2 Phần mềm Laragon
Laragon là phần mềm cung cấp một môi trường phát triển trên Windows Ví dụ như
Mysql, PHP, Redis, Apache (WAMP Stack) có thể vận hành dễ dàng và nhanh chóng
sau khi bạn cài Laragon Bạn sẽ thấy có một số ngôn ngữ khác như Python, Java và
Ruby cũng tương thích với Laragon Một số cơ sở dữ liệu cũng phù hợp tích hợp với
Laragon như MongoDB và PostgreSQL chỉ bằng vài thao tác đơn giản [16]
Trường Đại học Kinh tế Huế
Trang 32Hình 1 3: Giao diện chính của phần mềm Laragon
(Nguồn: Nghiên cứu của tác giả)
Laragon cung cấp môi trường WAMP mạnh và miễn phí Với phần mềm này, bạn tự
tạo ra web server trực tiếp trên máy tính của bạn mà không phải đăng ký web server
nào khác Phần mềm Laragon khá nhẹ nên dễ dàng cài đặt và mở rộng Nó tốn không
quá 4MB ram dung lượng khi chạy Bên cạnh đó, nó cũng không sử dụng bất cứ dịch
vụ nào của Windows vì nó đã có sẵn dịch vụ của riêng nó [16]
Một số tính năng nổi bật của Laragon [16]:
- Hỗ trợ tạo tên miền riêng (vd: trungtamkp_english.test thay vì localhost)
- Di chuyển thư mục Laragon đến bất cứ vị trí nào khác như là máy tính hoặc USB
mà không bị lỗi hay hệ thống không hoạt động được
- Tự động config tất cả nếu bạn có bổ sung hoặc thay đổi phiên bản của PHP, Java,
Python,…
- Hỗ trợ tối ưu lập trình web, cài đặt nhanh các ứng dụng, CMS, Framework như
WordPress, Laravel,…
- Hỗ trợ tính năng Git, Memcached,…
Trường Đại học Kinh tế Huế
Trang 33- Laragon còn hỗ trợ cài SSL, cmd và thực hiện các thao tác trực tiếp với cơ sở dữ liệu.
- Tích hợp gửi mail từ localhost thông qua giao thức SMTP được cài đặt sẵn
1.3.3 Nền tảng lập trình Laravel v9
1.3.3.1 Tổng quan về nền tảng lập trình Laravel
Laravel là một PHP framework mã nguồn mở hoàn toàn miễn phí, được phát triển
bởi Taylor Otwell, phiên bản đầu tiên được cho ra mắt vào năm 2011 Laravel ra đời
với mục đích hỗ trợ phát triển các ứng dụng web dựa trên mô hình Model – View –
Controller (MVC) [17] Logo của Laravel được miêu tả ở Hình 1.4
Hình 1 4: Logo của Laravel
(Nguồn: https://en.wikipedia.org/)
PHP framework là thư viện làm cho sự phát triển của những ứng dụng web viết
bằng ngôn ngữ PHP trở nên trôi chảy hơn Bằng cách cung cấp một cấu trúc cơ bản để
xây dựng những ứng dụng đó Hay nói cách khác, PHP framework giúp bạn thúc đẩy
nhanh chóng quá trình phát triển ứng dụng Giúp bạn tiết kiệm được thời gian, tăng sự
ổn định cho ứng dụng Giảm thiểu số lần phải viết lại code cho lập trình viên [18]
Hiện nay, Laravel đang được sử dụng rộng rãi nhằm phục vụ nhu cầu xây dựng
Web với những lý do: Cú pháp dễ hiểu – rõ ràng, hệ thống đóng gói Modular và quản
lý gói phụ thuộc, có thể truy cập vào cơ sở dữ liệu quan hệ với nhiều cách khác nhau,
ngoài ra còn có nhiều tiện ích khác nhau nhằm hỗ trợ việc triển khai và bảo trì ứng
dụng
Trường Đại học Kinh tế Huế
Trang 34Laravel v9 là phiên bản LTS tiếp theo của Laravel và ra mắt vào tháng 2 năm 2022
với nhiều tính năng mới và nâng cấp phiên bản hỗ trợ PHP
1.3.3.2 Lý do nên sử dùng Laravel
- Laravel rất dễ học, để sử dụng nó bạn cần nắm rõ kiến thức cơ bản về PHP, lập
trình hướng đối tượng (OOP), HTML, MySQL hay PostgreSQl, có kiến thức MVC
cũng là một lợi thế
- Đơn giản hoá Quy trình Phát triển: Bản chất của Laravel là thiết kế để đơn giản
hóa các tính năng phổ biến trong nhiều dự án web như định tuyến, xác thực, di chuyển,
lưu vào bộ nhớ đệm, v.v Laravel giúp tích hợp các tính năng có sẵn vào một ứng
dụng, bằng cách sử dụng các giao diện dòng lệnh và Composer (Trình soạn thảo)
- Laravel có khả năng mở rộng cao Nhờ sự hỗ trợ tích hợp các hệ thống bộ nhớ
cache phân tán, nhanh chóng, các ứng dụng Laravel có khả năng giải quyết hàng triệu
yêu cầu mỗi tháng
- Hệ sinh thái và cộng đồng rộng lớn: Laravel được hỗ trợ bởi một cộng đồng nhà
phát triển rộng lớn Do là một framework được sử dụng nhiều nhất, đòi hỏi nó phải
chứa các gói thư viện khổng lồ bao gồm cả gói chính thức và gói được cung cấp từ bên
thứ ba Ngoài ra Laravel còn cung cấp một diễn đàn hỗ trợ giải đáp thắc mắc là
Laravel.io, The Laravel subreddit và Laracasts, bất kỳ nhà phát triển nào có câu hỏi gì
đều có thể truy cập vào đây để tìm thông tin
1.3.3.3 Ưu và nhược điểm của Laravel
Tuy Laravel đang được sử dụng rộng rãi, nhưng ứng dụng nào cũng có ưu nhược
điểm và Laravel cũng không ngoại lệ
Một số ưu điểm của Laravel được thống kê ở bảng 1.1 [19]
Trường Đại học Kinh tế Huế
Trang 35Bảng 1 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 Laravelframework 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ụ thể, khi dùng công cụ nàybạn có thể sử dụng các tính năng mới nhất của PHP, đặcbiệt là trong Interfaces, Namespaces, 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
Nguồn tài nguyên vô
cùng lớn và sẵn có
Laravel có nguồn tài nguyên lớn, sẵn có Chúng đều rất
thân thiện với người dùng Những phiên bản của công cụnày đều được phát hành kèm theo là tài liệu phù hợp Từ đóbạn sẽ dễ dàng tìm thấy được các giải thích về Methods,Coding style và Classes
Tích hợp với dịch vụ
Ngày nay, những ứng dụng website cần phải thông báo vềoffer và các deal mới cho người sử dụng Việc đăng ký trởthành người dùng mới là điều vô cùng quan trọng Trên thưviện SwiftMailer của Framework hiện được trang bị APIsạch Trong đó có những Driver cho Mailgun, SMTP,SparkPost, PHP’s “mail” function, Mandrill và “sendmail”,Amazon SES giúp chúng ta gửi thư qua dịch vụ local hoặcdịch vụ dựa trên đám mây
Tốc độ xử lý nhanh
Không những vậy, công cụ này còn hỗ trợ hiệu quả choviệc lập những dự án lớn trong khoảng thời gian ngắn hoặctạo website Vì vậy, Laravel được những lập trình viên và
Trường Đại học Kinh tế Huế
Trang 36công ty công nghệ ứng dụng để phát triển sản phẩm của họ.
Hỗ trợ cache backend
phổ biến
Đặc biệt, cũng Redis out-of-the-box và Memcached,Framework Laravel hỗ trợ những cache backend Ưu điểmnày giúp bạn có thể dễ dàng tùy chỉnh được nhiều cấu hìnhcache
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ácnhiệ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ạocác tệp MVC cơ bản và quản lý tài sản, bao gồm cả các cấuhình tương ứng của chúng
Đây là ưu điểm của Laravel được mọi người yêu thích nhất
Công cụ cung cấp những tính năng bảo mật mạnh giúpngười dùng an tâm tập trung cao độ cho việc phát triển sảnphẩm:Dùng PDO để chống sự tấn công của SQLInjection.Dùng field token ẩn để chống sự tấn công kiểuCSRF.Đặc biệt, Laravel escape các biến đều được đưa ranhững view mặc định, vì thế có thể tránh sự tấn công củaXSS
Trang 37Bảng 1 2 Nhược điểm của Laravel
Không hỗ trợ chức
năng thanh toán
Nhược điểm đầu tiên phải kể tới đó chính là Laravel không
hỗ trợ chức năng thanh toán Điều này khiến bạn tốn khánhiều công sức khi thanh toán để tạo sản phẩm
Thiếu sự liên tục giữa
Nhưng, công cụ này hiện vẫn đang được nhà phát hành cảihiện Phiên bản mới sẽ tốt hơn nhiều bản cũ và cũng ít sai sóthơn
Quá nặng đối với ứng
dụng di động
Đối với mobile app, việc tải lại trang có thể hơi nặng khi sosánh với những web Hay có thể nói Framework Laravel quánặng đối với ứng dụng di động Đối với trường hợp này, nhàphát triển web nên dùng Framework như Backend JSONAPI
(Nguồn: https://fptcloud.com/laravel-la-gi/)
Trường Đại học Kinh tế Huế
Trang 381.3.3.4 Một số tính năng hữu ích
Ngoài những ưu điểm nổi bật, Laravel còn thu hút những lập trình viên bởi những
tính năng mà nó đem lại Dưới đây là một số tính năng chính giúp Laravel Framework
nổi bật hơn so với các Web Framework khác
- Tính quản lý phụ thuộc (Dependency Management): Đây là tính năng tốt nhất của
Laravel giúp quản lý các class phụ thuộc, loại bỏ những class được lập trình cứng và
dễ bị tấn công bằng cách sử dụng một số công cụ như Composer
- Tính Module: Bạn có thể phân chia các logic nghiệp vụ thành nhiều module khác
nhau, tất cả chúng sẽ cùng hoạt động để giúp website hoạt động Nhờ có tính năng
này, bạn có thể phát triển ứng dụng quy mô lớn một cách dễ dàng
- Tính xác thực: Đây là một tính năng không thể thiếu với bất kỳ trang web hiện
đại nào Đối với Laravel, bạn chỉ cần chạy một lệnh đơn giản là đã tạo được một hệ
thống xác thực với đầy đủ chức năng
- Tính năng Caching: Caching (bộ nhớ đệm) là kỹ thuật lưu trữ dữ liệu tạm thời và
có thể lấy ra một cách nhanh chóng Tính năng này được sử dụng để nâng cao hiệu
suất của website Laravel lưu trữ hầu hết tất cả dữ liệu từ View đến routes Nhờ đó
giúp Laravel giảm thời gian xử lý và tăng hiệu suất
- Tính định tuyến (Routing): Định tuyến Laravel được sử dụng để tạo ra ứng dụng tĩnh
một cách dễ dàng Bạn có thể phân nhóm các routes, đặt tên cho chúng và áp dụng các bộ
lọc, liên kết mô hình dữ liệu của bạn với chúng Các routes của Laravel còn có thể được
dùng để tạo các URL thân thiện với công cụ tìm kiếm nhờ tính linh hoạt và khả kiểm soát
tối đa
- Kiểm thử và gỡ lỗi: Laravel đi kèm với PHPUnit để giúp kiểm thử các ứng dụng
Laravel được xây dựng với khả năng kiểm thử đơn vị, do đó nó hỗ trợ kiểm thử và gỡ
lỗi
- Tính năng Database Query Builder: Tính năng này của Laravel cung cấp một
cách thuận tiện để tạo các truy vấn cơ sở dữ liệu Nó đi kèm với vô số chức năng giúp
bạn có thể sử dụng để lọc dữ liệu của mình
Trường Đại học Kinh tế Huế
Trang 39- Tính năng File System: Laravel cung cấp hỗ trợ nhiều hệ thống thông tin Bạn có
thể chọn hệ thống mình muốn sử dụng bằng cách thay đổi các tùy chọn trong tệp
config/filesystems.php
- Tính năng Envoy: Bạn có thể chạy các tác vụ phổ biến nhất trên máy chủ từ xa
trong ứng dụng của mình Ngoài ra nó cũng cho phép thiết lập các task để deploy
- Tính năng địa phương hóa: Laravel cho phép bạn tạo ứng dụng đa ngôn ngữ đồng
thời khi xây dựng website của mình Bạn có thể truy cập chuỗi các ngôn ngữ khác
nhau bằng cách sử dụng trình trợ giúp tran()
1.3.3.5 Cấu trúc của một thư mục Laravel
Khi bắt đầu với một dự án dù lớn hay nhỏ thì Laravel đều cung cấp một cấu trúc thư
mục gồm:
- App: Là thư mục ứng dụng và bao gồm toàn bộ mã nguồn của dự án Nó chứa
các sự kiện (Event), ngoại lệ (Exception) và khai báo Middleware
+ Console: Nơi bạn định nghĩa ra các lệnh của Laravel
+ Exceptions: Thư mục này chứa tất cả các phương thức cần thiết để xử lý các
ngoại lệ Nó cũng chứa tệp handle.php xử lý tất cả các trường hợp ngoại lệ
+ Http: Thư mục Http này chứa các thư mục con controllers, middleware Vì
Laravel tuân theo mô hình MVC nên thư mục này chứa các xử lý để xử lý request của
người dùng
+ Models: Chứa các Class định nghĩa các thành phần để thao tác với CSDL
+ Providers: Chứa tất cả các Service Provider Khởi động ứng dụng một cách bắt
buộc, đăng ký sự kiện hoặc thực hiện bất kỳ tác vụ nào khác để chuẩn bị ứng dụng của
bạn khi các yêu cầu đến
- Bootstrap: Thư mục bootstrap chứa tệp app.php khởi động khung Thư mục này
cũng chứa một thư mục bộ đệm chứa các tệp được tạo khung để tối ưu hóa hiệu suất,
chẳng hạn như tệp bộ đệm của tuyến đường và dịch vụ Bạn thường không cần phải
sửa đổi bất kỳ tệp nào trong thư mục này
Trường Đại học Kinh tế Huế
Trang 40- Config: Thư mục này chứa tất cả cấu hình (config) của hệ thống của bạn Nó
chứa sẵn các thông tin mặc định như cấu hình database, cache, …
- Database: Thư mục này chứa các thông tin về database migration, seeders
- Public: Thư mục public chứa file index.php, là nơi nhận tất cả các request tới ứng
dụng Thư mục này cũng chứa các nội dung của bạn như hình ảnh, JavaScript và CSS
- Resources: Thư mục tài nguyên chứa các view template của bạn cũng như các nội
dung thô (raw), chưa được biên dịch của bạn như CSS hoặc JavaScript Thư mục này
cũng chứa tất cả các tệp ngôn ngữ của bạn
- Routes: Thư mục routes chứa tất cả các định nghĩa routing cho ứng dụng của bạn
Mặc định, một số router được định nghĩa sẵn bao gồm: web.php, api.php, console.php
và channel.php
- Storage: Thư mục storage chứa các thông tin về log, các views blade đã biên
dịch, các file session, file cache và các file khác được tạo bởi framework
- Tests: Thư mục tests chứa các kiểm tra tự động (Automated Tests) Các mẫu