Tải bản đầy đủ (.docx) (104 trang)

Báo cáo đồ án tốt nghiệp đề tài Website bán diện thoại di động (năm 2022)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (8.74 MB, 104 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO

BỘ NÔNG NGHIỆP VÀ PTNT

PHÂN HIỆU TRƯỜNG ĐẠI HỌC THỦY LỢI
----------

LƯƠNG BỈNH KHANG

XÂY DỰNG WEBSITE BÁN ĐIỆN THOẠI DI ĐỘNG
BKPHONE KẾT HỢP VỚI TƯ VẤN KHÁCH HÀNG TỰ ĐỘNG

ĐỒ ÁN TỐT NGHIỆP

HỒ CHÍ MINH, NĂM 2022


BỘ GIÁO DỤC VÀ ĐÀO TẠO

BỘ NÔNG NGHIỆP VÀ PTNT

PHÂN HIỆU TRƯỜNG ĐẠI HỌC THỦY LỢI
----------

LƯƠNG BỈNH KHANG

XÂY DỰNG WEBSITE BÁN ĐIỆN THOẠI DI ĐỘNG
BKPHONE KẾT HỢP VỚI TƯ VẤN KHÁCH HÀNG TỰ ĐỘNG

Ngành: Công nghệ thông tin
Mã số: TLS106



NGƯỜI HƯỚNG DẪN: TS. Lê Trần Hữu Phúc

HỒ CHÍ MINH, NĂM 2022


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

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

NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP

Họ tên sinh viên: LƯƠNG BỈNH KHANG

Hệ đào tạo: Đại học chính quy

Lớp: S20-59TH01

Ngành: Công nghệ thông tin

Khoa: Công nghệ thông tin

Mã sinh viên: 1751061413

1. TÊN ĐỀ TÀI:

XÂY DỰNG WEBSITE BÁN ĐIỆN THOẠI DI ĐỘNG
BKPHONE KẾT HỢP VỚI TƯ VẤN KHÁCH HÀNG TỰ ĐỘNG
2. CÁC TÀI LIỆU CƠ BẢN:

[1] />[2] />[3] />[4] />[5] a/p/xay-dung-api-voi-laravel-djeZ1RjGlWz
[6] />[7] />[8] />[9] />

TxKTNP3iaJBDTZ/view


3. NỘI DUNG CÁC PHẦN THUYẾT MINH VÀ TÍNH TỐN:
Nội dung cần thuyết minh

Tỷ lệ %

Chương 1: Khảo sát hiện trang

10%

Chương 2: Phân tích và thiết hệ thống

20%

Chương 3: Xây dựng chương trình

55%

Chương 4: Kết luận

15%

4. BẢNG BIỂU VÀ SƠ ĐỒ
Đồ án tốt nghiệp bao gồm 27 bảng và 81 hình.
5. GIẢNG VIÊN HƯỚNG DẪN

Giảng viên hướng dẫn tồn bộ đồ án: TS. Lê Trần Hữu Phúc


6. NGÀY GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
Ngày ...... tháng ..... năm 2021
Trưởng Bộ môn

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

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

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

TS Lê Trần Hữu Phúc

TS. Lê Trần Hữu Phúc

Nhiệm vụ Đồ án tốt nghiệp đã được Hội đồng thi tốt nghiệp của Khoa thông qua
Ngày … tháng … năm 2022
Chủ tịch Hội đồng
(Ký và ghi rõ Họ tên)

PGS. TS Nguyễn Thanh Tùng

Sinh viên đã hoàn thành và nộp Đồ án tốt nghiệp cho Hội đồng thi ngày ... tháng ...
năm 2021
Sinh viên làm Đồ án tốt nghiệp
(Ký và ghi rõ Họ tên)

(Đã ký)


Lương Bỉnh Khang


LỜI CAM ĐOAN
Em xin cam đoan đây là Đồ án tốt nghiệp của bản thân em. Các kết quả trong Đồ án
tốt nghiệp này là trung thực, và không sao chép từ bất kỳ một nguồn nào và dưới bất
kỳ hình thức nào.Việc tham khảo các nguồn tài liệu (nếu có) đã được thực hiện trích
dẫn và ghi nguồn tài liệu tham khảo đúng quy định.

Tác giả ĐATN/KLTN
(Đã ký)

Lương Bỉnh Khang


LỜI CẢM ƠN
Để có thể hồn thành đồ án tốt nghiệp, trước hết em xin chân thành cảm ơn quý
thầy, cô giáo trong khoa Công Nghệ Thông Tin của Phân hiệu Trường đại học Thủy lợi
lời cảm ơn chân thành nhất.
Đồ án tốt nghiệp được hoàn thành dưới sự hướng dẫn tận tình của TS. Lê Trần
Hữu Phúc. Nhân dịp này, em xin đặc biết gửi lời cảm ơn sâu sắc đến thầy Lê Trần Hữu
Phúc đã tận tâm hướng dẫn em trong suốt quá trình làm đồ án tốt nghiệp.
Cuối cùng, đồ án tốt nghiệp chắc chắn sẽ không tránh khỏi những khiếm khuyết.
Vì vậy, em kính mong nhận được sự đóng góp ý kiến của các thầy cơ và các bạn sinh
viên để đồ án này được hoàn chỉnh hơn.
Vì kiến thức bản thân cịn hạn chế, trong q trình thực tập, hồn thiện báo cáo
này khơng tránh khỏi những sai sót, kính mong nhận được những ý kiến đóng góp từ
q thầy cơ để bài báo cáo này được hồn thiện hơn.
Hồ Chí Minh, ngày tháng 12 năm 2021

Sinh viên thực hiện

Lương Bỉnh Khang


TĨM TẮT NỘI DUNG ĐỒ ÁN
Nội dung chính của đồ án là xây dựng website bán điện thoại di động có các chức
năng cần thiết như khách hàng có thể tạo tài khoản và đăng nhập vào website, có thể
tìm kiếm và xem tin tức – bài viết. Đối với khách hàng đã đăng nhập thì có thể quản lý
tài khoản, mua hàng, bình luận và đánh giá. Người quản trị, thơng qua website có thể
quản lý tình hình của cửa hàng như: tình trạng kho hàng, doanh thu cửa hàng... qua đó
có thể đưa ra những chiến lược kinh doanh trong tương lai.
Một yêu cầu quan trọng về website bán điện thoại đi động là không những hệ
thống phải xử lý nhanh và chính xác mà cịn phải có giao diện bắt mắt thu hút khách
hàng. Do đó em đã quyết định sử dụng Laravel – một framework của PHP làm ngôn
ngữ xử lý logic; HTML, CSS và JavaScript là những ngôn ngữ dùng để thiết kế giao
diện. Thêm nữa em sử dụng kênh thanh toán Ngân Lượng làm kênh thanh tốn trực
tuyến và tiện ích mạng xã hội Facebook messenger làm kênh hỗ trợ trực tuyến để đảm
bảo hệ thống thân thiện nhất với người dùng.
Trên đây là các yêu cầu của hệ thống trong khuôn khổ của đồ án này. Tuy hệ
thống chỉ đáp ứng được các chức năng của một website thương mại điện tử cỡ nhỏ thích hợp cho kinh doanh bán lẻ theo cá nhân hoặc hộ gia đình, nhưng trong tương lai
em sẽ tiếp tục phát triển hệ thống thành một chuỗi các cửa hàng, xây dựng app mobile
cho hệ thống và đặc biệt phát triển các dịch vụ logistics.
Hồ Chí Minh, ngày tháng 12 năm 2021
Sinh viên thực hiện

Lương Bỉnh Khang


Mục Lục

LỜI CẢM ƠN..............................................................................................................1
TÓM TẮT NỘI DUNG ĐỒ ÁN..................................................................................1
BẢNG DANH MỤC CÁC TỪ VIẾT TẮT.................................................................3
DANH MỤC HÌNH ẢNH............................................................................................1
DANH MỤC BẢNG BIỂU..........................................................................................1
CHƯƠNG I. KHẢO SÁT HIỆN TRẠNG..................................................................1
1.1.

Đặt vấn đề.........................................................................................................1

1.2.

Thương mại điện tử Việt Nam..........................................................................2

1.3.

Mục tiêu và chức năng chính của hệ thống.......................................................3

1.4.

Định hướng giải quyết vấn đề...........................................................................4

1.5. Cơ sở lý thuyết.....................................................................................................4
1.5.1. Ngơn ngữ lập trình PHP................................................................................4
1.5.2. Laravel Framework.......................................................................................9
1.5.3. HTML, CSS và JavaScript..........................................................................11
1.5.4. Mơi trường phát triển ứng dụng..................................................................12
1.5.5. Thanh tốn ví điện tử Ngân Lượng..............................................................13
1.5.6. Kết luận.......................................................................................................16
CHƯƠNG II. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG......................................17

2.1. Các yêu cầu đặt ra cho hệ thống........................................................................17
2.2. Các tác nhân của hệ thống.................................................................................17
2.3. Biểu đồ Use case của hệ thống..........................................................................19
2.3.1. Biểu đồ Use case tổng quát..........................................................................19
2.3.2. Biểu đồ Use case chi tiết với từng tác nhân.................................................20
2.4. Các chức năng chính của hệ thống.....................................................................23
2.4.1. Chức năng “Đăng ký”.................................................................................23
2.4.2. Chức năng “Đăng nhập”..............................................................................26
2.4.3. Chức năng “Quên mật khẩu”.......................................................................29
2.4.4. Chức năng “Thay đổi thông tin tài khoản”..................................................31
2.4.5. Chức năng “Tìm kiếm”...............................................................................33


2.4.6. Chức năng “Sắp xếp và lọc”........................................................................34
2.4.7. Chức năng “Đánh giá và bình luận”............................................................36
2.4.8. Chức năng “Giỏ hàng”................................................................................37
2.4.9. Chức năng “Mua hàng và thanh toán”.........................................................40
2.4.10. Chức năng “Quản lý tài khoản”.................................................................43
2.4.11. Chức năng “Quản lý bài viết”....................................................................45
2.4.12. Chức năng “Quản lý sản phẩm”................................................................46
2.4.13. Chức năng “Quản lý đơn hàng”.................................................................49
2.4.14. Chức năng “Thống kê”..............................................................................51
2.4.15. Một số chức năng khác..............................................................................53
2.5. Thiết kế cơ sở dữ liệu........................................................................................54
2.5.1. Các bảng trong cơ sở dữ liệu.......................................................................54
2.5.2. Lược đồ quan hệ của các bảng (ERD).........................................................60
2.6. Kết luận.............................................................................................................61
CHƯƠNG III. XÂY DỰNG CHƯƠNG TRÌNH.....................................................62
3.1. Mơi trường triển khai ứng dụng.........................................................................62
3.2. Giao diện ứng dụng...........................................................................................63

3.2.1. Giao diện một số trang chính.......................................................................63
3.2.2. Giao diện một số chức năng........................................................................68
3.3. Kết luận.............................................................................................................85
CHƯƠNG IV. KẾT LUẬN........................................................................................86
4.1. Những kết quả đạt được.....................................................................................86
4.2. Kết quả chưa đạt được.......................................................................................86
4.3. Định hướng phát triển trong tương lai...............................................................87
TÀI LIỆU THAM KHẢO.........................................................................................88


BẢNG DANH MỤC CÁC TỪ VIẾT TẮT
Thuật ngữ viết tắt
Ý nghĩa
Mô tả
HTML
Hypertext Markup Language Ngôn ngữ đánh dấu siêu văn bản
Ngơn ngữ được sử dụng để tìm
và định dạng lại các phần tử
CSS
Cascading Style Sheets
được tạo ra bởi các ngôn ngữ
đánh dấu (HTML)
Ngơn ngữ lập trình đa mục đích,
ngơn ngữ kịch bản mã nguồn
PHP
Hypertext Preprocessor
mở, chạy ở phía server và được
dùng để tạo ra các ứng dụng web
CMS
Content Management System Hệ quản trị nội dung

ERD
Entity Relationship Diagram Mơ hình quan hệ các thực thể


DANH MỤC HÌNH ẢNH
Hình 1.1 Top 4 website thương mại điện tử ở Việt Nam
Hình 1.2 Doanh thu TMĐT bán lẻ Việt Nam từ 2016 – 2020
Hình 1.3 Tỷ lệ người dùng tham gia mua sắm trực tuyến so với năm 2019
Hình 1.4 Top các ngơn ngữ phổ biến 02/2021 – chỉ số PYPL
Hình 1.5 Top các PHP Framework phổ biến năm 2021
Hình 1.6 Quy trình Checkout tiêu chuẩn
Hình 1.7 Quy trình Checkout nâng cao
Hình 1.8 Quy trình Seamless Checkout
Hình 2.1 Các tác nhân của hệ thống
Hình 2.2 Các tác nhân của hệ thống
Hình 2.3 Biểu đồ Use case với tác nhân Guest
Hình 2.4 Biểu đồ Use case với tác nhân User và Online Payment
Hình 2.5 Biểu đồ Use case với tác nhân Admin
Hình 2.6 Biểu đồ Use case đăng ký
Hình 2.7 Biểu đồ hoạt động chức năng đăng ký
Hình 2.9 Biểu đồ hoạt động chức năng đăng nhập
Hình 2.10 Biểu đồ Use case chức năng quên mật khẩu
Hình 2.11 Biểu đồ hoạt động chức năng quên mật khẩu
Hình 2.12 Biểu đồ Use case thay đổi thơng tin tài khoản
Hình 2.13 Biểu đồ hoạt động chức năng thay đổi thông tin tài khoản
Hình 2.14 Biểu đồ Use case tìm kiếm
Hình 2.15 Biểu đồ hoạt động chức năng thay tìm kiếm
Hình 2.16 Biểu đồ Use case sắp xếp và lọc
Hình 2.17 Biểu đồ hoạt động chức năng sắp xếp và lọc
Hình 2.18 Biểu đồ Use case đánh giá và bình luận

Hình 2.19 Biểu đồ hoạt động chức năng đánh giá và bình luận
Hình 2.20 Biểu đồ Use case giỏ hàng
Hình 2.21 Biểu đồ hoạt động chức năng giỏ hàng
Hình 2.22 Biểu đồ Use case mua hàng và thanh tốn
Hình 2.23 Biểu đồ hoạt động chức năng mua hàng và thanh toán


Hình 2.24 Biểu đồ Use case quản lý tài khoản
Hình 2.25 Biểu đồ hoạt động chức năng quản lý tài khoản
Hình 2.26 Biểu đồ Use case quản lý bài viết
Hình 2.27 Biểu đồ hoạt động chức năng quản lý bài viết
Hình 2.28 Biểu đồ Use case quản lý sản phẩm
Hình 2.29 Biểu đồ hoạt động chức năng quản lý sản phẩm
Hình 2.30 Biểu đồ Use case quản lý đơn hàng
Hình 2.31 Biểu đồ hoạt động chức năng quản lý đơn hàng
Hình 2.32 Biểu đồ Use case thống kê
Hình 2.33 Biểu đồ hoạt động chức năng thống kê
Hình 2.34 Biểu đồ quan hệ (ERD) các bảng trong cơ sở dữ liệu
Hình 3.1 iNET cung cấp hosting và tên miền
Hình 3.2 Mơi trường thực tế triển khai ứng dụng
Hình 3.3 Giao diện trang chủ BKPhone
Hình 3.4 Giao diện trang quản trị BKPhone
Hình 3.5 Giao diện trang sản phẩm
Hình 3.6 Giao diện trang chi tiết sản phẩm
Hình 3.7 Giao diện trang tin tức
Hình 3.8 Giao diện trang chi tiết tin tức
Hình 3.9 Giao diện trang đăng nhập hệ thống
Hình 3.10 Thơng báo đăng nhập thành cơng cho tài khoản người dùng
Hình 3.11 Thơng báo đăng nhập thành cơng cho tài khoản quản trị
Hình 3.12 Giao diện trang đăng ký tài khoản

Hình 3.13 Giao diện đăng ký tài khoản thành công (chưa xác thực tài khoản)
Hình 3.14 Email kích hoạt tài khoản
Hình 3.15 Thơng báo kích hoạt tài khoản thành cơng
Hình 3.16 Giao diện trang quên mật khẩu
Hình 3.17 Email chức năng quên mật khẩu
Hình 3.18 Giao diện trang đặt lại mật khẩu
Hình 3.19 Giao diện chức năng tìm kiếm
Hình 3.20 Giao diện chức năng sắp xếp và lọc
Hình 3.21 Giao diện chức năng đánh giá và bình luận
Hình 3.22 Giao diện trang giỏ hàng


Hình 3.23 Giao diện giỏ hàng mini
Hình 3.24 Giao diện trang mua hàng
Hình 3.25 Giao diện trang thanh tốn online
Hình 3.26 Thơng báo mua hàng thành cơng
Hình 3.28 Giao diện trang quản lý tài khoản
Hình 3.29 Giao diện trang chi tiết tài khoản
Hình 3.30 Giao diện trang quản lý bài viết
Hình 3.31 Giao diện trang chỉnh sửa bài viết
Hình 3.32 Giao diện trang quản lý sản phẩm
Hình 3.33 Giao diện chức năng thêm sản phẩm mới
Hình 3.34 Giao diện chức năng quản lý đơn hàng của người tiêu dùng
Hình 3.35 Giao diện trang quản lý chi tiết đơn hàng
Hình 3.36 Giao diện chức năng in hóa đơn
Hình 3.37 Giao diện chức năng thông kê doanh thu theo các ngày trong một tháng
Hình 3.38 Giao diện chức năng thống kê doanh thu theo các tháng trong một năm
Hình 3.39 Giao diện chức năng in báo cáo
Hình 3.40 Giao diện chức năng tư vấn trả lời khách hàng tự động



DANH MỤC BẢNG BIỂU
Bảng 2.1 Bảng đặc tả Use case đăng ký
Bảng 2.2 Bảng đặc tả Use case đăng nhập
Bảng 2.3 Bảng đặc tả Use case quên mật khẩu
Bảng 2.4 Bảng đặc tả Use case thay đổi thông tin tài khoản
Bảng 2.5 Bảng đặc tả Use case tìm kiếm
Bảng 2.6 Bảng đặc tả Use case sắp xếp và lọc
Bảng 2.7 Bảng đặc tả Use case đánh giá và bình luận
Bảng 2.8 Bảng đặc tả Use case giỏ hàng
Bảng 2.9 Bảng đặc tả Use case mua hàng và thanh toán
Bảng 2.10 Bảng đặc tả Use case quản lý tài khoản
Bảng 2.11 Bảng đặc tả Use case quản lý bài viết
Bảng 2.12 Bảng đặc tả Use quản lý sản phẩm
Bảng 2.13 Bảng đặc tả Use case quản lý đơn hàng
Bảng 2.14 Bảng đặc tả Use case thống kê
Bảng 2.15 Cấu trúc dữ liệu bảng users
Bảng 2.16 Cấu trúc dữ liệu bảng products
Bảng 2.17 Cấu trúc dữ liệu bảng producers
Bảng 2.18 Cấu trúc dữ liệu bảng product_details
Bảng 2.19 Cấu trúc dữ liệu bảng porduct_images
Bảng 2.20 Cấu trúc dữ liệu bảng product_votes
Bảng 2.21 Cấu trúc dữ liệu bảng comments
Bảng 2.22 Cấu trúc dữ liệu bảng notices
Bảng 2.23 Cấu trúc dữ liệu bảng orders
Bảng 2.24 Cấu trúc dữ liệu bảng order_details
Bảng 2.25 Cấu trúc dữ liệu bảng payment_methods
Bảng 2.26 Cấu trúc dữ liệu bảng posts
Bảng 2.27 Cấu trúc dữ liệu bảng advertises



1

CHƯƠNG I. KHẢO SÁT HIỆN TRẠNG
Nội dung: Trong chương 1, em sẽ tìm hiểu về nhu cầu, thực trạng của thương mại
điện tử cũng như xây dựng các kênh giao tiếp, bán hàng, quản lý… Từ đó đưa ra mục
tiêu và chức năng chính của hệ thống, đưa ra hướng giải quyết vấn đề đặt ra, định
hướng các giải pháp cơng nghệ và tóm tắt cơ sở lý thuyết.
1.1. Đặt vấn đề
Xã hội ngày nay đang không ngừng phát triển, song song với đó xu hướng
thương mại điện tử ngày càng phát triển. Mọi việc giờ đây thật đơn giản, chỉ cần có
một chiếc máy tính hay thậm chí chỉ với một chiếc điện thoại thơng minh có kết nối
với internet, việc mua bán, trao đổi thương mại trở nên thật dễ dàng hơn bao giờ hết
với tất cả mọi người chỉ với một vài cái click chuột.
Với việc thương mại điện tử hóa, mọi rào cản về khơng gian địa lý hay thời gian
làm việc đều được xoá bỏ. Các sản phẩm được giới thiệu rõ dàng dành cho khơng chỉ
những người mua hàng ở khu vực đó mà trên cả đất nước Việt Nam, thậm chí là người
dân trên tồn thế giới. Người bán giờ đây khơng chỉ cịn ngồi một chỗ chờ khách hàng
tìm đến mà đã tích cực chủ động đứng lên và tìm đến khách hàng. Và khi số lượng
khách hàng tăng lên thì nó cũng tỉ lệ thuận với việc doanh thu sẽ tăng, đó chính là điều
mà mọi doanh nghiệp đều hướng tới.
Khơng chỉ dừng lại vậy, thương mại điện tử còn tạo ra những cơ hội làm ăn cho
những ai không đủ vốn bởi: bạn không phải mất tiền thuê mặt bằng ở những nơi đắt
đỏ, thuê nhân viên, đầu tư nhiều cho việc chạy quảng cáo… mà chỉ cần đầu tư, chăm
chút kỹ lưỡng cho một trang web thương mại điện tử với đầy đủ thông tin về doanh
nghiệp của bạn cũng như các tính năng hỗ trợ tìm kiếm mua hàng, đưa hình ảnh, thơng
tin về sản phẩm. Từ đó, khách hàng sẽ có thể tiếp cận thơng tin chủ động hơn, nhờ tư
vấn và mua bán dễ dàng, chính xác và nhanh gọn hơn. Với tình hình cạnh tranh cực kỳ
“khốc liệt” như hiện nay giữa các doanh nghiệp thì rất khó để có thể độc quyền một
sản phẩm nào, bởi vậy nơi chinh phục được khách hàng chính là nơi làm họ cảm thấy

thoải mái nhất, hài lòng nhất.
Bằng việc thương mại điện tử hóa, tất cả các doanh nghiệp từ lớn, vừa và nhỏ
đều có thể thoả sức sáng tạo, cạnh tranh công bằng. Những ý tưởng kinh doanh mới
táo bạo, những chiến lược tiếp thị, khuyến mại… đều có thể được áp dụng và hướng
trực tiếp đến khách hàng nhanh nhất mà không tốn quá nhiều chi phí bởi tất cả vẫn
được gói gọn trong một trang thương mại điện tử (website).
Trên những cơ sở đó, đồ án tốt nghiệp của em thực hiện đề tài “Xây dựng
website thương mại điện tử BKPhone” nhằm giải quyết các nhu cầu quảng bá và kinh
doanh sản phẩm hướng trực tiếp đến khách hàng trên mọi miền đất nước, thậm chí là
quốc tế.


2
1.2. Thương mại điện tử Việt Nam
Thương mại điện tử (E-Commerce) là hình thức kinh doanh trực tuyến sử dụng
nền tảng công nghệ thông tin với sự hỗ trợ của Internet để thực hiện các giao dịch mua
bán, trao đổi, thanh toán trực tuyến. Thương mại điện tử là xu hướng của thời đại tồn
cầu hóa, đây là lĩnh vực tiềm năng để các doanh nghiệp vừa và nhỏ sinh lợi và phát
triển, cơ hội cho những ai muốn khởi nghiệp kinh doanh theo mơ hình mới. Mơ hình
kinh doanh Thương mại điện tử được xem như một trong những giải pháp thúc đẩy sự
phát triển của nền kinh tế quốc gia.

Hình 1.1 Top 4 website thương mại điện tử ở Việt Nam

Theo báo cáo chỉ số Thương mại điện tử Việt Nam (EBI) 2020: “Quy mô thị
trường thương mại điện tử Việt Nam năm 2020 đạt 11,8 tỷ USD. So với năm 2019
(10,08 tỷ USD), tốc độ tăng trưởng đạt 18%, thấp nhất từ năm 2016 đến nay. Dịch
bệnh được cho là nguyên nhân khiến tốc độ tăng trưởng về quy mô thị trường không
cao như các năm 2019 (tăng trưởng 25%), 2018 (30%), 2017 (24%), 2016 (23%)”.
Việt Nam là thị trường thương mại điện tử năng động nhất ở Đông Nam Á. Báo

cáo cho biết tỷ lệ người mua sắm trực tuyến mới tại Việt Nam lên tới 41%, đứng số 1
khu vực, cao hơn mức của Indonesia, Philippines (cùng 37%) và mức trung bình của
các quốc gia Đơng Nam Á (36%).

Hình 1.2 Doanh thu TMĐT bán lẻ Việt Nam từ 2016 – 2020


3
Tỷ lệ người sử dụng Internet tham gia mua sắm trực tuyến cũng tăng từ 77% năm
2019 lên con số 88% vào năm 2020.
Theo Sách trắng thương mại điện tử Việt Nam: “Một điểm thay đổi trong hành vi
mua sắm của người tiêu dùng năm qua là sự chuyển dịch kênh mua sắm trực tuyến.
Theo đó, thống kê của Cục Thương mại điện tử và Kinh tế số cho thấy khách hàng tại
Việt Nam chuyển dịch sang mua sắm chủ yếu trên các website, sàn giao dịch thương
mại điện tử. Cụ thể, năm 2020 có tới 74% người mua sắm trên kênh website, sàn giao
dịch thương mại điện tử trong khi mua trên diễn đàn và các mạng xã hội đạt 33%”.

Hình 1.3 Tỷ lệ người dùng tham gia mua sắm trực tuyến so với năm 2019

Tỷ lệ này chênh lệch đáng kể so với con số năm 2019 là 52% trên kênh thương
mại điện tử và 57% trên mạng xã hội. Như vậy chỉ sau 1 năm, thói quen shopping của
người Việt thay đổi chóng mặt với sự tin tưởng đặt vào các website thương mại điện tử
(tỷ lệ người mua tăng từ 52% lên 74%).
Dự đoán trong 10 năm sắp tới xu hướng mua sắm trên các nền tảng Thương mại
điện tử sẽ phát triển mạnh mẽ thay thế dần các mơ hình kinh doanh truyền thống.
1.3. Mục tiêu và chức năng chính của hệ thống
Để có một website bán hàng online chắc hẳn giao diện của trang web là một điều
vô cùng quan trọng, giao diện cần phải thân thiện với cả máy tính cũng như thiết bị di
động, dễ sử dụng, bắt mắt và hướng đến thị hiếu cũng như cảm nhận của khách hàng.
Bên cạnh đó, website cần phải có tốc độ xử lý nhanh, chính xác, hiệu quả và tiện lợi

cho cả người mua cũng như người bán - chủ website.
Website cần có các chức năng cơ bản của các trang thương mại điện tử như:
Người mua có thể đăng kí và đăng nhập vào hệ thống để quản lý tài khoản, giỏ hàng,
đơn hàng, tương tác với hệ thống như đánh giá, bình luận hay gửi tin nhắn. Bên cạnh
sử phát triển của mạng xã hội như Google+ hay Facebook thì việc tích hợp vào hệ
thống là một lợi thế của website. Việc tích hợp thanh tốn điện tử là một chức năng
khơng thể thiếu đối với các trang web thương mại điện tử. Về phía của hàng, người
quản trị website có thể quản lý tất cả nội dung của trang web như là tạo các áp phích
quảng cáo cho từng sản phẩm, tạo bài viết thu hút khách hàng, quản lý sản phẩm trong
kho, quản lý đơn hàng, thông kê doanh số bán hàng...


4
Một website thương mại điện tử luôn luôn phải hướng đến khách hàng, do vậy sử
dụng các yếu tố tương tác trong trang web là một điều quan trọng, cần sử dụng các
hình ảnh mơ phỏng sản phẩm đẹp và chất lượng hay những đoạn video hoặc các
phương tiện truyền thông xã hội là một trong những yếu tố tương tác phổ biến nhất cần
phải nghĩ đến khi thiết kế website bán hàng.
Trên đây là các vấn đề đặt ra để xây dựng một hệ thống bán hàng trực tuyến trên
Internet trong khuôn khổ của đồ án tốt nghiệp.
1.4. Định hướng giải quyết vấn đề
Dựa trên cơ sở mục tiêu và chức năng chính của hệ thống, cùng với thời gian làm
việc trực tiếp cũng ngôn ngữ PHP và sự đồng ý của thầy TS. Lê Trần Hữu Phúc, em đã
quyết định sử dụng ngôn ngữ PHP là ngôn ngữ chính sử lý logic của hệ thống. Kết hợp
với một số ngôn ngữ như HTML, CSS, Javascript... để thiết kế giao diện. Về thanh
toán điện tử, em sử dụng API thanh tốn điện tử của ví Ngân Lượng – một kênh thanh
toán online phổ biến nhất nước ta với khả năng bảo mật và nhiều phương thúc thanh
toán tiện lợi cho người dùng. Kết hợp với một số tiện ích của mạng xã hôi như
Google+ và Facebook hứa hẹn sẽ đem đến cho khách hàng sự tiện lợi và thoải mãi khi
sử dụng hệ thống.

Với việc sử dụng các ngôn ngữ lập trình phổ biến và các tiện ích mạng xã hội
kèm theo đã được chứng minh tính hiệu quả qua các website lớn, em tự tin khảng định
hệ thống có thể đáp ứng hồn tồn các u cầu đặt ra.
1.5. Cơ sở lý thuyết
1.5.1. Ngơn ngữ lập trình PHP
1.5.1.1. Giới thiệu
PHP là viết tắt của từ “PHP: Hypertext Preprocessor”, đây là một ngơn ngữ lập
trình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết
cho máy chủ, mã nguồn mở, mục tiêu chính của ngơn ngữ là cho phép các nhà phát
triển viết ra các trang web động một cách nhanh chóng. Nó rất phù hợp để phát triển
web và có thể dễ dàng nhúng vào các trang HTML. Do được tối ưu hóa cho các ứng
dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java, 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 nên PHP đã nhanh
chóng trở thành một ngơn ngữ lập trình web phổ biến nhất thế giới.


5
1.5.1.2. Lịch sử hình thành và phát triển
PHP được phát triển từ một sản phẩm có tên là PHP/FI do Rasmus Lerdorf tạo ra
năm 1994, ban đầu được xem như là một tập con đơn giản của các mã kịch bản Perl để
theo dõi tình hình truy cập đến bản sơ yếu lý lịch của ông trên mạng. Vào tháng 11
năm 1997, PHP/FI 2.0 được chính thức cơng bố, sau một thời gian khá dài chỉ được
công bố dưới dạng các bản beta. Nhưng khơng lâu sau đó, nó đã được thay thế bởi các
bản alpha đầu tiên của PHP 3.0 – phiên bản đầu tiên cho chúng ta thấy một hình ảnh
gần gũi với các phiên bản PHP mà chúng ta được biết ngày nay.
PHP 3.0 đã chính thức được công bố vào tháng 6 năm 1998, sau thời gian 9 tháng
được cộng đồng kiểm nghiệm. PHP 3.0 đã được Andi Gutmans và Zeev Suraski tạo ra
sau khi viết lại hồn tồn bộ mã nguồn trước đó. Lý do chính mà họ đã tạo ra phiên
bản này là do họ nhận thấy PHP/FI 2.0 hết sức yếu kém trong việc phát triển các ứng
dụng thương mại điện tử mà họ đang xúc tiến trong một dự án của trường đại học. Một

trong những sức mạnh lớn nhất của PHP 3.0 là các tính năng mở rộng mạnh mẽ của
nó. Ngoài khả năng cung cấp cho người dùng cuối một cơ sở hạ tầng chặt chẽ dùng
cho nhiều cơ sở dữ liệu, giao thức và API khác nhau, các tính năng mở rộng của PHP
3.0 đã thu hút rất nhiều nhà phát triển tham gia và đề xuất các mô đun mở rộng mới.
Tháng 5 năm 2000, gần 2 năm sau khi bản PHP 3.0 ra đời, phiên bản PHP 4.0
chính thức được cơng bố. Ngồi tốc độ xử lý được cải thiện rất nhiều, PHP 4.0 đem
đến các tính năng chủ yếu khác gồm có sự hỗ trợ nhiều máy chủ Web hơn, hỗ trợ
phiên làm việc HTTP, tạo bộ đệm thông tin đầu ra, nhiều cách xử lý thông tin người sử
dụng nhập vào bảo mật hơn và cung cấp một vài các cấu trúc ngôn ngữ mới. Với PHP
4, số nhà phát triển dùng PHP đã lên đến hàng trăm nghìn và hàng triệu site đã cơng bố
cài đặt PHP, chiếm khoảng 20% số tên miền trên mạng Internet.
Sau sự thành công của PHP 4.0, ngày 13 tháng 7 năm 2004 PHP 5.0 chính thức ra
mắt sau một thời gian khá dài tung ra các bản kiểm tra thử bao gồm Beta, RC. Mặc dù
coi đây là phiên bản sản xuất đầu tiên nhưng PHP 5.0 vẫn cịn một số lỗi trong đó đáng
kể là lỗi xác thực HTTP. Ngày 14 tháng 7 năm 2005, PHP 5.1 Beta 3 được PHP Team
cơng bố đánh dấu sự chín muồi mới của PHP với sự có mặt của PDO, một nỗ lực trong
việc tạo ra một hệ thống API nhất quán trong việc truy cập cơ sở dữ liệu và thực hiện
các câu truy vấn. Ngoài ra, trong PHP 5.1, các nhà phát triển PHP tiếp tục có những
cải tiến trong nhân Zend Engine 2, nâng cấp mô đun PCRE lên bản PCRE 5.0 cùng
những tính năng và cải tiến mới trong SOAP, streams và SPL.
Hiện nay phiên bản tiếp theo của PHP đang được phát triển, Phiên bản PHP 6
được kỳ vọng sẽ lấp đầy những khiếm khuyết của PHP ở phiên bản hiện tại, như là: hỗ
trợ namespace, hỗ trợ Unicode, sử dụng PDO làm API chuẩn cho việc truy cập cơ sở
dữ liệu, các API cũ sẽ bị đưa ra thành thư viện PECL... Phiên bản 6 này chỉ dùng ở
việc nghiên cứu và thử nghiệm. PHP 7 với việc sử dụng bộ nhân Zend Engine mới
PHPNG cho tốc độ nhanh gấp 2 lần. Ngoài ra ở phiên bản này còn thêm vào rất nhiều


6
cú pháp, tính năng mới giúp cho PHP trở nên mạnh mẽ hơn. Những tính năng mới

quan trọng có thể kể đến như: khai báo kiểu dữ liệu cho biến, xác định kiểu dữ liệu sẽ
trả về cho 1 hàm, thêm các toán tử mới...
1.5.1.3. Ưu điểm của PHP
PHP là ngơn ngữ mã nguồn mỡ, có thể chạy được trên cả Apache và IIS do đó so
với ASP.NET thì nó phổ biến nhiều hơn, điều đó được minh chứng bằng số lượng các
website được thiết kế bằng ngôn ngữ PHP hiện nay. Cấu trúc PHP cực kỳ đơn giản,
vậy nên bạn sẽ khơng mất nhiều thời gian để có thể học được. Một khi đã làm chủ
được HTML và C, bạn hồn tồn có thể làm chủ được ngơn ngữ lập trình này.
Thư viện của PHP vơ cùng phong phú, hệ thống CMS miễn phí dùng tương đối
nhiều, cũng như được cộng đồng hỗ trợ một cách vô cùng mạnh mẽ. Vậy nên bạn có
thể dễ dàng tìm nguồn tài liệu mình cần cũng như có thể nhận được sự hỗ trợ một cách
nhanh nhất.
Do chạy được trên máy chủ Apache và thường đi cặp cùng với hệ quản trị cơ sở
dữ liệu MySQL nên việc cài đặt môi trường phát triển vô cùng đơn giản, thông qua
một bộ cài đặt duy nhất như là: XAMPP trên windows và linux, MAMP trên MacOS...

Hình 1.4 Top các ngơn ngữ phổ biến 02/2021 – chỉ số PYPL

1.5.1.4. PHP Framework
Framework là một bộ mã nguồn được xây dựng, phát triển và đóng gói – phân
phối bởi các chuyên gia lập trình hoặc bởi các cơng ty lập trình. Nó sẽ cung cấp một
cấu trúc phát triển chuẩn để các developer dựa vào đó xây dựng và phát triển các dự
án. Đi kèm theo nó là một kho thư viện gồm nhiều lớp/hàm xử lý được đặt trong các
packages hoặc namespace riêng. Các chuyên gia lập trình sử dụng nhiều kỹ thuật lập
trình và giải thuật/thuật toán để xây dựng các lớp xử lý một cách tối ưu nhất, giải


7
quyết các bài tốn lập trình nhanh chóng và chính xác. Các lớp trong một framework
sẽ làm việc tốt nhất với cấu trúc chuẩn mà framework đó cung cấp.

Nhắc đến sự hỗ trợ mạnh mẽ của cộng đồng cho ngôn ngữ lập trình PHP thì chắc
chắn phải kể tới sự đa dạng của các PHP Framework: Laravel, Symfony, Codeigniter,
CakePHP... Các PHP Framework đều được xây dựng theo chuẩn mơ hình MVC
(Model – View – Controller) và cung cấp rất nhiều lớp hỗ trợ xử lý về bảo mật, phân
quyền, captcha, view helper, module manager, database, service… khi đó các lập trình
viên sẽ xây dựng, phát triển website một cách dễ dàng và nhanh chóng.
PHP framework 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 1 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 đỡ các bạn thúc đẩy
nhanh chóng q 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, và giảm thiểu số lần phải viết lại mã cho lập trình viên. Ngồi
ra Framework cịn giúp những người mới bắt đầu có thể xây dựng các ứng dụng ổn
định hơn nhờ việc tương tác chính xác giữa các Database, mã (PHP) và giao diện
(HTML) một cách riêng biệt. Điều này cho phép bạn dành nhiều thời gian để tạo ra
các ứng dụng web, hơn là phí thời gian để viết các đoạn mã lặp lại trong một project.
Ý tưởng chung đằng sau cách thức làm việc của một PHP framework được kể
đến là Model View Controller (MVC). MVC là 1 mơ hình (kiến trúc) trong lập trình,
cho phép tách biệt các mã nghiệp vụ (business logic) và giao diện (UI) thành các phần
riêng biệt, điều này đồng nghĩa với việc ta có thể chỉnh sửa chúng 1 cách riêng lẻ.
Trong cụm từ MVC thì: Model (M) có thể hiểu là phần xử lý các thao tác về nghiệp vụ
(business logic), View (V) được hiểu là phần xử lý lớp giao diện (presentation layer),
và Controller (C) làm nhiệm vụ lọc các request đc gọi từ user, có chức năng như 1
route: điều chỉnh, phân luồng các yêu cầu để gọi đúng Model & View thích hợp. Về cơ
bản, MVC chia nhỏ quá trình xử lý của 1 ứng dụng, vì thế nên bạn có thể làm việc trên
từng thành phần riêng lẻ, trong khi những thành phần khác sẽ không bị ảnh hưởng tới.
Thực chất, điều này giúp đỡ bạn lập trình PHP nhanh hơn và ít phức tạp hơn.
Trong vài năm qua, PHP đã tiến triển thành 1 ngôn ngữ script được lựa chọn bời
hầu hết các nhà phát triển website, đã có 1 sự bùng nổ về các PHP framework, dẫn đến
các cuộc tranh luận lớn về đề tài: PHP framework nào là tốt nhất, bởi vì thực tế không
phải tất cả các framework đều được xây dựng trên khuôn khổ dành cho nhiều người sử

dụng. Dưới đây là 3 framework được đánh giá là tốt và phổ biến nhất hiện nay:


8

Hình 1.5 Top các PHP Framework phổ biến năm 2021

Laravel
Laravel ra mắt vào cuối tháng 04-2011 nhưng đã gây được sự chú ý lớn đối với
cộng đồng PHP framework. Laravel được tạo ra bởi Taylor Otwell. Nó là 1 framework
khá mới mẻ nhưng bù lại nó có “hướng dẫn sử dụng” (Document) khá đầy đủ, rõ ràng
và dễ hiểu và nhiều ưu điểm hấp dẫn. Chính vì nó ra đời sau, khắc phục được những
thiếu xót của các framework đàn anh, nên nó đang nắm giữ vị trí số một về độ phổ
biến hiện nay với nhiều tính năng mạnh mẽ:
- Route trong Laravel thật sự khác biệt, mới mẻ và đầy mạnh mẻ. Mọi url đều có
thể quản lý trong file route.
- Master layout được tích hợp sẵn cùng Blade template giúp code của chúng ta
trên nên gọn gàng và tiện dụng. Các file layout có thể dẽ dàng extend của nhau giúp
code ngắn gọn, dễ quản lý.
- Migration quản lý database thật dễ dàng khi làm việc đội nhóm.
- Eloquent class đầy mạnh mẽ nổi bật khi xử lý cơ sở dữ liệu quan hệ 1–N và N–
N, tối ưu tất cả các câu truy vấn.
- Composer quản lý và tích hợp các thư viện khác thật hay và khơng lo lắng khi
thư viện đó bị thay đổi, laravel có đầy đủ các thư viện cơ bản đủ để thực hiện mọi yêu
cầu của chúng ta.
- Document dễ đọc, dễ hiểu và có đầy đủ các ví dụ. Tuy ra đời muộn hơn các
framework khác nhưng laravel lại có hướng dẫn chi tiết và đầy đủ ví dụ ngay tại trang
chủ, các ví vụ để đọc đễ hiểu, cộng đồng phát triển rộng lớn và luôn luôn được update
kịp thời
- Eloquent ORM: đây là một ORM tuyệt vời với khả năng migration data và làm

việc tốt với MySQL, Postgres, SQL Server và SQLite, MongoDB. Các câu truy vấn
database dễ hiểu, nhanh chóng.
- Package-libery phong phú, đa dạng, đáp ứng được hầu hết các nhu cầu cơ bản
của chúng ta.


9
- User authentication được tích hợp sẵn, lập trình viên chỉ cần gọi class là có thể
sử dụng theo ý muốn.
1.5.2. Laravel Framework
1.5.2.1. Giới thiệu
Laravel ra mắt vào cuối tháng 04-2011 nhưng đã gây được sự chú ý lớn đối với
cộng đồng PHP framework. Laravel được tạo ra bởi Taylor Otwell. Nó là 1 framework
khá mới mẻ nhưng bù lại nó có “hướng dẫn sử dụng” ( Document ) khá đầy đủ, rõ
ràng và dễ hiểu và nhiều ưu điểm hấp dẫn. Nếu bạn đã từng làm việc với các
framework khác hoặc chỉ là người mới bắt đầu tìm hiểu php framework thì việc tiếp
cận laravel framework khơng phải là vấn đề khó khăn gì. Laravel Framework vẫn sử
dụng cấu trúc MVC và trên nền tảng lập trình hướng đối tượng OOP đồng thời kế thừa
được sức mạnh của các đàn anh và đem đến những tính năng mới của PHP 5.3 trở lên.
Nhưng cũng chính vì ra đời muộn màng như thế đã buộc nó phải học hỏi cái hay
từ các PHP Framework đàn anh đi trước, khắc phục những thiếu xót của các
framework khác như symfony (laravel dùng thư viện của symfony) và đặc biệt là CI.
Không những học hỏi từ các PHP Framework, nó cịn học cái hay từ Ruby on Rails,
ASP.NET MVC, và Sinatra.
Vào khoảng Tháng 3 năm 2015, các lập trình viên đã có một cuộc bình chọn PHP
framework phổ biến nhất, Laravel đã giành vị trí quán quân cho PHP framework phổ
biến nhất năm 2015, theo sau lần lượt là Symfony2, Nette, CodeIgniter, Yii2 vào một
số khác. Trước đó, Tháng 8 năm 2014, Laravel đã trở thành project PHP phổ biến nhất
và được theo dõi nhiều nhất trên Github. Laravel được phát hành theo giấy phép MIT,
với source code được lưu trữ tại Github.

1.5.2.2. Lịch sử hình thành và phát triển
Bản phát hành beta đầu tiên của Laravel được phát hành vào ngày 9 tháng 6 năm
2011, tiếp theo là bản phát hành Laravel 1 sau đó trong cùng một tháng. Laravel 1 bao
gồm hỗ trợ tích hợp cho xác thực, bản địa hóa (localisation), models, views, sessions,
định tuyến (routing) và các cơ chế khác, nhưng thiếu hỗ trợ cho các bộ điều khiển
(controller) ngăn cản nó trở thành một MVC framework thực sự.
Laravel 2 được phát hành vào tháng 9 năm 2011, mang lại nhiều cải tiến khác
nhau từ tác giả và cộng đồng. Các tính năng chính mới bao gồm sự hỗ trợ cho các bộ
điều khiển (controller), nó đã làm cho Laravel 2 trở thành một framework tuân thủ đầy
đủ MVC, hỗ trợ sẵn cho nguyên lý điều khiển (IoC) và một hệ thống templating gọi là
Blade. Hỗ trợ cho các gói của bên thứ ba (third-party packages) đã được gỡ bỏ trong
Laravel 2.
Laravel 3 được phát hành vào tháng 2 năm 2012 với một loạt các tính năng mới
bao gồm giao diện dịng lệnh – command-line interface (CLI) có tên Artisan, hỗ trợ


×