Tính cấp thiết của đề tài
Theo góc nhìn của một người mua hàng và cũng như là một trong những nạn nhân của đại dịch COVID-19 vừa qua, nhóm chúng em nhận thấy rằng cần bắt kịp xu hướng và cần có một công cụ để kết nối hai nhóm đối tượng là người bán và người mua với nhau sao cho mỗi đối tượng đều đạt kết quả một cách tốt nhất Để giải quyết vấn đề này, thông qua các kiến thức và công cụ đã được học, nhóm chúng em quyết định chọn đề tài “Xây dựng hệ thống bán hàng điện tử trực tuyến PNTech”.
Mục đích của đề tài
Mục tiêu được đặt ra cho đề tài là áp dụng những kiến thức đã được học để tạo ra một website sàn giao dịch thương mại điện tử có các tính năng như đăng ký, đăng nhập, đăng ký bán hàng, tìm kiếm sản phẩm,
Ngoài ra, ở phía người mua có thể sử dụng các tính năng như giỏ hàng, đặt hàng với đa dạng phương thức thanh toán và vận chuyển nhanh chóng Ởphía người bán có thể sử dụng đăng bán sản phẩm, tạo đơn giao hàng, thống kê doanh thu.
Cách tiếp cận và phương pháp nghiên cứu
Xây dựng trang web hệ thống bán hàng các thiết bị điện tử như điện thoại, laptop, phụ kiện…Trong thời đại thương mại điện tử ngày càng phát triển, việc ứng dụng vào hoạt động “Website bán hàng trực tuyến” đã mang lại nhiều ý nghĩa như:
- Đỡ tốn thời gian cho người tiêu dùng cũng như các người bán hàng trong việc tham gia vào hoạt động mua bán hàng.
- Giúp người tiêu dùng có được giá cả và hình ảnh mặt hàng một cách chính xác.
- Giúp các người bán hàng dễ dàng hơn trong việc quản lý sản phẩm.
- Nhà quản lý có thể thống kê sản phẩm bán chạy một cách nhanh nhất giúp cho
- Phương pháp nghiên cứu lý thuyết
● Các tài liệu liên quan đến nghiệp vụ quản lý bán hàng và bán hàng.
● Tìm hiểu về cơ sở lý thuyết Spring boot và ReactJS.
● Hiểu về cách thức hoạt động của Client - Server.
● Quan sát hoạt động của các web buôn bán thiết bị điện tử
- Phương pháp điều tra, phân tích
● Điều tra, phân tích tình trạng, sản phẩm,
● Phân tích thực trạng các trang web buôn bán hiện nay.
● Khảo sát thực trạng mua hàng thiết bị điện tử hiện nay.
Kết quả đạt được
Qua quá trình nghiên cứu và thực hiện đồ án tiểu luận chuyên ngành, đề tài chúng em đã giải quyết được các vấn đề sau:
- Xây dựng được hệ thống website sàn giao dịch thương mại điện tử kinh doanh thiết bị điện tử đáp ứng được yêu cầu của đề tài.
- Xây dựng hệ thống quản lý thông tin bán hàng.
- Xây dựng hệ thống người giao hàng
- Xây dựng hệ thống phân tích tình cảm nhằm đánh giá sản phẩm một cách khách quan cho người bán và người quản lý
- Xây dựng thành công các chức năng của hệ thống.
- Kết nối với hệ thống phân tích tình cảm thông qua Flask
- Vận hành ứng dụng với cơ chế Client - Server kết nối thông qua API giữa Spring boot và ReactJS.
- Triển khai web lên các dịch vụ hosting.
NỘI DUNG
Chương 1: CƠ SỞ LÝ THUYẾT
2 Chương 2: PHÁT TRIỂN HỆ THỐNG SÀN GIAO DỊCH THƯƠNG MẠI ĐIỆN TỬ
2.3 Phân tích và thiết kế hệ thống
4 Danh mục tài liệu tham khảo
STT Thời gian Công việc Ghi chú
1 13/02/2023 – + Tìm hiểu, khảo sát đề tài để phát
+ Thảo luận, đề ra các chức năng sẽ cải tiến và phát triển hệ thống
27/02/2023 + Lập kế hoạch thực hiện
3 28/02/2023 – + Phân tích hiện trạng và tái thiết kế
4 07/03/2023 – + Tái phân tích và thiết kế cơ sở dữ
+ Cập nhật cơ sở dữ liệu
5 21/03/2023 – + Thiết kế, xây dựng và cải tiền API
+ Thiết kế, xây dựng và cải tiến giao diện website
7 18/04/2023 – + Thu thập dữ liệu cho hệ thống phân
+ Tìm mô hình, huấn luyện và tích hợp phân tích cảm xúc vào hệ thống
8 13/06/2023 – + Tích hợp chức năng người giao hàng
26/06/2023 và một số chức năng khác
+ Tiến hành kiểm thử và xử lý lỗi của hệ thống theo như các yêu cầu đề ra
9 27/06/2023 – + Tiến hành viết báo cáo
10 04/07/2023 – + Hoàn thành báo cáo và hoàn chỉnh
Ngày tháng năm 202 Ý kiến của giáo viên hướng dẫn Người viết đề cương
(ký và ghi rõ họ tên)
LỜI CẢM ƠN 1 ĐỀ CƯƠNG LUẬN VĂN TỐT NGHIỆP 2
DANH MỤC TỪ VIẾT TẮT, THUẬT NGỮ 7
MỞ ĐẦU 14 Phần 1: MỞ ĐẦU 15
1 Tính cấp thiết của đề tài 15
2 Mục đích của đề tài 15
3 Cách tiếp cận và phương pháp nghiên cứu 15
1 Chương 1: CƠ SỞ LÝ THUYẾT 17
1.1.2 Tổng quan quan Restful API 18
2.2.1 Yêu cầu chức năng nghiệp vụ 26
2.2.2 Yêu cầu chức năng hệ thống 27
2.2.3 Danh sách yêu cầu phi chức năng 27
2.3 Phân tích và thiết kế hệ thống 29
2.3.1 Sơ đồ phân rã chức năng 29
2.3.3 Lược đồ tuần tự - sequence diagram 56
2.3.5.1 Giao diện phía người dùng 83
2.3.5.2 Giao diện phía người bán 103
2.3.5.3 Giao diện phía người giao hàng 109
2.3.5.4 Giao diện phía người quản trị 112
1.1 Những kết quả đạt được 120
DANH MỤC TÀI LIỆU THAM KHẢO 121
Admin Viết đầy đủ là Administrator: được hiểu là người quản trị, hoặc quản trị viên.
CMND/CCCD Chứng minh nhân dân/ Căn cước công dân
CNTT Công nghệ thông tin
CSDL hoặc DB Cơ sở dữ liệu: DataBase
HTTP Là viết tắt của từ HyperText Transfer Protocol: được hiểu là một giao thức lớp ứng dụng cho các hệ thống thông tin siêu phương tiện phân tán, cộng tác.
HQTCSDL = DBMS Hệ quản trị Cơ sở dữ liệu
J2EE Java 2 Platform, Enterprise Edition hay Java EE là một nền lập trình dành cho việc phát triển ứng dụng phân tán kiến trúc đa tầng, chủ yếu dựa vào các thành phần môđun chạy trên các máy chủ ứng dụng.
NSD = Users = Người Sử Dụng = là quyền làm việc trên WebApp được đảm bảo bởi tối thiểu là 2 yếu tố: tên đăng nhập Account (UserName) và mật khẩu (Password)
Phân tích tình cảm Là cách sử dụng xử lý ngôn ngữ tự nhiên, phân tích văn (Sentiment system) bản, ngôn ngữ học tính toán, và sinh trắc học để nhận diện, trích xuất, định lượng và nghiên cứu các trạng thái tình cảm và thông tin chủ quan một cách có hệ thống.
XML Là viết tắt của từ Extensible Markup Language: được hiểu là ngôn ngữ đánh dấu với mục đích chung do W3C đề nghị, để tạo ra các ngôn ngữ đánh dấu khác Đây là một tập con đơn giản của SGML, có khả năng mô tả nhiều loại dữ liệu khác nhau.
Chat Chat (hay còn gọi là trò chuyện) là hoạt động giao tiếp giữa hai hoặc nhiều người thông qua việc trao đổi các tin nhắn hoặc lời nói ngắn.
Hình 1.1 Kiến trúc Spring Framework 17
Hình 2.1 Sơ đồ phân rã chức năng 29
Hình 2.2 Lược đồ use case phía người dùng 30
Hình 2.3 Lược đồ use case phía người quản trị 31
Hình 2.4 Lược đồ use case phía người bán 31
Hình 2.5 Lược đồ use case phía người giao hàng 32
Hình 2.6 Lược đồ tuần tự chức năng đăng nhập với mật khẩu 56
Hình 2.7 Lược đồ tuần tự chức năng đăng nhập google 56
Hình 2.8 Lược đồ tuần tự chức năng đăng nhập facebook 57
Hình 2.9 Lược đồ tuần tự chức năng đăng nhập OTP 58
Hình 2.10 Lược đồ tuần tự chức năng đăng ký 59
Hình 2.11 Lược đồ tuần tự chức năng thanh toán khi đặt hàng 60
Hình 2.12 Lược đồ tuần tự chức năng lọc sản phẩm 61
Hình 2.13 Lược đồ tuần tự chức năng đánh giá sản phẩm với sentiment analysis 61
Hình 2.14 Lược đồ tuần tự chức năng cập nhật thông tin cá nhân 62
Hình 2.15 Lược đồ tuần tự chức năng xác nhận đơn hàng và tạo đơn giao hàng phía người bán 62
Hình 2.16 Lược đồ tuần tự chức năng thêm sản phẩm vào giỏ hàng 63
Hình 2.17 Lược đồ tuần tự chức năng áp dụng voucher 63
Hình 2.18 Lược đồ tuần tự chức năng quản lý giỏ hàng 64
Hình 2.19 Lược đồ tuần tự chức năng tìm kiếm sản phẩm 64
Hình 2.20 Lược đồ tuần tự chức năng thu phí người bán hàng 65
Hình 2.21 Lược đồ tuần tự chức năng đăng bán sản phẩm 65
Hình 2.22 Lược đồ tuần tự chức năng tra cứu đơn hàng 66
Hình 2.23 Chức năng nhận đơn hàng trong khu vực người giao hàng 66
Hình 2.24 Chức năng cập nhật đơn giao hàng của người giao hàng 67
Hình 2.25 Thiết kế cơ sở dữ liệu 68
Hình 2.33 C07 – Trang chi tiết sản phẩm 92
Hình 2.34 C08 – Form đánh giá sản phẩm 94
Hình 2.38 C12 – Trang tra cứu đơn hàng 99
Hình 2.39 C11 – Trang cửa hàng - sản phẩm 100
Hình 2.40 C11 – Trang cửa hàng - voucher 102
Hình 2.43 S02 – Trang màn hình chính 105
Hình 2.44 S03 – Trang quản lý sản phẩm 106
Hình 2.45 S04 – Trang quản lý đơn hàng 107
Hình 2.46 S05 – Trang quản lý đánh giá 107
Hình 2.47 S06 – Trang quản lý thư thông báo 108
Hình 2.49 S06 – Trang quản lý thư thông báo - Chi tiết 108
Hình 2.50 S07 – Trang đăng ký gói bán hàng 109
Hình 2.52 D02 – Trang danh mục đơn hàng 111
Hình 2.53 D03 – Trang quản lý đơn giao hàng 111
Hình 2.56 A03 - Trang màn hình chính 114
Hình 2.57 A04 – Trang quản lý người dùng 115
Hình 2.58 A05 – Trang quản lý sản phẩm 116
Hình 2.59 A06 – Trang quản lý đơn hàng 116
Hình 2.60 A07 – Trang quản lý đơn giao hàng 117
Bảng 2.1 Yêu cầu chức năng hệ thống 27
Bảng 2.2 Danh sách yêu cầu phi chức năng 27
Bảng 2.3 Xác định vai trò của các actor 29
Bảng 2.4 Use case đăng ký tài khoản với mật khẩu 32
Bảng 2.5 Use case đăng nhập email hoặc số điện thoại có mật khẩu 33
Bảng 2.6 Use case đăng nhập số điện thoại bằng otp 35
Bảng 2.7 Use case đăng nhập google, facebook 37
Bảng 2.8 Use case đăng xuất 39
Bảng 2.9 Use case tìm kiếm 40
Bảng 2.10 Use case lọc sản phẩm 41
Bảng 2.11 Use case sưu tập voucher 42
Bảng 2.12 Use case cập nhật thông tin cá nhân 44
Bảng 2.13 Use case đánh giá sản phẩm với sentiment analysis 45
Bảng 2.14 Use case xác nhận và tạo đơn giao hàng 46
Bảng 2.15 Use case thêm sản phẩm vào giỏ hàng 48
Bảng 2.16 Use case áp dụng voucher 49
Bảng 2.17 Use case tra cứu đơn hàng\ 50
Bảng 2.18 Use case quản lý giỏ hàng 52
Bảng 2.19 Use case đặt hàng 53
Bảng 2.20 Use case bán hàng 54
Bảng 2.24 Bảng tbl_category_brands 69
Bảng 2.26 Bảng tbl_comment_images 70
Bảng 2.28 Bảng tbl_description_categories 70
Bảng 2.36 Bảng tbl_order_discounts 75
Bảng 2.37 Bảng tbl_order_item 75
Bảng 2.38 Bảng tbl_order_item 76
Bảng 2.39 Bảng tbl_order_shop_discounts 76
Bảng 2.41 Bảng tbl_product_black_list 78
Bảng 2.42 Bảng tbl_product_descriptions 78
Bảng 2.43 Bảng tbl_product_images 79
Bảng 2.45 Bảng tbl_sale_products 80
Bảng 2.49 Bảng tbl_user_discounts 83
Bảng 2.50 Các đối tượng trên Master page - Header 83
Bảng 2.51 Các đối tượng trên Master page - Footer 84
Bảng 2.52 Các đối tượng trên Trang chủ 86
Bảng 2.53 Các đối tượng trên Trang đăng nhập 86
Bảng 2.54 Các đối tượng trên Trang đăng ký 87
Bảng 2.55 Các đối tượng trên Trang danh mục 90
Bảng 2.56 Các đối tượng trên Trang tìm kiếm 91
Bảng 2.57 Các đối tượng trên Trang chi tiết sản phẩm 92
Bảng 2.58 Các đối tượng trên Form đánh giá sản phẩm 94
Bảng 2.59 Các đối tượng trên Trang giỏ hàng 95
Bảng 2.60 Các đối tượng trên Trang đặt hàng 96
Bảng 2.61 Các đối tượng trên Trang tài khoản 98Bảng 2.62 Các đối tượng trên Trang tra cứu đơn hàng 99
Bảng 2.64 Các đối tượng trên Trang cửa hàng - voucher 102
Bảng 2.65 Các đối tượng trên Trang chat 103
Bảng 2.66 Các đối tượng trên Sidebar 104
Bảng 2.67 Các đối tượng trên Trang màn hình chính 105
Bảng 2.68 Các đối tượng trên Trang quản lý sản phẩm 106
Bảng 2.69 Các đối tượng trên Trang quản lý đơn hàng 107
Bảng 2.70 Các đối tượng trên Trang quản lý đánh giá 107
Bảng 2.71 Các đối tượng trên Trang quản lý thư thông báo 108
Bảng 2.72 Các đối tượng trên Trang đăng ký gói bán hàng 109
Bảng 2.73 Các đối tượng trên Sidebar 110
Bảng 2.74 Các đối tượng trên Trang danh mục đơn hàng 111
Bảng 2.75 Các đối tượng trên Trang quản lý đơn giao hàng 111
Bảng 2.76 Các đối tượng trên Trang đăng nhập 112
Bảng 2.77 Các đối tượng trên Sidebar 113
Bảng 2.78 Các đối tượng trên Trang màn hình chính 115
Bảng 2.79 Các đối tượng trên Trang quản lý người dùng 115
Bảng 2.80 Các đối tượng trên Trang quản lý sản phẩm 116
Bảng 2.81 Các đối tượng trên Trang quản lý đơn hàng 117
Bảng 2.82 Các đối tượng trên Trang quản lý đơn giao hàng 117
Bảng 2.83 Các đối tượng trên Trang quản lý danh mục 118
Bảng 2.84 Các đối tượng trên Trang quản lý nhãn hiệu 119 Đại dịch COVID-19 vừa qua khiến cho nhiều hoạt động của con người gần như bị đóng băng Tuy vậy, giãn cách xã hội và việc thường xuyên phải ở nhà lại mở ra cơ hội mới cho các hoạt động trực tuyến phát triển Theo kết quả khảo sát do Facebook và Bain & Company hợp tác thực hiện, trong năm 2021, 5 hoạt động trên không gian trực tuyến được người tiêu dùng Việt dành nhiều thời gian nhất chính là mạng xã hội, nhắn tin, xem video, thương mại điện tử và gửi email Do tình hình dịch bệnh, người dân không được đi ra ngoài, mua sắm online dường như là "cứu cánh" giúp người tiêu dùng đáp ứng những nhu cầu của bản thân.
Bên cạnh đó, công nghệ thông cũng phát triển nhanh chóng trong đại dịch ở khắp các mọi lĩnh vực Sau khi nghiên cứu những tình hình, chúng em quyết định thực hiện đề tài là “Phát triển hệ thống sàn giao dịch thương mại điện tử” Đây là một nơi người bán và người mua trao đổi hàng hóa qua không gian mạng với nhau Ngoài việc tạo ra những ngày siêu sale hàng tháng để kích thích mua sắm, việc kết hợp với các ứng dụng thanh toán điện tử, các ngân hàng số cũng là một cách hữu hiệu để người tiêu dùng thuận tiện hơn trong việc thanh toán sản phẩm và gia tăng các ưu đãi khi mua hàng trực tuyến.
1 Tính cấp thiết của đề tài
Theo góc nhìn của một người mua hàng và cũng như là một trong những nạn nhân của đại dịch COVID-19 vừa qua, nhóm chúng em nhận thấy rằng cần bắt kịp xu hướng và cần có một công cụ để kết nối hai nhóm đối tượng là người bán và người mua với nhau sao cho mỗi đối tượng đều đạt kết quả một cách tốt nhất Để giải quyết vấn đề này, thông qua các kiến thức và công cụ đã được học, nhóm chúng em quyết định chọn đề tài “Xây dựng hệ thống bán hàng điện tử trực tuyến PNTech”.
2 Mục đích của đề tài
Mục tiêu được đặt ra cho đề tài là áp dụng những kiến thức đã được học để tạo ra một website sàn giao dịch thương mại điện tử có các tính năng như đăng ký, đăng nhập, đăng ký bán hàng, tìm kiếm sản phẩm,
Ngoài ra, ở phía người mua có thể sử dụng các tính năng như giỏ hàng, đặt hàng với đa dạng phương thức thanh toán và vận chuyển nhanh chóng Ởphía người bán có thể sử dụng đăng bán sản phẩm, tạo đơn giao hàng, thống kê doanh thu.
3 Cách tiếp cận và phương pháp nghiên cứu Đối tượng nghiên cứu
Xây dựng trang web hệ thống bán hàng các thiết bị điện tử như điện thoại, laptop, phụ kiện…Trong thời đại thương mại điện tử ngày càng phát triển, việc ứng dụng vào hoạt động “Website bán hàng trực tuyến” đã mang lại nhiều ý nghĩa như:
- Đỡ tốn thời gian cho người tiêu dùng cũng như các người bán hàng trong việc tham gia vào hoạt động mua bán hàng.
- Giúp người tiêu dùng có được giá cả và hình ảnh mặt hàng một cách chính xác.
- Giúp các người bán hàng dễ dàng hơn trong việc quản lý sản phẩm.
- Nhà quản lý có thể thống kê sản phẩm bán chạy một cách nhanh nhất giúp cho
- Phương pháp nghiên cứu lý thuyết
● Các tài liệu liên quan đến nghiệp vụ quản lý bán hàng và bán hàng.
● Tìm hiểu về cơ sở lý thuyết Spring boot và ReactJS.
● Hiểu về cách thức hoạt động của Client - Server.
● Quan sát hoạt động của các web buôn bán thiết bị điện tử
- Phương pháp điều tra, phân tích
● Điều tra, phân tích tình trạng, sản phẩm,
● Phân tích thực trạng các trang web buôn bán hiện nay.
● Khảo sát thực trạng mua hàng thiết bị điện tử hiện nay.
Qua quá trình nghiên cứu và thực hiện đồ án tiểu luận chuyên ngành, đề tài chúng em đã giải quyết được các vấn đề sau:
- Xây dựng được hệ thống website sàn giao dịch thương mại điện tử kinh doanh thiết bị điện tử đáp ứng được yêu cầu của đề tài.
- Xây dựng hệ thống quản lý thông tin bán hàng.
- Xây dựng hệ thống người giao hàng
- Xây dựng hệ thống phân tích tình cảm nhằm đánh giá sản phẩm một cách khách quan cho người bán và người quản lý
- Xây dựng thành công các chức năng của hệ thống.
- Kết nối với hệ thống phân tích tình cảm thông qua Flask
- Vận hành ứng dụng với cơ chế Client - Server kết nối thông qua API giữa Spring boot và ReactJS.
- Triển khai web lên các dịch vụ hosting.
1 Chương 1: CƠ SỞ LÝ THUYẾT
Spring Framework (thường được gọi là Spring) là một framework mã nguồn mở nhằm phát triển J2EE dễ dàng hơn Spring Framework sử dụng nhiều kỹ thuật khác nhau như AOP (Aspect-Oriented Programming), POJO (Plain Old Java Object) và DI (dependency injection) để phát triển các ứng dụng doanh nghiệp.
Spring Framework được chia thành các module Có thể tùy chọn các module cần thiết cho ứng dụng Trọng tâm của các module là core container, bao gồm các mô hình cấu hình và cơ chế DI (dependency injection) Ngoài ra Spring Framework còn cung cấp hỗ trợ cơ bản cho các kiến trúc ứng dụng khác nhau.
1.1.2 Tổng quan quan Restful API
REST được định nghĩa là “REpresentational State Transfer” và được thiết kế để tận dụng các giao thức HTTP hiện có khi được sử dụng cho các API Web Nó rất linh hoạt ở chỗ nó không bị ràng buộc với tài nguyên hoặc phương thức và có khả năng xử lý các cuộc gọi và định dạng dữ liệu khác nhau Vì REST API không bị ràng buộc ở định dạng XML, nên nó có thể trả về nhiều định dạng khác tùy thuộc vào những gì cần thiết Nếu một dịch vụ tuân thủ phong cách này, thì nó được coi là một ứng dụng “ RESTful” REST cho phép các thành phần truy cập và quản lý các chức năng trong một ứng dụng khác.
API (hay Application Programming Interface) cung cấp phương thức tương tác giữa hai hệ thống.
Một RESTful API (hay Application Programming Interface) sử dụng các yêu cầu HTTP để GET, PUT, POST và DELETE dữ liệu theo các tiêu chuẩn REST Điều này cho phép hai phần mềm giao tiếp với nhau Về bản chất, REST API là một tập hợp các lệnh gọi từ xa sử dụng các phương thức tiêu chuẩn để trả về dữ liệu ở một định dạng cụ thể.