XÂY DỰNG WEBSITE THƯƠNG MẠI ĐIỆN TỬ VỚI SPRING BOOT VÀ REACTJS

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 93

TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI

KHOA CÔNG NGHỆ THÔNG TIN

XÂY DỰNG WEBSITE THƯƠNG MẠI ĐIỆN TỬ


VỚI SPRING BOOT VÀ REACTJS

KHUẤT TÙNG LÂM

Hà Nội – Năm 2024


TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN

XÂY DỰNG WEBSITE THƯƠNG MẠI ĐIỆN TỬ


VỚI SPRING BOOT VÀ REACTJS

KHUẤT TÙNG LÂM

Ngành đào tạo : Công nghệ thông tin


Người hướng dẫn : ThS. Trương Mạnh Đạt

Hà Nội – Năm 2024


CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc

BẢN CAM ĐOAN

Tên tôi là: Khuất Tùng Lâm

Mã sinh viên: 20111063326 Lớp: ĐH10C9

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

Tôi đã thực hiện khóa luận tốt nghiệp với đề tài: Xây dựng website thương
mại điện tử với Spring boot và ReactJS.
Tôi xin cam đoan đây là đề tài nghiên cứu của riêng tôi và được sự hướng
dẫn của ThS.Trương Mạnh Đạt. Các nội dung nghiên cứu, kết quả trong đề tài này
là trung thực và chưa được công bố dưới bất kỳ hình thức nào. Nếu phát hiện có bất
kỳ hình thức gian lận nào tôi xin hoàn toàn chịu trách nhiệm trước pháp luật.

Hà Nội, ngày tháng năm 2024

Cán bộ hướng dẫn Sinh viên

Trương Mạnh Đạt Khuất Tùng Lâm


LỜI CẢM ƠN

Để hoàn thành được đề tài Khóa luận tốt nghiệp này, trước hết em xin gửi
lời cảm ơn chân thành nhất đến các Cán bộ Giảng viên Khoa Công nghệ Thông tin,
các cán bộ giảng viên trong Trường Đại học Tài nguyên Môi trường Hà Nội đã tận
tình giảng dạy và truyền đạt kiến thức cho em. Đồng thời em xin gửi lời cảm ơn đặc
biệt về sự chỉ dạy, hướng dẫn tận tình của ThS. Trương Mạnh Đạt đã luôn tận tình
hướng dẫn, giúp đỡ em trong suốt thời gian thực hiện Khóa luận.
Em cũng xin gửi lời cảm ơn tới Khoa Công nghệ Thông tin – Trường Đại Học
Tài nguyên Môi trường Hà Nội đã luôn quan tâm và tạo điều kiện giúp em hoàn
thành đề tài Khóa luận tốt nghiệp này. Ngoài ra, em xin cảm ơn những người bạn đã
giúp đỡ và trao đổi thêm nhiều thông tin về đề tài trong quá trình thực hiện đề tài
này.
Cuối cùng em vô cùng biết ơn gia đình và bạn bè, những người đã luôn luôn ở
bên cạnh em, động viên, chia sẻ với em trong suốt thời gian thực đề tài Khóa luận
tốt nghiệp “Xây dựng website thương mại điện tử với Spring Boot và ReactJs”.
Do kiến thức còn hạn chế, bài báo cáo của em không tránh khỏi những sai sót.
Rất mong nhận được những lời góp ý từ quý Thầy cô để Khóa luận tốt nghiệp của
em được hoàn thiện và giúp em có thêm những kinh nghiệm quý báu.
Cuối cùng, em xin kính chúc các thầy cô giảng viên trường Đại học Tài
nguyên và Môi trường Hà Nội nói chung, các thầy cô khoa công nghệ thông tin nói
riêng dồi dào sức khỏe và thành công trong sự nghiệp cao quý.
Hà Nội, tháng năm
Sinh viên thực hiện
Khuất Tùng Lâm
MỤC LỤC

BẢN CAM ĐOAN......................................................................................................i

LỜI CẢM ƠN...........................................................................................................ii

DANH MỤC CÁC CHỮ VIẾT TẮT...................................................................viii

DANH MỤC CÁC BẢNG.......................................................................................ix

DANH MỤC HÌNH ẢNH........................................................................................xi

MỞ ĐẦU....................................................................................................................1

1. Lý do chọn đề tài.....................................................................................................1

2. Mục tiêu của đề tài..................................................................................................1

3. Nội dung nghiên cứu...............................................................................................1

4. Phương pháp nghiên cứu........................................................................................2

5. Kết quả đạt được.....................................................................................................2

6. Bố cục của Khóa luận.............................................................................................2

CHƯƠNG 1: TÌM HIỂU VỀ CƠ SỞ LÝ THUYẾT.............................................3

1.1. Tổng quan về hệ thống thương mại điện tử.......................................................3

1.1.1. Giới thiệu về thương mại điện tử...............................................................3

1.1.2. Lợi ích của thương mại điện tử.................................................................3

1.1.3. Các loại hình thương mại điện tử phổ biến ở Việt Nam............................4

1.2. Tổng quan về Spring Framework.......................................................................5

1.2.1. Giới thiệu về Spring..................................................................................5

1.2.2. Giới thiệu về Spring Boot..........................................................................5

1.2.3. Ưu điểm của Spring Boot..........................................................................6


1.3. Tổng quan về ReactJS........................................................................................6

1.3.1. Giới thiệu về ReactJS................................................................................6

1.3.2. Đặc trưng của ReactJS...............................................................................6

1.3. Tổng quan về MySQL........................................................................................7

CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG....................................9

2.1. Mô tả nghiệp vụ.................................................................................................9

2.1.1. Dành cho khách hàng................................................................................9

2.1.2. Dành cho nhà cung cấp..............................................................................9

2.1.3. Dành cho quản trị viên..............................................................................9

2.2. Yêu cầu hệ thống................................................................................................9

2.2.1. Đối với khách hàng....................................................................................9

2.2.2. Đối với nhà cung cấp...............................................................................10

2.2.3. Đối với quản trị viên................................................................................11

2.3. Danh sách các Actor.........................................................................................11

2.4. Biểu đồ usecase tổng quát................................................................................12

2.4.1. Biểu đồ usecase phía khách hàng............................................................12

2.4.2. Biểu đồ usecase phía nhà cung cấp.........................................................13

2.4.3. Biểu đồ usecase phía quản trị viên..........................................................14

2.5. Mô hình usecase phân rã chức năng.................................................................14

2.5.1. Usecase phân rã chức năng quản lý giỏ hàng..........................................14

2.5.2. Usecase phân rã chức năng quản lý tài khoản.........................................15

2.5.3. Usecase phân rã chức năng quản lý sản phẩm.........................................15

2.5.4. Usecase phân rã chức năng quản lý bài đăng..........................................16

2.5.5. Usecase phân rã chức năng quản lý đơn hàng.........................................16


2.6. Kịch bản Usecase.............................................................................................17

2.6.1. Kịch bản chức năng đăng ký...................................................................17

2.6.2. Kịch bản chức năng đăng nhập................................................................18

2.6.3. Kịch bản chức năng ứng tuyển nhà cung cấp..........................................18

2.6.4. Kịch bản chức năng quản lý thông tin cá nhân........................................19

2.6.5. Kịch bản chức năng thanh toán...............................................................19

2.6.6. Kịch bản chức năng quản lý giỏ hàng.....................................................20

2.6.7. Kịch bản chức năng quản lý bài đăng......................................................21

2.6.8. Kịch bản chức năng quản lý tài khoản....................................................22

2.6.9. Kịch bản chức năng quản lý sản phẩm....................................................24

2.6.10. Kịch bản chức năng quản lý đơn hàng..............................................26

2.7. Biểu đồ tuần tự của hệ thống............................................................................28

2.7.1. Biểu đồ tuần tự chức năng đăng ký.........................................................28

2.7.2. Biểu đồ tuần tự chức năng đăng nhập.....................................................29

2.7.3. Biểu đồ tuần tự chức năng cập nhật thông tin cá nhân............................30

2.7.4. Biểu đồ tuần tự chức năng quản lý giỏ hàng...........................................31

2.7.5. Biểu đồ tuần tự chức năng quản lý tài khoản..........................................34

2.7.6. Biểu đồ tuần tự chức năng quản lý bài đăng...........................................36

2.7.7. Biểu đồ tuần tự chức năng quản lý sản phẩm..........................................37

2.7.8. Biểu đồ tuần tự chức năng quản lý đơn hàng..........................................40

2.8. Biểu đồ hoạt động của hệ thống.......................................................................43

2.8.1. Biểu đồ hoạt động chức năng Đăng ký....................................................43

2.8.2. Biểu đồ hoạt động chức năng Đăng nhập................................................44

2.8.3. Biểu đồ hoạt động chức năng cập nhật thông tin cá nhân.......................45
2.8.4. Biểu đồ hoạt động chức năng Quản lý giỏ hàng......................................46

2.8.5. Biểu đồ hoạt động chức năng quản lý tài khoản......................................47

2.8.6. Biểu đồ hoạt động chức năng quản lý bài đăng.......................................48

2.8.7. Biểu đồ hoạt động quản lý sản phẩm.......................................................49

2.8.8. Biểu đồ hoạt động quản lý đơn hàng.......................................................50

2.8.9. Biểu đồ hoạt động chức năng ứng tuyển.................................................51

2.8.10. Biểu đồ hoạt động chức năng thanh toán..........................................52

2.9. Thiết kế cơ sở dữ liệu.......................................................................................53

2.9.1. Biểu đồ lớp..............................................................................................53

2.9.2. Cơ sở dữ liệu............................................................................................53

2.9.3. Mô hình quan hệ thực thể........................................................................62

CHƯƠNG 3: XÂY DỰNG WEBSITE..................................................................63

3.1. Các xây dựng website......................................................................................63

3.2. Giao diện dành cho người dùng.......................................................................63

3.2.1. Giao diện đăng ký....................................................................................63

3.2.2. Giao diện đăng nhập................................................................................64

3.2.3. Giao diện cập nhật thông tin cá nhân......................................................65

3.2.4. Giao diện hiển thị danh sách sản phẩm được đăng bán...........................66

3.2.5. Giao diện hiển thị thông tin chi tiết của sản phẩm..................................67

3.2.6. Giao diện giỏ hàng...................................................................................69

3.2.7. Giao diện hiển thị danh sách các đơn hàng đã đặt...................................69

3.2.8. Giao diện hiển thị thông tin chi tiết đơn hàng.........................................70

3.2.9. Giao diện thực hiện chức năng thanh toán..............................................71

3.3. Giao diện dành cho Nhà cung cấp....................................................................73


3.3.1. Giao diện quản lý sản phẩm của nhà cung cấp........................................73

3.3.2. Giao diện thêm sản phẩm........................................................................74

3.3.3. Giao diện cập nhật sản phẩm...................................................................75

3.4. Giao diện dành cho Quản trị viên....................................................................76

3.4.1. Giao diện quản lý tài khoản.....................................................................76

3.4.2. Giao diện quản lý sản phẩm phía quản trị viên.......................................77

3.4.3. Giao diện quản lý đơn hàng.....................................................................78

3.4.4. Giao diện cập nhật đơn hàng...................................................................79

3.4.5. Giao diện quản lý đơn thanh toán – doanh thu........................................80

KẾT LUẬN VÀ KIẾN NGHỊ................................................................................81

TÀI LIỆU THAM KHẢO......................................................................................83

A. TÀI LIỆU TIẾNG VIỆT......................................................................................83

B. TÀI LIỆU TIẾNG ANH......................................................................................83


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

STT Chữ viết tắt Tiếng Anh Tiếng Việt


1 CSDL Database Cơ sở dữ liệu.
2 HTML Hypertext Markup Ngôn ngữ đánh dấu siêu văn
Language bản.
3 TMĐT E-commerce Thương mại điện tử
4 URL Uniform Resource Trình định vị tài nguyên thống
Locator nhất.
DANH MỤC CÁC BẢNG

Bảng 2.1: Danh sách các Actor.................................................................................11


Bảng 2.2: Phân tích usecase phía khách hàng...........................................................12
Bảng 2.3: Phân tích usecase phía nhà cung cấp........................................................13
Bảng 2.4: Phân tích usecase phía quản trị viên.........................................................14
Bảng 2.5: Kịch bản đăng ký tài khoản......................................................................17
Bảng 2.6: Kịch bản đăng nhập..................................................................................18
Bảng 2.7: Kịch bản chức năng ứng tuyển.................................................................18
Bảng 2.8: Kịch bản quản lý thông tin cá nhân - cập nhật thông tin..........................19
Bảng 2.9: Kịch bản chức năng thanh toán................................................................19
Bảng 2.10: Kịch bản thêm sản phẩm vào giỏ hàng...................................................20
Bảng 2.11: Kịch bản cập nhật giỏ hàng....................................................................20
Bảng 2.12: Kịch bản xoá sản phẩm khỏi cửa hàng...................................................21
Bảng 2.13: Kịch bản xác nhận bài đăng...................................................................21
Bảng 2.14: Kịch bản huỷ bài đăng............................................................................22
Bảng 2.15: Kịch bản cập nhật thông tin tài khoản....................................................22
Bảng 2.16: Kịch bản xoá tài khoản...........................................................................23
Bảng 2.17: Kịch bản xác nhận tài khoản..................................................................24
Bảng 2.18: Kịch bản thêm sản phẩm mới.................................................................24
Bảng 2.19: Kịch bản cập nhật thông tin sản phẩm....................................................25
Bảng 2.20: Kịch bản xoá sản phẩm..........................................................................25
Bảng 2.21: Kịch bản xem thông đơn hàng................................................................26
Bảng 2.22: Kịch bản thêm đơn đặt hàng mới...........................................................26
Bảng 2.23: Kịch bản cập nhật đơn hàng...................................................................27
Bảng 2.24: Kịch bản huỷ đơn hàng...........................................................................27
Bảng 2.25: Thiết kế dữ liệu bảng user......................................................................53
Bảng 2.26: Thiết kế dữ liệu bảng token....................................................................54
Bảng 2.27: Thiết kế dữ liệu bảng product.................................................................55
Bảng 2.28: Thiết kế dữ liệu bảng category...............................................................55
Bảng 2.29: Thiết kế dữ liệu bảng product_category.................................................56
Bảng 2.30: Thiết kế dữ liệu bảng cart.......................................................................56
Bảng 2.31: Thiết kế dữ liệu bảng cart_item..............................................................57
Bảng 2.32: Thiết kế dữ liệu bảng order....................................................................58
Bảng 2.33: Thiết kế dữ liệu bảng order_item...........................................................59
Bảng 2.34: Thiết kế dữ liệu bảng transaction...........................................................59
Bảng 2.35: Thiết kế dữ liệu bảng comment..............................................................60
Bảng 2.36: Thiết kế dữ liệu bảng image_user..........................................................60
Bảng 2.37: Thiết kế dữ liệu bảng image_product.....................................................61
Bảng 2.38: Thiết kế dữ liệu bảng product_review....................................................61
DANH MỤC HÌNH ẢNH
Hình 1.1: Kiến trúc của Spring Framework................................................................5
Hình 2.1: Biểu đồ usecase tổng quát phía khách hàng..............................................12
Hình 2.2: Biểu đồ usecase tổng quát phía nhà cung cấp...........................................13
Hình 2.3: Biểu đồ usecase tổng quát phía quản trị viên............................................14
Hình 2.4: Biểu đồ usecase phân rã chức năng quản lý giỏ hàng...............................15
Hình 2.5: Biểu đồ usecase phân rã Quản lý tài khoản..............................................15
Hình 2.6: Biểu đồ usecase phân rã Quản lý sản phẩm..............................................16
Hình 2.7: Biểu đồ usecase phân rã Quản lý bài đăng...............................................16
Hình 2.8: Biểu đồ usecase phân rã Quản lý đơn hàng của khách hàng....................16
Hình 2.9: Biểu đồ usecase phân rã Quản lý đơn hàng phía quản trị viên.................17
Hình 2.10: Biểu đồ tuần tự chức năng đăng ký........................................................28
Hình 2.11: Biểu đồ tuần tự chức năng đăng nhập.....................................................29
Hình 2.12: Biểu đồ tuần tự chức năng cập nhật thông tin cá nhân...........................30
Hình 2.13: Biểu đồ tuần tự thêm sản phẩm vào giỏ hàng.........................................31
Hình 2.14: Biểu đồ tuần tự cập nhật giỏ hàng - cập nhật sản phẩm.........................32
Hình 2.15: Biểu đồ tuần tự xoá sản phẩm khỏi giỏ hàng..........................................33
Hình 2.16: Biểu đồ tuần tự cập nhật thông tin tài khoản..........................................34
Hình 2.17: Biểu đồ tuần tự xoá tài khoản.................................................................35
Hình 2.18: Biểu đồ tuần tự quản lý bài đăng............................................................36
Hình 2.19: Biểu đồ tuần tự Thêm sản phẩm.............................................................37
Hình 2.20: Biểu đồ tuần tự Cập nhật sản phẩm........................................................38
Hình 2.21: Biểu đồ tuần tự Xoá sản phẩm................................................................39
Hình 2.22: Biểu đồ tuần tự Thêm đơn đặt hàng........................................................40
Hình 2.23: Biểu đồ tuần tự Cập nhật đơn hàng.........................................................41
Hình 2.24: Biểu đồ tuần tự huỷ đơn hàng.................................................................42
Hình 2.25: Biểu đồ hoạt động chức năng đăng ký....................................................43
Hình 2.26: Biểu đồ hoạt động chức năng đăng nhập................................................44
Hình 2.27: Biểu đồ hoạt động chức năng cập nhật thông tin cá nhân......................45
Hình 2.28: Biểu đồ hoạt động chức năng quản lý giỏ hàng......................................46
Hình 2.29: Biểu đồ hoạt động chức năng quản lý tài khoản.....................................47
Hình 2.30: Biểu đồ hoạt động chức năng quản lý bài đăng......................................48
Hình 2.31: Biểu đồ hoạt động quản lý sản phẩm......................................................49
Hình 2.32: Biểu đồ hoạt động quản lý đơn hàng......................................................50
Hình 2.33: Biểu đồ hoạt động chức năng ứng tuyển................................................51
Hình 2.34: Biểu đồ hoạt động chức năng thanh toán................................................52
Hình 2.35: Biểu đồ lớp..............................................................................................53
Hình 2.36: Mô hình quan hệ thực thể.......................................................................62
Hình 3.1: Giao diện chức năng đăng ký....................................................................64
Hình 3.2: Giao diện đăng nhập.................................................................................64
Hình 3.3: Giao diện trang thông tin cá nhân.............................................................65
Hình 3.4: Giao diện cập nhật thông tin cá nhân........................................................66
Hình 3.5: Giao diện hiển thị danh sách sản phẩm được đăng bán............................67
Hình 3.6: Giao diện hiển thị thông tin chi tiết sản phẩm..........................................68
Hình 3.7: Giao diện giỏ hàng....................................................................................69
Hình 3.8: Giao diện hiển thị danh sách các đơn hàng đã đặt....................................70
Hình 3.9: Giao hiển thị thông tin chi tiết đơn hàng..................................................70
Hình 3.10: Giao diện hiển thị thông tin phiếu thanh toán.........................................71
Hình 3.11: Giao diện thực hiện thanh toán cho đơn hàng........................................72
Hình 3.12: Thông tin đơn hàng sau khi thanh toán...................................................72
Hình 3.13: Giao diện quản lý sản phẩm của nhà cung cấp.......................................73
Hình 3.14: Giao diện thêm sản phẩm........................................................................74
Hình 3.15: Giao diện cập nhật sản phẩm..................................................................75
Hình 3.16: Giao diện quản lý tài khoản....................................................................76
Hình 3.17: Giao diện quản lý sản phẩm....................................................................77
Hình 3.18: Giao diện quản lý đơn hàng....................................................................78
Hình 3.19: Giao diện cập nhật đơn hàng..................................................................79
Hình 3.20: Giao diện quản lý phiếu thanh toán........................................................80
MỞ ĐẦU

1. Lý do chọn đề tài
Trong những năm gần đây, với sự phát triển vượt trội của khoa học kỹ thuật, đặc
biệt là công nghệ thông tin, các ứng dụng của công nghệ thông tin được áp dụng
ngày càng nhiều vào thực tế đã góp phần to lớn trong sự nghiệp phát triển của con
người.
Cùng với sự phát triển mạnh mẽ của công nghệ thông tin, thị trường kinh doanh
trở lên ngày càng quyết liệt giữa các bên cạnh tranh nhằm thoả mãn các nhu cầu của
khách hàng một cách tốt nhất. So với quá trình kinh doanh truyền thống thì
‘Thương mại điện tử’ có chi phí thấp hơn và tỉ lệ đạt hiệu quả cao hơn.
Hơn thế nữa, là sự truyền tải thông tin, một lợi thế lớn của công nghệ Internet,
điều này giúp khách hàng có thể tiếp nhận thông tin sản phẩm một cách nhanh
chóng và thuận tiện nhất. Kết hợp với bộ phận giao hàng tận nơi, là thông qua bưu
điện và ngân hàng để thanh toán, càng tăng thêm thuận lợi để loại hình này phát
triển.
Do đó, em chọn đề tài “Xây dựng website thương mại điện tử với Spring Boot
và ReactJS”. Website được xây dựng với định hướng giúp việc mua sắm của khách
hàng và đăng bán hàng hoá của các nhà cung cấp nhỏ lẻ một cách dễ dàng và nhanh
gọn hơn, không mất thời gian và công sức.
2. Mục tiêu của đề tài
 Mục tiêu chung:
 Nắm bắt được công nghệ xây dựng web bằng Spring boot và ReactJS.
 Xây dựng website thương mại điện tử với Spring Boot và ReactJS.
 Mục tiêu cụ thể:
 Đối với người dùng: Cung cấp những thông tin đầy đủ, chính xác, nhanh
chóng; giao diện thân thiện, thu hút và dễ dàng sử dụng.
 Đối với người quản trị: Quản lý sản phẩm, danh mục, hóa đơn, quản lý tài
khoản, khách hàng.
3. Nội dung nghiên cứu
 Tìm hiểu về cách thức hoạt động của hệ thống thương mại điện tử.
 Tìm hiểu về các chức năng, cách thức sử dụng của website.
 Xây dựng website thương mại điện tử với đầy đủ các chức năng: Hiển thị danh
mục hàng, hiển thị danh sách hàng trong danh mục, hiển thị chi tiết hàng; đăng
ký thành viên, sửa thông tin cá nhân; tìm kiếm hàng; chọn hàng vào giỏ, thêm
sửa xóa giỏ hàng, đặt hàng...
4. Phương pháp nghiên cứu
 Phương pháp nghiên cứu lý thuyết: Tìm hiểu, thu nhập các tài liệu, thông tin
liên quan đến đề tài qua các website đã biết trên mạng
 Phương pháp tổng hợp: Tổng hợp các tài liệu đã nghiên cứu và tìm hiểu để
đưa ra những chức năng quan trọng và cần thiết cho phần mềm.
 Phương pháp thực nghiệm: Tiến hành thiết kế giao diện, cơ sở dữ liệu, xây dựng
và chạy thử để kiểm tra kết quả đạt được và kiểm tra lỗi.
 Phương pháp chuyên gia: Sử dụng trí tuệ các thầy cô và đồng nghiệp có trình độ
cao để xem xét nhận định cho sản phẩm.

5. Kết quả đạt được


 Báo cáo khóa luận.
 Xây dựng thành công website thương mại điện tử với Spring boot và ReactJS.
6. Bố cục của Khóa luận
Khóa luận được trình bày gồm 3 chương:
 Chương 1: TÌM HIỂU VỀ CƠ SỞ LÝ THUYẾT
 Chương 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
 Chương 3: XÂY DỰNG WEBSITE
CHƯƠNG 1: TÌM HIỂU VỀ CƠ SỞ LÝ THUYẾT

1.1. Tổng quan về hệ thống thương mại điện tử


1.1.1. Giới thiệu về thương mại điện tử
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ử (TMĐT) là xu hướng của thời đại toà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.
1.1.2. Lợi ích của thương mại điện tử
a. Đối với người bán
- Giúp giảm chi phí vận hành: Thay vì việc phải thuê mặt bằng, nhân viên bán
hàng, nhân viên giám sát, có kho hàng lớn thì một trang thương mại điện tử đã
giúp người bán tiết kiệm được hầu hết các chi phí này.
- Tiếp cận người tiêu dùng dễ dàng hơn: Nhờ có thương mại điện tử, thay vì
người tiêu dùng phải đến trực tiếp cửa hàng để xem xét sản phẩm, dịch vụ thì
hoàn toàn có thể tiếp cận sản phẩm, hàng hoá trên các trang thương mại điện tử.
b. Đối với người mua
- Đặt mua sản phẩm dễ dàng hơn: Người tiêu dùng hoàn toàn có thể lựa chọn và
mua hàng ở bất cứ đâu chỉ cần có internet, thông qua máy tính, điện thoại…
Đồng thời, người mua cũng có thể phân loại, so sánh, sắp xếp hàng hoá theo giá
tiền, tính năng… và đặt mua chỉ bằng một cú click chuột.
- Giảm chi phí đi lại, ô nhiễm môi trường, tai nạn giao thông.
- Với việc show trực tiếp giá cả, thành phần… của hàng hoá, dịch vụ trên các sàn
thương mại điện tử, người mua có nhiều lựa chọn hơn trong việc quyết định mua
hay không mua loại hàng hoá, dịch vụ mà mình có nhu cầu.
1.1.3. Các loại hình thương mại điện tử phổ biến ở Việt Nam
Hoạt động thương mại điện tử gồm các hình thức cơ bản sau đây:
- Website thương mại điện tử.
- Website cung cấp dịch vụ thương mại điện tử gồm: Sàn giao dịch thương mại
điện tử, website đấu giá trực tuyến, website khuyến mại trực tuyến và các loại
website khác.
Trong đó, tại Việt Nam, hai hình thức phổ biến là website thương mại điện tử và sàn
giao dịch thương mại điện tử.
a. Trang web thương mại điện tử
Website thương mại điện tử 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 hóa hay cung ứng dịch vụ,
từ trưng bày giới thiệu hàng hóa, 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.
b. Sàn giao dịch thương mại điện tử
Sàn giao dịch Thương mại điện tử là website thương mại điện tử cho phép thương
nhân, tổ chức, cá nhân không phải chủ sở hữu website có thể tiến hành mua bán
hàng hóa, dịch vụ trên đó.
Việc tổ chức giao dịch trên sàn thương mại điện tử được diễn ra dưới các hình thức:
- Website cho phép người tham gia được mở các gian hàng trên đó để trưng bày,
giới thiệu hàng hóa hoặc dịch vụ.
- Website cho phép người tham gia được lập các website nhánh để trưng bày, giới
thiệu hàng hóa hoặc dịch vụ.
- Website có chuyên mục mua bán trên đó cho phép người tham gia đăng tin mua
bán hàng hóa và dịch vụ.
Hiện nay, hình thức tạo lập website cho phép phép người tham gia được mở các
gian hàng trên đó để trưng bày, giới thiệu hàng hóa hoặc dịch vụ đang rất phổ biến.
Người tham gia trưng bày, giới thiệu hàng hoá có thể phải đăng ký thành lập doanh
nghiệp hoặc hộ kinh doanh theo quy định.
Tại Việt Nam, một số website về sàn giao dịch thương mại điện tử lớn là: Tiki,
Shopee, Lazada, Sendo...
1.2. Tổng quan về Spring Framework
1.2.1. Giới thiệu về Spring
Spring là một Framework phát triển các ứng dụng Java được sử dụng bởi hàng triệu
lập trình viên. Nó giúp tạo các ứng dụng có hiệu năng cao, dễ kiểm thử, sử dụng lại
code…
Spring Framework được xây dựng dựa trên hai nguyên tắc design chính là:
Dependency Injection và Aspect Oriented Programming.
Spring được chia làm nhiều module khác nhau, tùy theo mục đích phát triển ứng
dụng mà ta dùng 1 trong các module đó.
Dưới đây là kiến trúc tổng thể của Spring Framework [7].

Hình 1.1: Kiến trúc của Spring Framework


1.2.2. Giới thiệu về Spring Boot
- Spring Boot là một dự án phát triển bởi JAVA (ngôn ngữ java) trong hệ sinh thái
Spring framework. Nó giúp cho các lập trình viên chúng ta đơn giản hóa quá
trình lập trình một ứng dụng với Spring, chỉ tập trung vào việc phát triển
business cho ứng dụng [7].
- Được xây dựng trên 2 nguyên tắc design chính là: Dependency Injection và
Aspect Oriented Programming.
- Là một Java Platform mã nguồn mở, một giải pháp gọn nhẹ cho Java Enterprise.
Với Spring Framework các nhà phát triển có thể tạo ra các mã có hiệu suất cao,
dễ kiểm thử và có thể sử dụng lại được.
- Không chỉ giúp chúng ta phát triển web mà spring framework nó còn là một hệ
sinh thái phát triển rất nhiều nền tảng khác như cloud, mobile, app…
1.2.3. Ưu điểm của Spring Boot
 Các ưu điểm khi sử dụng Spring Boot [7]:
- Có các đặc tính của Spring Framework
- Tạo các ứng dụng độc lập, có thể chạy java-jar (cho cả java web).
- Nhúng trực tiếp Tomcat, Jetty hoặc Undertow (không cần triển khai tệp WAR).
- Các starter dependency giúp việc cấu hình Maven đơn giản hơn.
- Tự động cấu hình Spring khi cần thiết.
- Không sinh code cấu hình và không yêu cầu phải cấu hình bằng XML…
1.3. Tổng quan về ReactJS
1.3.1. Giới thiệu về ReactJS
ReactJS là một thư viện của javascript được phát triển bởi Facebook để phát triển
các thành phần (components) giao diện người dùng (User Interface - UI) có thể tái
sử dụng. Nó được sử dụng rộng rãi để xây dựng các ứng dụng SPA (Single Page
Application) tương thích với các phiên bản trình duyệt web hiện nay [5].
1.3.2. Đặc trưng của ReactJS
a. Virtual DOM
Virtual DOM là một object Javascript, môt object chứa đầy đủ thông tin cần thiết để
tạo ra một DOM, khi dữ liệu thay đổi nó sẽ tính toán sự thay đổi giữa object và tree
thật, điều này sẽ giúp tối ưu hoá việc re-render DOM tree thật [5].
b. One-way data binding
ReactJS sử dụng one-way data binding – luồng dữ liệu 1 chiều. Dữ liệu được truyền
từ parent đến child thông qua props. Luồng dữ liệu đơn giản giúp chúng ta dễ dàng
kiểm soát và sửa lỗi. Thích hợp xây dựng các ứng dụng lớn mà dữ liệu thay đổi liên
tục theo thời gian [5].
c. JSX – Javascript XML
JSX là một phần mở rộng của JavaScript. Cho phép viết HTML trong React một
cách dễ dàng và có cấu trúc hơn. Đặc điểm [5]:
- Faster – Nhanh hơn: Tối ưu hóa khi biên dịch sang mã javascript và thực hiện
nhanh hơn.
- Safer – An toàn hơn: statically-type – được biên dịch trước khi chạy giúp phát
hiện lỗi và gỡ lỗi trong quá trình biên dịch.
- Easier: Dễ dàng hơn: được kế thừa từ Javascript.
d. Components
- React được xây dựng xung quanh các component [5].
- Có thể sử dụng một component ở nhiều nơi với các trạng thái và thuộc tính khác
nhau.
- React thực hiện cập nhật component dựa trên sự thay đổi của trạng thái.
- Loại component: Class component, Function component.
e. Props và State
- Props: Tham số được chuyển giữa các component [5].
- State: là một object lưu trữ giá trị các thuộc tính bên trong component và chỉ tồn
tại trong phạm vi component đó. Khi thay đổi giá trị của state thì component sẽ
được render lại.

1.3. Tổng quan về MySQL


MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến trên thế giới và được
các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng. Vì MySQL là
hệ quản trị cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt
động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh.
Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập
CSDL trên internet [8].
MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệu quan hệ
sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL). MySQL được sử dụng cho việc bổ
trợ NodeJs, PHP, Perl, và nhiều ngôn ngữ khác, làm nơi lưu trữ những thông tin
trên các trang web viết bằng NodeJs, PHP hay Perl…
CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

2.1. Mô tả nghiệp vụ
2.1.1. Dành cho khách hàng
- Website được xây dựng với mục tiêu là nơi trưng bày, giới thiệu sản phẩm và
các dịch vụ hỗ trợ khách hàng như: liên hệ, phản hồi, tư vấn, tìm kiếm…
- Khách hàng bắt đầu duyệt những sản phẩm trên website, các sản phẩm được bố
trí theo từng loại đa dạng như sản phẩm mới, sản phẩm bán chạy… Khi đã ưng ý
một sản phẩm khách hàng có thể kích vào hình sản phẩm hoặc tên để xem thông
tin chi tiết về sản phẩm. Sau đó khách hàng có thể chọn nút “Mua ngay” để đưa
sản phẩm vào giỏ hàng của mình.
- Giỏ hàng thường cung cấp thêm các tuỳ chọn xoá một sản phẩm, xoá sạch giỏ
hàng, cập nhật số lượng đặt mua.
- Ngay sau khi khách hàng có tất cả các sản phẩm cần mua, khách hàng có thể
điền các thông tin như địa chỉ đặt hàng và chọn nút “Đặt mua” để hoàn tất quá
trình mua hàng.
2.1.2. Dành cho nhà cung cấp
- Website cung cấp một chức năng ứng tuyển đối với các thành viên đăng ký,
nhằm gửi đến quản trị viên đề xuất muốn bán hàng trên hệ thống.
- Đối với các nhà cung cấp được xác nhận, nhà cung cấp có thể sử dụng chức
năng quản lý sản phẩm mà hệ thống cung cấp để có thể quản lý, thêm, cập nhật
thông tin sản phẩm của mình.
2.1.3. Dành cho quản trị viên
Website cung cấp cho quản trị viên hệ thống giao diện dùng để quản trị các thông
tin như sản phẩm, đơn hàng, tài khoản, thống kê…
2.2. Yêu cầu hệ thống
Gồm có 3 đối tượng chính sử dụng website là: Khách hàng, Nhà cung cấp, Quản trị
viên.
2.2.1. Đối với khách hàng
- Đăng ký: Khi khách hàng chưa có tài khoản đăng nhập muốn mua hàng thì có
thể thực hiện chức năng đăng ký để trở thành thành viên của website và thực
hiện các chức năng mua hàng.
- Xem danh sách sản phẩm: Khi người dùng truy cập vào website thì hệ thống sẽ
tự động hiển thị một số sản phẩm nổi bật. Khi người dùng chọn vào một danh
mục sản phẩm cụ thể nào thì tất cả sản phẩm của danh mục đó sẽ hiển thị lên
giao diện.
- Xem chi tiết sản phẩm: Sau khi tìm thấy sản phẩm cần, người dùng có thể chọn
vào sản phẩm để xem thông tin chi tiết của sản phẩm đó.
- Tìm kiếm: Khi khách hàng cần tìm một sản phẩm nào đó thì có thể nhập thông
tin vào ô tìm kiếm để thực hiện chức năng tìm kiếm. Nếu sản phẩm đó có tên tại
trong dữ liệu thì sẽ hiện thông tin sản phẩm được tìm thấy.
- Đưa sản phẩm vào giỏ hàng: Sau khi khách hàng tìm thấy sản phẩm đáp ứng nhu
cầu của mình thì có thể chọn đưa sản phẩm vào giỏ hàng.
- Cập nhật giỏ hàng: Khi người dùng đã lựa chọn một sản phẩm nhưng tìm được
một sản phẩm hợp lý hơn thì có thể xoá sản phẩm đã có trong giỏ hàng và chọn
lại sản phẩm mới. Ngoài ra, khi cần mua sản phẩm đó với một số lượng lớn thì
người dùng cũng có thể cập nhật trong giỏ hàng.
- Đặt mua: Sau khi xem thông tin sản phẩm đúng với nhu cầu thì người dùng có
thể chọn đặt mua để đưa sản phẩm vào giỏ hàng.
- Quản lý đơn hàng: Sau khi đặt mua mà chưa nhận được đơn hàng thì khách hàng
có thể cập nhật lại đơn hàng.
- Thanh toán: Khi khách hàng chắc chắn mua sản phẩm, người dùng có thể chọn
chức năng thanh toán để thực hiện xác nhận đơn hàng của mình. Muốn thực hiện
thanh toán thì yêu cầu người dùng phải đăng nhập vào hệ thống.
- Ứng tuyển: Khi khách hàng có nhu cầu bán sản phẩm có thể chọn chức năng
ứng tuyển.
2.2.2. Đối với nhà cung cấp
- Quản lý sản phẩm: để thực hiện chức năng quản lý thì yêu cầu nhà cung cấp
phải đăng nhập vào hệ thống. Trong quản lý sản phẩm có xem, thêm, sửa, xoá,
đăng bán sản phẩm. Chọn thao tác cần thực hiện, điền đầy đủ thông tin trong
quá trình thực hiện rồi xác nhận thao tác.
2.2.3. Đối với quản trị viên
Có toàn quyền trong hệ thống, có tất cả các chức năng của các người dùng và có
thêm một số chức năng:
- Quản lý tài khoản: Quản trị viên có thể xem thông tin của các thành viên đã
đăng ký trong hệ thống và xác nhận hoặc huỷ xác nhận cho các thành viên ứng
tuyển làm nhà cung cấp.
- Quản lý bài đăng: Quản trị viên quản lý các sản phẩm được đăng bán trên hệ
thống.
- Quản lý đơn hàng: Quản trị viên có thêm chức năng xác nhận, cập nhật tình
trạng đơn hàng từ khi khách hàng đặt mua đến khi nhận hàng thành công.
2.3. Danh sách các Actor
Bảng 2.1: Danh sách các Actor
Actor Chức năng
- Xem thông tin sản phẩm được đăng bán
- Tìm kiếm sản phẩm
- Đăng ký
- Đăng nhập
Khách hàng - Đặt mua
- Xem danh sách đơn hàng
- Quản lý đơn hàng
- Thanh toán
- Ứng tuyển nhà cung cấp
Có các chức năng như khách hàng và có thêm chức
Nhà cung cấp
năng Quản lý sản phẩm.
Quản trị viên Có toàn quyền sử dụng các chức năng trong hệ thống
Actor Chức năng
và sử dụng các chức năng quản lý chính: Quản lý tài
khoản, quản lý bài đăng, quản lý đơn hàng.
2.4. Biểu đồ usecase tổng quát
2.4.1. Biểu đồ usecase phía khách hàng

Hình 2.2: Biểu đồ usecase tổng quát phía khách hàng


Bảng 2.2: Phân tích usecase phía khách hàng
STT Tên usecase Ý nghĩa/Ghi chú
1 Đăng ký Chức năng đăng ký thành viên đối với khách
hàng chưa có tài khoản.
2 Đăng nhập Chức năng để người dùng có thể truy cập vào hệ
thống và sử dụng các chức năng của hệ thống.
3 Tìm kiếm Chức năng tìm kiếm sản phẩm được đăng bán
dựa theo từ khoá được nhập vào từ ô tìm kiếm.
4 Xem thông tin sản phẩm Chức năng hiển thị thông tin chi tiết của sản
phẩm được đăng bán.
5 Quản lý thông tin cá Chức năng để người dùng có thể cập nhật các
nhân thông tin của người dùng trên hệ thống.
6 Quản lý giỏ hàng Chức năng để người dùng có thể thêm, cập nhật
và loại bỏ sản phẩm trong giỏ hàng của mình.
7 Quản lý đơn hàng cá Chức năng để người dùng có thể quản lý các
nhân đơn hàng của mình.
8 Thanh toán Chức năng để người dùng có thể thực hiện
thanh toán cho đơn hàng đặt mua của mình.
9 Ứng tuyển Chức năng để người dùng có nhu cầu bán hàng
ứng tuyển làm nhà cung cấp và bán hàng trên hệ
thống.
2.4.2. Biểu đồ usecase phía nhà cung cấp

Hình 2.3: Biểu đồ usecase tổng quát phía nhà cung cấp
Bảng 2.3: Phân tích usecase phía nhà cung cấp
STT Tên usecase Ý nghĩa/Ghi chú
1 Đăng nhập Chức năng này giúp người dùng truy cập
vào hệ thống và sử dụng các chức năng của
hệ thống.
2 Quản lý sản phẩm Chức năng này giúp nhà cung cấp có thể
quản lý lưu trữ thông sản phẩm của mình.
2.4.3. Biểu đồ usecase phía quản trị viên

Hình 2.4: Biểu đồ usecase tổng quát phía quản trị viên
Bảng 2.4: Phân tích usecase phía quản trị viên

STT Tên usecase Ý nghĩa/ghi chú


1 Chức năng này giúp người dùng truy cập vào hệ
Đăng nhập
thống và sử dụng các chức năng của hệ thống.
2 Chức năng này giúp quản trị viên có thể quản lý lưu
Quản lý bài đăng
trữ thông tin sản phẩm được đăng bán trên hệ thống.
3 Chức năng này giúp quản trị viên có thể quản lý lưu
Quản lý tài khoản trữ, xác nhận thông tin tài khoản của mọi người
dùng trên hệ thống.
4 Chức năng này giúp quản trị viên có thể quản lý
Quản lý đơn hàng
thông tin của các đơn hàng đặt mua của khách hàng.
2.5. Mô hình usecase phân rã chức năng
2.5.1. Usecase phân rã chức năng quản lý giỏ hàng
Hình 2.5: Biểu đồ usecase phân rã chức năng quản lý giỏ hàng
2.5.2. Usecase phân rã chức năng quản lý tài khoản

Hình 2.6: Biểu đồ usecase phân rã Quản lý tài khoản

2.5.3. Usecase phân rã chức năng quản lý sản phẩm


Hình 2.7: Biểu đồ usecase phân rã Quản lý sản phẩm
2.5.4. Usecase phân rã chức năng quản lý bài đăng

Hình 2.8: Biểu đồ usecase phân rã Quản lý bài đăng


2.5.5. Usecase phân rã chức năng quản lý đơn hàng

Hình 2.9: Biểu đồ usecase phân rã Quản lý đơn hàng của khách hàng
Hình 2.10: Biểu đồ usecase phân rã Quản lý đơn hàng phía quản trị viên
2.6. Kịch bản Usecase
2.6.1. Kịch bản chức năng đăng ký
Bảng 2.5: Kịch bản đăng ký tài khoản
Thuộc tính Mô tả
Chức năng Đăng ký tài khoản
Tác nhân Khách hàng
Tiền điều kiện Khách hàng chưa có tài khoản đăng nhập
Hậu điều kiện
Người dùng chưa có tài khoản đăng nhập thực hiện đăng ký tài
Mô tả
khoản.
Hành động của tác nhân Hành động của hệ thống
Click chọn chức năng đăng
Hiển thị form đăng ký.
ký.
Kịch bản
Nhập đầy đủ thông tin. Lấy thông tin và kiểm tra.
Hiển thị kết quả đăng ký.
Yêu cầu nhập lại nếu thất bại.
2.6.2. Kịch bản chức năng đăng nhập
Bảng 2.6: Kịch bản đăng nhập

Thuộc tính Mô tả
Chức năng Đăng nhập
Tác nhân Quản trị viên, nhà cung cấp, khách hàng.
Tiền điều kiện Chưa ở trạng thái đăng nhập.
Hậu điều kiện
Người dùng đăng nhập vào hệ thống để sử dụng các chức
Mô tả
năng.
Hành động của tác
Hành động của hệ thống
nhân
Nhập thông tin tài khoản
Lấy thông tin và kiểm tra
và mật khẩu
Kịch bản
Nếu thành công thì đăng nhập vào
hệ thống.
Nếu thất bại thì trả về lỗi và yêu
cầu nhập lại.

2.6.3. Kịch bản chức năng ứng tuyển nhà cung cấp
Bảng 2.7: Kịch bản chức năng ứng tuyển

Thuộc tính Mô tả
Chức năng Ứng tuyển nhà cung cấp
Tác nhân Khách hàng
Khách hàng có tài khoản trong hệ thống và không bị cấm bán
Tiền điều kiện
hàng.
Hậu điều kiện
Mô tả Người dùng thực hiện huỷ đơn hàng.
Hành động của tác nhân Hành động của hệ thống
Chọn chức năng ứng tuyển Tiếp nhận yêu cầu, gửi thông
Kịch bản tin vào danh sách ứng tuyển
cho quản trị viên.
Hiển thị kết quả thực hiện.
2.6.4. Kịch bản chức năng quản lý thông tin cá nhân
Bảng 2.8: Kịch bản quản lý thông tin cá nhân - cập nhật thông tin

Thuộc tính Mô tả
Chức năng Quản lý thông tin cá nhân
Tác nhân Quản trị viên, nhà cung cấp, khách hàng.
Là thành viên đã đăng ký trong hệ thống và lựa chọn chức
Tiền điều kiện
năng cập nhật thông tin cá nhân.
Hậu điều kiện
Người dùng đăng nhập vào hệ thống và cập nhật lại một số
Mô tả
thông tin của mình.
Hành động của tác nhân Hành động của hệ thống
Mở form cập nhật. Hiển thị các thông tin của
người dùng trong hệ thống.
Kịch bản Nhập lại các thông tin cần Nhận thông tin và kiểm tra.
sửa đổi của mình.
Hiển thị thông báo kết quả
cập nhật.
2.6.5. Kịch bản chức năng thanh toán
Bảng 2.9: Kịch bản chức năng thanh toán

Thuộc tính Mô tả
Chức năng Thanh toán
Tác nhân Khách hàng
Tiền điều kiện Đơn hàng chưa thanh toán
Hậu điều kiện
Người dùng thực hiện thanh toán cho đơn hàng đã đặt mua
Mô tả
của mình.
Hành động của tác nhân Hành động của hệ thống
Chọn đơn hàng cần thực hiện. Hiển thị thông tin đơn hàng
được chọn.
Kịch bản Thực hiện thanh toán Hiển thị thông tin phiếu thanh
toán.
Xác nhận thanh toán Nhận thông tin và thực hiện.
Hiển thị kết quả thực hiện.
2.6.6. Kịch bản chức năng quản lý giỏ hàng
a. Kịch bản thêm sản phẩm vào giỏ hàng
Bảng 2.10: Kịch bản thêm sản phẩm vào giỏ hàng

Thuộc tính Mô tả
Chức năng Thêm sản phẩm vào giỏ hàng
Tác nhân Khách hàng
Tiền điều kiện Sản phẩm được đăng bán trên hệ thống
Hậu điều kiện
Mô tả Người dùng thực hiện thêm sản phẩm vào giỏ hàng của mình
Hành động của tác nhân Hành động của hệ thống
Chọn sản phẩm cần thêm. Hiển thị thông tin chi tiết sản
phẩm
Thực hiện điền số lượng và Tiếp nhận thông tin và thực
chọn nút “Mua ngay” để đưa hiện.
Kịch bản
sản phẩm vào giỏ hàng.
Nếu thành công thì sản phẩm
xuất hiện trong giỏ hàng.
Nếu không thành công thì
đưa ra thông báo.
b. Kịch bản cập nhật giỏ hàng
Bảng 2.11: Kịch bản cập nhật giỏ hàng

Thuộc tính Mô tả
Chức năng Cập nhật giỏ hàng
Tác nhân Khách hàng
Tiền điều kiện Giỏ hàng có sản phẩm.
Hậu điều kiện
Người dùng thực hiện cập nhật số lượng cần mua cho sản
Mô tả
phẩm của mình
Hành động của tác nhân Hành động của hệ thống
Chọn sản phẩm cần cập nhật. Hiển thị form cập nhật.
Kịch bản
Thực hiện điền thông tin. Nhận thông tin và thực hiện.
Hiển thị kết quả thực hiện.
c. Kịch bản xoá sản phẩm khỏi giỏ hàng
Bảng 2.12: Kịch bản xoá sản phẩm khỏi cửa hàng

Thuộc tính Mô tả
Chức năng Xoá sản phẩm khỏi giỏ hàng
Tác nhân Khách hàng
Tiền điều kiện Giỏ hàng có sản phẩm.
Hậu điều kiện
Người dùng thực hiện xoá sản phẩm không cần thiết khỏi giỏ
Mô tả
hàng.
Hành động của tác nhân Hành động của hệ thống
Chọn sản phẩm cần thực Hiển thị thông báo xác nhận
Kịch bản hiện. muốn xoá hay không.
Xác nhận xoá Nhận thông tin và thực hiện.
Hiển thị thông báo thực hiện.

2.6.7. Kịch bản chức năng quản lý bài đăng


a. Kịch bản xác nhận bài đăng
Bảng 2.13: Kịch bản xác nhận bài đăng

Thuộc tính Mô tả
Chức năng Xác nhận bài đăng
Tác nhân Quản trị viên
Tiền điều kiện Sản phẩm được nhà cung cấp đăng bán.
Hậu điều kiện Sản phẩm được đăng bán trên hệ thống.
Quản trị viên xác nhận đăng bán sản phẩm mà nhà cung cấp
Mô tả
muốn đăng bán trên hệ thống.
Hành động của tác nhân Hành động của hệ thống
Lựa chọn sản phẩm cần xác Hiển thị thông tin sản phẩm.
Kịch bản nhận.
Xác nhận sản phẩm. Nhận thông tin và kiểm tra.
Hiển thị kết quả xác nhận.
b. Kịch bản huỷ bài đăng
Bảng 2.14: Kịch bản huỷ bài đăng

Thuộc tính Mô tả
Chức năng Huỷ bài đăng
Tác nhân Quản trị viên, Nhà cung cấp
Tiền điều kiện Sản phẩm có trong danh sách sản phẩm được đăng bán.
Hậu điều kiện Sản phẩm bị huỷ xác nhận.
Quản trị viên hoặc nhà cung cấp của sản phẩm đó muốn tạm
Mô tả
ngừng đăng bán sản phẩm với 1 vài lý do nào đó.
Hành động của tác nhân Hành động của hệ thống
Lựa chọn sản phẩm cần huỷ Hiển thị thông tin sản phẩm.
xác nhận.
Kịch bản
Xác nhận huỷ bài đăng của Nhận thông tin và kiểm tra.
sản phẩm.
Hiển thị kết quả huỷ bài đăng.
2.6.8. Kịch bản chức năng quản lý tài khoản
a. Kịch bản cập nhật thông tin tài khoản
Bảng 2.15: Kịch bản cập nhật thông tin tài khoản

Thuộc tính Mô tả
Chức năng Cập nhật thông tin tài khoản
Tác nhân Quản trị viên
Tiền điều kiện Tài khoản có trong cơ sở dữ liệu
Hậu điều kiện Cập nhật thông tin thành công
Mô tả Quản trị viên cập nhật thông tin cho tài khoản người dùng.
Hành động của tác nhân Hành động của hệ thống
Chọn tài khoản cần cập nhật. Hiển thị form cập nhật.
Kịch bản
Nhập thông tin. Nhận thông tin và kiểm tra.
Hiển thị kết quả cập nhật.

b. Kịch bản xoá tài khoản


Bảng 2.16: Kịch bản xoá tài khoản
Thuộc tính Mô tả
Chức năng Xoá tài khoản
Tác nhân Quản trị viên
Tiền điều kiện Có thông tin trong cơ sở dữ liệu.
Hậu điều kiện Tài khoản không còn trong cơ sở dữ liệu.
Mô tả Quản trị viên thực hiện xoá tài khoản người dùng.
Hành động của tác nhân Hành động của hệ thống
Chọn tài khoản cần xoá. Hiển thị thông báo xác nhận
xoá.
Kịch bản
Chọn xác nhận xoá. Nhận thông tin và thực hiện
xoá tài khoản.
Hiển thị kết quả thực hiện.
c. Kịch bản xác nhận tài khoản
Bảng 2.17: Kịch bản xác nhận tài khoản

Thuộc tính Mô tả
Chức năng Xác nhận tài khoản
Tác nhân Quản trị viên
Có thông tin trong danh sách người dùng ứng tuyển làm nhà
Tiền điều kiện
cung cấp.
Hậu điều kiện Tài khoản được xác nhận.
Quản trị viên xác nhận tài khoản là nhà cung cấp cho tài
Mô tả
khoản ứng tuyển và cấp quyền bán hàng cho tài khoản đó.
Hành động của tác nhân Hành động của hệ thống
Chọn tài khoản cần xác nhận Hiển thị thông tin của tài
khoản.
Kịch bản
Chọn xác nhận và cấp quyền Nhận thông tin và thực hiện.
bán hàng.
Hiển thị kết quả thực hiện.

2.6.9. Kịch bản chức năng quản lý sản phẩm


a. Kịch bản thêm sản phẩm
Bảng 2.18: Kịch bản thêm sản phẩm mới
Thuộc tính Mô tả
Chức năng Thêm sản phẩm
Tác nhân Nhà cung cấp
Tiền điều kiện Sản phẩm chưa có trong hệ thống
Hậu điều kiện Sản phẩm được thêm vào hệ thống.
Mô tả Nhà cung cấp thực hiện thêm sản phẩm mới.
Hành động của tác
Hành động của hệ thống
nhân
Chọn chức năng Hiển thị form thêm.
thêm mới
Nhập thông tin sản Nhận thông tin và thực hiện.
Kịch bản
phẩm cẩn thêm mới.
Nếu thành công thì thêm dữ liệu và hiển
thị thông báo thành công.
Nếu không thành công thì yêu cầu nhập
lại và thông báo không thành công.
b. Kịch bản cập nhật thông tin sản phẩm
Bảng 2.19: Kịch bản cập nhật thông tin sản phẩm

Thuộc tính Mô tả
Chức năng Cập nhật thông tin sản phẩm
Tác nhân Nhà cung cấp
Tiền điều kiện Sản phẩm có thông tin trong cơ sở dữ liệu.
Hậu điều kiện Sản phẩm được cập nhật.
Mô tả Nhà cung cấp thực hiện cập nhật thông tin cho sản phẩm
Hành động của tác nhân Hành động của hệ thống
Chọn sản phẩm cần thực Hiển thị thông tin chi tiết sản
Kịch bản hiện. phẩm.
Điền thông tin cập nhật. Nhận thông tin và thực hiện.
Hiển thị kết quả thực hiện.

c. Kịch bản xoá sản phẩm


Bảng 2.20: Kịch bản xoá sản phẩm

Thuộc tính Mô tả
Chức năng Xoá sản phẩm
Tác nhân Nhà cung cấp
Tiền điều kiện Sản phẩm có thông tin trong cơ sở dữ liệu.
Hậu điều kiện Sản phẩm bị xoá ra khỏi cơ sở dữ liệu.
Mô tả Nhà cung cấp thực hiện xoá sản phẩm không cần thiết.
Hành động của tác nhân Hành động của hệ thống
Chọn sản phẩm cần xoá. Hiển thị thông tin sản phẩm
được chọn.
Kịch bản
Thực hiện xoá sản phẩm. Nhận thông tin và thực hiện.
Hiển thị thông báo kết quả
thực hiện.
2.6.10. Kịch bản chức năng quản lý đơn hàng
a. Kịch bản xem thông tin đơn hàng
Bảng 2.21: Kịch bản xem thông đơn hàng

Thuộc tính Mô tả
Chức năng Xác nhận tài khoản
Tác nhân Quản trị viên, Khách hàng
Tiền điều kiện Có thông tin trong cơ sở dữ liệu
Hậu điều kiện
Quản trị viên thực hiện xem thông tin đơn hàng có trong hệ
thống.
Mô tả
Khách hàng thực hiện xem thông tin đơn hàng của mình trong
hệ thống.
Hành động của tác nhân Hành động của hệ thống
Mở form danh sách đơn hàng Hiển thị danh sách đơn hàng.
Kịch bản Chọn đơn hàng cần xem chi Nhận thông tin.
tiết.
Hiển thị kết quả.

b. Kịch bản thêm đơn đặt hàng mới.


Bảng 2.22: Kịch bản thêm đơn đặt hàng mới

Thuộc tính Mô tả
Chức năng Thêm đơn đặt hàng mới
Tác nhân Khách hàng
Tiền điều kiện Giỏ hàng có sản phẩm và điền đủ thông tin liên quan.
Hậu điều kiện Đơn hàng được tạo.
Người dùng sau khi chọn xong sản phẩm, thông tin đặt hàng
Mô tả
đã điền xong và muốn đặt hàng.
Hành động của tác nhân Hành động của hệ thống
Lựa chọn đặt hàng. Nhận thông tin và hiển thị
Kịch bản thông báo xác nhận.
Chọn xác nhận. Nhận thông tin và thực hiện.
Hiển thị kết quả thực hiện.
c. Kịch bản cập nhật đơn hàng
Bảng 2.23: Kịch bản cập nhật đơn hàng

Thuộc tính Mô tả
Chức năng Cập nhật đơn hàng
Tác nhân Quản trị viên, Khách hàng
Tiền điều kiện Đơn hàng có thông tin trong cơ sở dữ liệu.
Hậu điều kiện Đơn hàng được cập nhật.
Mô tả Người dùng cập nhật tình trạng của đơn hàng.
Hành động của tác nhân Hành động của hệ thống
Chọn đơn hàng cần thực hiện. Hiển thị thông tin đơn hàng
được chọn.
Kịch bản
Thực hiện thay đổi tình trạng Nhận thông tin và thực hiện
của đơn hàng. cập nhật.
Hiển thị kết quả thực hiện.

d. Kịch bản huỷ đơn hàng


Bảng 2.24: Kịch bản huỷ đơn hàng

Thuộc tính Mô tả
Chức năng Huỷ đơn hàng
Tác nhân Quản trị viên, Khách hàng
Tiền điều kiện Đơn hàng có thông tin trong cơ sở dữ liệu.
Hậu điều kiện Đơn hàng được huỷ.
Mô tả Người dùng thực hiện huỷ đơn hàng.
Hành động của tác nhân Hành động của hệ thống
Chọn đơn hàng cần thực hiện. Hiển thị thông tin đơn hàng
Kịch bản được chọn.
Thực hiện huỷ đơn hàng. Nhận thông tin và thực hiện.
Hiển thị kết quả thực hiện.
2.7. Biểu đồ tuần tự của hệ thống
2.7.1. Biểu đồ tuần tự chức năng đăng ký

Hình 2.11: Biểu đồ tuần tự chức năng đăng ký


Mô tả tuần tự chức năng đăng ký được thể hiện trong hình 2.10:
- Người dùng truy cập vào hệ thống và chọn đăng ký thành viên.
- Hệ thống hiển thị màn hình đăng ký.
- Người dùng nhập thông tin theo yêu cầu.
- Hệ thống tiếp nhận và kiểm tra thông tin.
- Hệ thống trả về kết quả và hiển thị màn hình trang chủ.
2.7.2. Biểu đồ tuần tự chức năng đăng nhập

Hình 2.12: Biểu đồ tuần tự chức năng đăng nhập


Mô tả tuần tự chức năng đăng nhập được thể hiện trong hình 2.11:
- Người dùng muốn sử dụng các chức năng đặc thù của hệ thống sẽ phải đăng
nhập.
- Hệ thống hiển thị giao diện đăng nhập.
- Người dùng nhập thông tin tài khoản và mật khẩu.
- Hệ thống tiếp nhận và xác nhận thông tin.
- Hệ thống trả về kết quả đăng nhập.
2.7.3. Biểu đồ tuần tự chức năng cập nhật thông tin cá nhân

Hình 2.13: Biểu đồ tuần tự chức năng cập nhật thông tin cá nhân
Mô tả tuần tự chức năng cập nhật thông tin cá nhân được thể hiện trong hình 2.12:
- Người dung sau khi đã đăng nhập vào hệ thống và lựa chọn chức năng cập nhật
thông tin cá nhân.
- Hệ thống hiển thị giao diện cập nhật.
- Người dùng thực hiện sửa thông tin cần cập nhật.
- Hệ thống tiếp nhận thông tin và xử lý.
- Hệ thống trả về kết quả cập nhật.
2.7.4. Biểu đồ tuần tự chức năng quản lý giỏ hàng
a. Biểu đồ tuần tự thêm sản phẩm vào giỏ hàng

Hình 2.14: Biểu đồ tuần tự thêm sản phẩm vào giỏ hàng
Mô tả tuần tự chức năng thêm sản phẩm vào giỏ hàng được thể hiện trong hình
2.13:
- Trong giao diện hiển thị các sản phẩm được đăng bán trong hệ thống, người
dùng lựa chọn sản phẩm ưng ý.
- Hệ thống hiển thị thông tin chi tiết sản phẩm.
- Người dùng chọn số lượng và chọn đưa sản phẩm vào giỏ hàng.
- Hệ thống tiếp nhận thông tin và xử lý.
- Hệ thống trả về kết quả thêm sản phẩm vào giỏ.
b. Biểu đồ tuần tự cập nhật sản phẩm trong giỏ hàng

Hình 2.15: Biểu đồ tuần tự cập nhật giỏ hàng - cập nhật sản phẩm
Mô tả tuần tự chức năng cập nhật giỏ hàng – cập nhật sản phẩm được thể hiện trong
hình 2.14:
- Người dùng truy cập vào giỏ hàng của mình.
- Hệ thống hiển thị thông tin chi tiết giỏ hàng.
- Người dùng chọn sản phẩm cần cập nhật.
- Hệ thống hiển thị giao diện cập nhật.
- Người dùng thực hiện cập nhật thông tin.
- Hệ thống tiếp nhận và xác nhận thông tin.
- Hệ thống trả về kết quả thực hiện
c. Biểu đồ tuần tự xoá sản phẩm khỏi giỏ hàng

Hình 2.16: Biểu đồ tuần tự xoá sản phẩm khỏi giỏ hàng
Mô tả tuần tự chức năng xoá sản phẩm khỏi giỏ hàng được thể hiện trong hình 2.15:
- Người dùng truy cập vào giỏ hàng.
- Hệ thống hiển thị thông tin giỏ hàng.
- Người dùng thực hiện chọn sản phẩm và yêu cầu xoá.
- Hệ thống tiếp nhận và xác nhận thông tin.
- Hệ thống trả về kết quả thực hiện.
2.7.5. Biểu đồ tuần tự chức năng quản lý tài khoản
a. Biểu đồ tuần tự cập nhật thông tin tài khoản

Hình 2.17: Biểu đồ tuần tự cập nhật thông tin tài khoản
Mô tả chức năng cập nhật thông tin tài khoản được thể hiện trong hình 2.16:
- Quản trị viên truy cập vào trang quản lý tài khoản trong hệ thống.
- Hệ thống hiển thị giao diện quản lý tài khoản.
- Quản trị viên lựa chọn tài khoản cần xử lý.
- Hệ thống hiển thị thông tin chi tiết tài khoản.
- Quản trị viên thực hiện cập nhật thông tin.
- Hệ thống tiếp nhận và xử lý thông tin.
b. Biểu đồ tuần tự xoá tài khoản

Hình 2.18: Biểu đồ tuần tự xoá tài khoản


Mô tả tuần tự chức năng xoá tài khoản được thể hiện trong hình 2.17:
- Quản trị viên truy cập vào trang quản lý tài khoản trong hệ thống.
- Hệ thống hiển thị giao diện quản lý tài khoản.
- Quản trị viên lựa chọn tài khoản cần xử lý và đưa ra yêu cầu xoá.
- Hệ thống tiếp nhận và xác nhận thông tin.
- Hệ thống trả về kết quả thực hiện.
2.7.6. Biểu đồ tuần tự chức năng quản lý bài đăng

Hình 2.19: Biểu đồ tuần tự quản lý bài đăng


Mô tả tuần tự chức năng quản lý bài đăng được thể hiện trong hình 2.18:
- Quản trị viên truy cập vào trang quản lý sản phẩm trong hệ thống.
- Hệ thống hiển thị giao diện quản lý sản phẩm.
- Quản trị viên lựa chọn sản phẩm cần xử lý.
- Hệ thống hiển thị thông tin chi tiết của sản phẩm được chọn.
- Quản trị viên đưa ra yêu cầu “đăng bài/huỷ đăng bài” dành cho sản phẩm.
- Hệ thống tiếp nhận và xử lý thông tin.
- Hệ thống trả về kết quả thực hiện.
2.7.7. Biểu đồ tuần tự chức năng quản lý sản phẩm
a. Biểu đồ tuần tự Thêm sản phẩm

Hình 2.20: Biểu đồ tuần tự Thêm sản phẩm


Mô tả tuần tự chức năng thêm sản phẩm được thể hiện trong hình 2.19:
- Nhà cung cấp thực hiện truy cập vào trang quản lý sản phẩm dành cho nhà cung
cấp trong hệ thống.
- Hệ thống hiển thị giao diện quản lý sản phẩm dành cho nhà cung cấp.
- Nhà cung cấp đưa ra yêu cầu thêm sản phẩm.
- Hệ thống hiển thị giao diện thêm sản phẩm.
- Nhà cung cấp điền thông tin.
- Hệ thống tiếp nhận và xử lý thông tin.
- Hệ thống trả về kết quả thực hiện.
b. Biểu đồ tuần tự Cập nhật sản phẩm

Hình 2.21: Biểu đồ tuần tự Cập nhật sản phẩm


Mô tả tuần tự chức năng cập nhật sản phẩm được thể hiện trong hình 2.20:
- Nhà cung cấp truy cập vào trang quản lý sản phẩm.
- Hệ thống hiển thị giao diện quản lý sản phẩm dành cho nhà cung cấp.
- Nhà cung cấp chọn sản phẩm cần xử lý.
- Hệ thống hiển thị thông tin chi tiết sản phẩm.
- Nhà cung cấp thực hiện cập nhật thông tin cho sản phẩm.
- Hệ thống tiếp nhận thông tin và xử lý.
- Hệ thống trả về kết quả thực hiện.
c. Biểu đồ tuần tự Xoá sản phẩm

Hình 2.22: Biểu đồ tuần tự Xoá sản phẩm


Mô tả tuần tự chức năng xoá sản phẩm được thể hiện trong hình Hình 2.21:
- Nhà cung cấp truy cập vào trang quản lý sản phẩm.
- Hệ thống hiển thị giao diện quản lý dành cho nhà cung cấp.
- Nhà cung cấp lựa chọn sản phẩm cần xử lý và đưa ra yêu cầu xoá.
- Hệ thống tiếp nhận và xử lý thông tin.
- Hệ thống trả về kết quả thực hiện.
2.7.8. Biểu đồ tuần tự chức năng quản lý đơn hàng
a. Biểu đồ tuần tự Thêm đơn đặt hàng

Hình 2.23: Biểu đồ tuần tự Thêm đơn đặt hàng


Mô tả tuần tự chức năng thêm đơn đặt hàng được thể hiện trong hình 2.22:
- Người dùng truy cập vào trang giỏ hàng.
- Người dùng sau khi ưng ý với các sản phẩm đã chọn trong giỏ hàng sẽ đưa ra
yêu cầu đặt hàng.
- Hệ thống tiếp nhận thông tin và xử lý.
- Hệ thống trả về kết quả thực hiện.
b. Biểu đồ tuần tự Cập nhật đơn hàng

Hình 2.24: Biểu đồ tuần tự Cập nhật đơn hàng


Mô tả chức năng cập nhật đơn hàng được thể hiện trong hình 2.23:
- Quản trị viên truy cập vào trang quản lý đơn hàng.
- Hệ thống hiển thị trang quản lý đơn hàng.
- Quản trị viên lựa chọn đơn hàng cần xử lý.
- Hệ thống hiển thị thông tin chi tiết của đơn hàng.
- Quản trị viên cập nhật thông tin cho đơn hàng.
- Hệ thống tiếp nhận và xác nhận thông tin cập nhật.
- Hệ thống trả về kết quả thực hiện.
c. Biểu đồ tuần tự Huỷ đơn hàng

Hình 2.25: Biểu đồ tuần tự huỷ đơn hàng


Mô tả tuần tự chức năng huỷ đơn hàng được thể hiện trong hình 2.24:
- Người dùng truy cập vào trang quản lý đơn hàng.
- Hệ thống hiển thị giao diện quản lý đơn hàng dành cho khách hàng.
- Người dùng chọn đơn hàng cần xử lý và đưa ra yêu cầu huỷ đơn hàng.
- Hệ thống tiếp nhận và xử lý thông tin.
- Hệ thống trả về kết quả thực hiện.
2.8. Biểu đồ hoạt động của hệ thống
2.8.1. Biểu đồ hoạt động chức năng Đăng ký

Hình 2.26: Biểu đồ hoạt động chức năng đăng ký


 Mô tả biểu đồ hoạt động chức năng đăng ký được thể hiện trong hình 2.25:
- Khách hàng là người dùng chưa có tài khoản, thực hiện đăng ký tài khoản để
truy cập hệ thống.
- Người dùng thực hiện điền đầy đủ thông tin theo yêu cầu và xác nhận đăng ký.
- Hệ thống sẽ tiếp nhận thông tin đã nhập và xử lý.
- Nếu thông tin đăng ký hợp lệ thì hệ thống thông báo thành công. Nếu thông tin
không hợp lệ thì thông báo không thành công.
2.8.2. Biểu đồ hoạt động chức năng Đăng nhập

Hình 2.27: Biểu đồ hoạt động chức năng đăng nhập


 Mô tả biểu đồ hoạt động chức năng đăng nhập được thể hiện trong hình 2.26:
Sau khi người dùng thực hiện điền thông tin username và password vào form đăng
nhập. Hệ thống tiếp nhận và xử lý thông tin. Nếu thông tin hợp lệ thị hệ thống sẽ
thông báo thành công. Nếu thông tin không hợp lệ thì thông báo lỗi.
2.8.3. Biểu đồ hoạt động chức năng cập nhật thông tin cá nhân

Hình 2.28: Biểu đồ hoạt động chức năng cập nhật thông tin cá nhân
 Mô tả biểu đồ hoạt động chức năng cập nhật thông tin cá nhân được thể hiện
trong hình 2.27:
Sau khi đăng nhập, người dùng đưa ra yêu cầu cập nhật thông tin cá nhân. Hệ thống
tiếp nhận và hiển thị form cập nhật. Người dùng thực hiện sửa đổi các thông tin cần
cập nhật. Hệ thống tiếp nhận và xác nhận thông tin. Nếu thông tin hợp lệ thì hệ
thống đưa ra thông báo thành công. Nếu thông tin không hợp lệ thì hệ thống đưa ra
thông báo không thành công.
2.8.4. Biểu đồ hoạt động chức năng Quản lý giỏ hàng

Hình 2.29: Biểu đồ hoạt động chức năng quản lý giỏ hàng
 Mô tả biểu đồ hoạt động chức năng quản lý giỏ hàng được thể hiện trong hình
2.28:
Người dùng sau khi đăng nhập và truy cập vào trang quản lý giỏ hàng. Người dùng
có thể thực hiện các chức năng như: Thêm sản phẩm, sửa đổi thông tin hoặc loại bỏ
sản phẩm khỏi giỏ hàng. Sau khi thực hiện chức năng và xác nhận thì hệ thống sẽ
tiếp nhận và xử lý thông tin. Nếu thông tin hợp lệ thì đưa ra thông báo thành công.
Nếu thông tin không hợp lệ thì đưa ra thông báo không thành công.
2.8.5. Biểu đồ hoạt động chức năng quản lý tài khoản

Hình 2.30: Biểu đồ hoạt động chức năng quản lý tài khoản
 Mô tả biểu đồ hoạt động chức năng quản lý tài khoản được thể hiện trong hình
2.29:
Sau khi đăng nhận và truy cập vào trang quản lý tài khoản, Quản trị viên có thể thực
hiện các chức năng: Cập nhật tài khoản, xoá tài khoản. Các chức năng sau khi được
sử dụng, hệ thống sẽ tiếp nhận và xác nhận thông tin yêu cầu từ Quản trị viên. Nếu
thông tin thực hiện hợp lệ thì hệ thống đưa ra thông báo thành công. Nếu thông tin
thực hiện không hợp lệ thì hệ thống đưa ra thông báo không thành công.
2.8.6. Biểu đồ hoạt động chức năng quản lý bài đăng

Hình 2.31: Biểu đồ hoạt động chức năng quản lý bài đăng
 Mô tả biểu đồng hoạt động chức năng quản lý bài đăng được thể hiện trong hình
2.30:
Sau khi đăng nhập và truy cập vào trang quản lý bài đăng, Quản trị viên có thể thực
hiện các chức năng: xác nhận, huỷ bài đăng. Khi sử dụng chức năng, hệ thống sẽ
tiếp nhận và xử lý yêu cầu. Nếu hợp lệ thì hệ thống sẽ đưa ra thông báo thành công
và ngược lại sẽ đưa ra thông báo không thành công.
2.8.7. Biểu đồ hoạt động quản lý sản phẩm

Hình 2.32: Biểu đồ hoạt động quản lý sản phẩm


 Mô tả biểu đồ hoạt động quản lý sản phẩm được thể hiện trong hình 2.31:
Sau khi đăng nhập và truy cập vào trang quản lý sản phẩm dành cho Nhà cung cấp,
Nhà cung cấp có thể thực hiện các chức năng: Thêm, cập nhật, Xoá, Đăng bán sản
phẩm. Các yêu cầu được đưa ra từ Nhà cung cấp sẽ được hệ thống tiếp nhận và xác
nhận thông tin để xử lý.
2.8.8. Biểu đồ hoạt động quản lý đơn hàng

Hình 2.33: Biểu đồ hoạt động quản lý đơn hàng


 Mô tả biểu đồ hoạt động quản lý đơn hàng được thể hiện trong hình 2.32:
Sau khi đăng nhập và truy cập vào trang quản lý đơn hàng, Khách hàng có thể thực
hiện các chức năng: Đặt hàng, cập nhật, huỷ đặt hàng. Sau khi người dùng đưa ra
yêu cầu thực thi chức năng, hệ thống sẽ tiếp nhận và xử lý thông tin yêu cầu. Nếu
thông tin hợp lệ thì hệ thống đưa ra thông báo thành công. Nếu thông tin không hợp
lệ thì hệ thống đưa ra thông báo không thành công.
2.8.9. Biểu đồ hoạt động chức năng ứng tuyển

Hình 2.34: Biểu đồ hoạt động chức năng ứng tuyển


 Mô tả biểu đồ hoạt động chức năng ứng tuyển được thể hiện trong hình 2.33:
Khi đã là khách hàng thành viên, người dùng có thể đăng nhập vào hệ thống và sử
dụng chức năng ứng tuyển để có thể bán hàng nếu có yêu cầu. Hệ thống sẽ gửi yêu
cầu đến Quản trị viên để xét duyệt.
2.8.10. Biểu đồ hoạt động chức năng thanh toán

Hình 2.35: Biểu đồ hoạt động chức năng thanh toán


 Mô tả biểu đồ hoạt động chức năng thanh toán được thể hiện trong hình 2.34:
Khi đơn hàng được đặt đã được xác nhận, khách hàng có thể thực hiện thanh toán
cho đơn hàng thông qua trang hiển thị chi tiết thông tin của đơn hàng cần xử lý. Nếu
đơn hàng được thanh toán thành công thì hệ thống sẽ hiển thị thông báo thành công
cùng kết quả giao dịch. Nếu không thì hệ thống sẽ hiển thị thông báo không thành
công.
2.9. Thiết kế cơ sở dữ liệu

2.9.1. Biểu đồ lớp

Hình 2.36: Biểu đồ lớp

2.9.2. Cơ sở dữ liệu
a. Bảng user
Mô tả: bảng user là nơi chứa thông tin của người dùng đã đăng ký sử dụng hệ
thống.
Bảng 2.25: Thiết kế dữ liệu bảng user
Thuộc tính Kiển dữ liệu Độ dài Chú thích
id bigint Mã người dùng
first_name varchar 50 Họ người dùng
last_name varchar 50 Tên người dùng
mobile varchar 15 Số điện thoại
email varchar 50 Email
password varchar 255 Mật khẩu(được mã hoá)
created_at datetime Thời gian tham gia
intro varchar 255 Phần giới thiệu ngắn gọn về người dùng.
profile text Phần giới thiệu ngắn gọn về nhà cung cấp.
photos varchar 255 Đường dẫn ảnh đại diện của người dùng
role varchar 10 Vai trò của người dùng trong hệ thống.
vendor int Xác định quyền bán hàng của nhà cung
cấp trong hệ thống.

b. Bảng token
Mô tả: bảng token là nơi lưu trữ các thông tin xác thực của người dùng dưới dạng
mã hoá.
Bảng 2.26: Thiết kế dữ liệu bảng token
Thuộc tính Kiển dữ liệu Độ dài Chú thích
id int Khoá chính
expired bit 1
revoked bit 1
token varchar 255 Chuỗi mã khoá
token_type varchar 255
user_id bigint Xác định người dùng liên quan.
c. Bảng product
Mô tả: bảng product là nơi lưu trữ các thuộc tính và thông tin liên quan đến sản
phẩm.
Bảng 2.27: Thiết kế dữ liệu bảng product
Thuộc tính Kiển dữ liệu Độ dài Chú thích
id bigint Id của sản phẩm.
user_id bigint Mã của người tạo sản phẩm.
title varchar 100 Tên của sản phẩm.
slug varchar 100 Tạo đường dẫn url cho sản phẩm.
summary varchar 100 Mô tả ngắn gọn về sản phẩm
price float Giá của sản phẩm.
discount float Giảm giá của sản phẩm.
quantity smallint Số lượng sản phẩm.
photos varchar 255 Đường dẫn ảnh của sản phẩm.
content text Mô tả chi tiết về sản phẩm.
status smallint Trạng thái của sản phẩm.
created_at datetime Thời gian tạo sản phẩm.
updated_at datetime Thời gian cập nhật sản phẩm.

d. Bảng category
Mô tả: Bảng category là nơi lưu trữ thông tin về các phân loại của sản phẩm.
Bảng 2.28: Thiết kế dữ liệu bảng category
Thuộc tính Kiển dữ liệu Độ dài Chú thích
id bigint Id xác định của loại sản phẩm.
title varchar 75 Tên loại sản phẩm.
slug varchar 100 Tên đường dẫn url của loại sản
phẩm.
content text Ghi chú.
e. Bảng product_category
Mô tả: Bảng product_category là bảng liên kết để ánh xạ quan hệ giữa các sản phẩm
và phân loại của sản phẩm.
Bảng 2.29: Thiết kế dữ liệu bảng product_category
Thuộc tính Kiển dữ liệu Độ dài Chú thích
id bigint Id xác định phân loại của sản phẩm.
product_id bigint Id xác định sản phẩm.
category_id bigint Id xác định loại sản phẩm.

f. Bảng cart
Mô tả: Bảng cart là một bảng để lưu trữ thông tin về giỏ hàng của người dùng.
Bảng 2.30: Thiết kế dữ liệu bảng cart
Thuộc tính Kiển dữ liệu Độ dài Chú thích
id bigint Id xác định giỏ hàng.
user_id bigint Id xác định người dùng.
line1 varchar 50 Lưu trữ địa chỉ(số nhà, đường…)
city varchar 50 Lưu trữ tên thành phố/tỉnh.
country varchar 50 Lưu trữ tên quốc gia.
content text Ghi chú.
status smallint Trạng thái của giỏ hàng.
created_at datetime Thời gian tạo.
updated_at datetime Thời gian cập nhật.
g. Bảng cart_item
Mô tả: Bảng cart_item là một bảng để lưu trữ thông tin về các mục hàng có trong
giỏ hàng của người dùng.
Bảng 2.31: Thiết kế dữ liệu bảng cart_item
Thuộc tính Kiển dữ liệu Độ dài Chú thích
id bigint Id xác định mã của sản phẩm trong
giỏ hàng.
product_id bigint Id xác định sản phẩm.
cart_id bigint Id xác định mã của giỏ hàng.
price float Giá.
discount float Giảm giá.
quantity smallint Số lượng.
content text Ghi chú.
created_at datetime Thời gian thêm.
updated_at datetime Thời gian cập nhật.
h. Bảng order
Mô tả: Bảng order là bảng để lưu trữ thông tin về các đơn hàng trong hệ thống.
Bảng này giúp theo dõi và quản lý các thông tin liên quan đến các đơn hàng được
tạo và xử lý trong quá trình mua sắm.
Bảng 2.32: Thiết kế dữ liệu bảng order
Thuộc tính Kiển dữ liệu Độ dài Chú thích
id bigint Mã xác định đơn hàng.
user_id bigint Mã xác định người đặt hàng.
cart_id bigint Mã xác định giỏ hàng liên kết.
status smallint Trạng thái của đơn hàng.
sub_total float Tổng trị giá đơn hàng.
item_discount float Tổng giảm giá.
total float Tổng giá trị đơn hàng sau khi
giảm giá.
first_name varchar 50 Họ người đặt hàng.
last_name varchar 50 Tên người đặt hàng.
mobile varchar 15 Số điện thoại của người đặt hàng.
email varchar 50 Email người đặt hàng.
line1 varchar 50 Địa chỉ nơi nhận hàng (số nhà,
đường, …).
city varchar 50 Thành phố/tỉnh.
country varchar 50 Quốc gia.
content text Ghi chú.
created_at datetime Thời gian tạo.
updated_at datetime Thời gian cập nhật.

i. Bảng order_item
Mô tả: Bảng order_item là bảng lưu trữ thông tin về các mục hàng trong một đơn
hàng cụ thể. Bảng này giúp theo dõi và quản lý các sản phẩm được đặt mua trong
mỗi đơn hàng.
Bảng 2.33: Thiết kế dữ liệu bảng order_item
Thuộc tính Kiển dữ liệu Độ dài Chú thích
id bigint Id sản phẩm trong phiếu order.
product_id bigint Mã xác định sản phẩm.
order_id bigint Mã xác định phiếu đơn đặt hàng.
price float Giá sản phẩm được đặt.
discount float Giảm giá của sản phẩm được đặt.
quantity smallint Số lượng sản phẩm đặt hàng.
content text Ghi chú
created_at datetime Thời gian thêm vào đơn đặt hàng.
updated_at datetime Thời gian cập nhật gần nhất.

j. Bảng transaction
Mô tả: Bảng transaction là bảng lưu trữ thông tin về các giao dịch thanh toán. Bảng
này giúp theo dõi và quản lý các thông tin liên quan đến các giao dịch được thực
hiện trong hệ thống.
Bảng 2.34: Thiết kế dữ liệu bảng transaction
Thuộc tính Kiển dữ liệu Độ dài Chú thích
id bigint Mã xác định phiếu thanh toán.
user_id bigint Mã xác định người thanh toán.
order_id bigint Mã xác định đơn đặt hàng được
thanh toán.
code varchar 255 Mã giao dịch sau khi thanh toán.
type smallint Loại giao dịch.
mode smallint Phương thức giao dịch.
status smallint Trạng thái giao dịch.
content text Ghi chú.
created_at datetime Thời gian tạo phiếu thanh toán được
tạo.
updated_at datetime Thời gian cập nhật gần nhất.
k. Bảng comment
Mô tả: Bảng comment là bảng lưu trữ thông tin về các bình luận hoặc nhận xét của
người dùng trong hệ thống.
Bảng 2.35: Thiết kế dữ liệu bảng comment
Thuộc tính Kiển dữ liệu Độ dài Chú thích
id bigint Mã xác định comment.
user_id bigint Mã xác định người comment.
product_id bigint Mã xác định sản phẩm.
content text Lời đánh giá.
parent_id bigint Mã xác định comment cha.
created_at datetime Thời gian comment được tạo.

l. Bảng image_user
Mô tả: Bảng image_user là bảng lưu trữ hình ảnh đại diện của người dùng trong hệ
thống.
Bảng 2.36: Thiết kế dữ liệu bảng image_user
Thuộc tính Kiển dữ liệu Độ dài Chú thích
id bigint Khoá chính.
imagedata longblob Dữ liệu ảnh.
name varchar 30 Tên ảnh.
type varchar 5 Loại định dạng ảnh (jpg, png, jpeg…).
user_id bigint Mã xác định người dùng.
m. Bảng image_product
Mô tả: Bảng image_product là bảng lưu trữ thông tin về hình ảnh của các sản phẩm
trong hệ thống.
Bảng 2.37: Thiết kế dữ liệu bảng image_product
Thuộc tính Kiển dữ liệu Độ dài Chú thích
id bigint Khoá chính.
imagedata longblob Dữ liệu ảnh.
name varchar 30 Tên ảnh.
type varchar 5 Loại định dạng ảnh (jpg, png, jpeg…)
product_id bigint Mã xác định sản phẩm.

n. Bảng product_review
Mô tả: Bảng product_review là bảng lưu trữ thông tin đánh giá mức độ chất lượng
hay độ chân thật của các sản phẩm.
Bảng 2.38: Thiết kế dữ liệu bảng product_review
Thuộc tính Kiển dữ liệu Độ dài Chú thích
id bigint Mã xác định phiếu đánh giá.
user_id bigint Mã xác định người đánh giá.
product_id bigint Mã xác định sản phẩm được đánh
giá.
title varchar 255 Lời đánh giá.
rating int Điểm đánh giá.
content text Chú thích thêm.
published int Thuộc tính xác định đánh giá có
được công khai hay không.
published_at datetime Thời gian đánh giá được công khai.
created_at datetime Thời gian đánh giá sản phẩm.
2.9.3. Mô hình quan hệ thực thể

Hình 2.37: Mô hình quan hệ thực thể


CHƯƠNG 3: XÂY DỰNG WEBSITE

Trong chương 3 sẽ trình bày kết quả xây dựng và triển khai các giao diện
chính của website. Sản phẩm được triển khai trên môi trường thử nghiệm là
localhost.
2.10. Các xây dựng website
- Bước 1: Tìm hiểu về cơ sở lý thuyết.
- Bước 2: Tìm hiểu về nghiệp vụ của website thương mại điện tử cần xây dựng.
- Bước 3: Phân tích và mô tả các chức năng của các đối tượng trong website.
- Bước 4: Phân tích, thiết kế cơ sở dữ liệu.
- Bước 5: Thiết kế giao diện cơ bản cho các chức năng.
- Bước 6: Sử dụng các công nghệ đã tìm hiểu để tiến hành lập trình giao diện và
các chức năng của website.
- Bước 7: Tiến hành chạy thử nghiệm và tìm sửa lỗi.
Kết quả đạt được: Sau khi thực hiện các bước đã nêu trên, phần mềm đã hoạt
động bình thường và đảm bảo có đầy đủ chức năng cơ bản của website.
2.11. Giao diện dành cho người dùng
2.11.1.Giao diện đăng ký
 Mô tả giao diện được thể hiện ở hình 3.1:
Khi người dùng muốn đăng ký tài khoản thì phải điền đầy đủ thông tin có trong
form đăng ký. Nếu đăng ký thành công thì người dùng cần đăng nhập vào gmail đã
đăng ký để nhận mật khẩu và đăng nhập hệ thống.
Hình 3.38: Giao diện chức năng đăng ký
2.11.2.Giao diện đăng nhập
 Mô tả giao diện được thể hiện ở hình 3.2:
Khi người dùng muốn truy cập vào hệ thống thì bắt buộc phải đăng nhập. Nếu
thông tin đăng nhập chính xác thì hệ thống sẽ chuyển đến trang thông tin cá nhân
của người dùng.

Hình 3.39: Giao diện đăng nhập


 Mô tả giao diện được thể hiện ở hình 3.3:
Giao diện hiển thị các thông tin chính của người sử dụng trong trang này.
Hình 3.40: Giao diện trang thông tin cá nhân
2.11.3.Giao diện cập nhật thông tin cá nhân
 Mô tả giao diện được thể hiện ở hình 3.4:
Tại đây người dùng có thể cập nhật, sửa đổi các thông tin của mình như: Họ tên,
gmail, số điện thoại, ảnh đại diện, mật khẩu hoặc mô tả thêm một số thông tin cá
nhân hoá khác. Sau khi thay đổi, người dùng cần nhấn “Save Profile” để lưu thay
đổi thông tin.

Hình 3.41: Giao diện cập nhật thông tin cá nhân


2.11.4.Giao diện hiển thị danh sách sản phẩm được đăng bán
 Mô tả giao diện được thể hiện ở hình 3.5:
Giao diện hiển thị các sản phẩm đã được quản trị viên xét duyệt được đăng bán trên
hệ thống. Người dùng có thể tìm kiếm, lựa chọn các sản phẩm yêu thích.

Hình 3.42: Giao diện hiển thị danh sách sản phẩm được đăng bán

2.11.5.Giao diện hiển thị thông tin chi tiết của sản phẩm
 Mô tả giao diện được thể hiện ở hình 3.6:
Giao diện hiển thị thông tin chi tiết của sản phẩm: Ảnh, tên sản phẩm, loại sản
phẩm, số lượng hiện có, giá gốc, giá khuyến mãi, điểm đánh giá. Nếu ưng ý với sản
phẩm, người dùng cần nhấn vào nút “Add to Cart” để đưa sản phẩm vào giỏ hàng.

Hình 3.43: Giao diện hiển thị thông tin chi tiết sản phẩm
2.11.6.Giao diện giỏ hàng
 Mô tả giao diện được thể hiện ở hình 3.7:
Sau khi hoàn tất quá trình chọn lựa sản phẩm, người dùng có thể truy cập vào giỏ
hàng để điều chỉnh sản phẩm: cập nhật số lượng, loại bỏ sản phẩm. Để đặt hàng,
người dùng cần cập nhật các thông tin trong mục địa chỉ nhận hàng và “Cập nhật”
sau đó mới có thể nhấn vào nút “Đặt hàng”. Hoàn tất quá trình, thông tin đặt hàng
của người dùng sẽ được hệ thống gửi đến quản trị viên để xác nhận – thực hiện đơn
hàng theo yêu cầu của người dùng.

Hình 3.44: Giao diện giỏ hàng


2.11.7.Giao diện hiển thị danh sách các đơn hàng đã đặt
 Mô tả giao diện được thể hiện ở hình 3.8:
Tại trang quản lý đơn hàng, người dùng có thể xem lại danh sách các mục đơn hàng
đã đặt của mình. Để xem chi tiết người dùng cần nhấn nút “Xem chi tiết” trên đơn
hàng cần xem.
Hình 3.45: Giao diện hiển thị danh sách các đơn hàng đã đặt
2.11.8.Giao diện hiển thị thông tin chi tiết đơn hàng
 Mô tả giao diện được thể hiện ở hình 3.9:
Giao diện hiển thị thông tin chi tiết của đơn hàng: Thông tin về sản phẩm được đặt
hàng, thông tin người đặt hàng, địa chỉ đơn hàng, tình trạng đơn hàng. Người dùng
có thể thực hiện các chức năng trong trang này là: Huỷ đơn – Nhấn nút “Huỷ đơn”
hoặc Thanh toán đơn hàng – Nhấn nút “Transaction”.

Hình 3.46: Giao hiển thị thông tin chi tiết đơn hàng
2.11.9.Giao diện thực hiện chức năng thanh toán
 Mô tả giao diện được thể hiện ở hình 3.10:
Giao diện hiển thị các thông tin khi chưa thanh toán: Mã phiếu thanh toán, thông tin
đơn hàng, thông tin người đặt hàng, tổng tiền, trạng thái đơn hàng. Để thanh toán,
người dùng cần nhấn nút “Thanh toán”.

Hình 3.47: Giao diện hiển thị thông tin phiếu thanh toán
 Mô tả giao diện được thể hiện ở hình 3.11:
Để thanh toán cho đơn hàng, người dùng cần nhập đầy đủ thông tin cần thiết và
đảm bảo tài khoản hợp lệ. Nếu thành công hệ thống sẽ cập nhật phiếu thanh toán và
thông báo thành công.

Hình 3.48: Giao diện thực hiện thanh toán cho đơn hàng
 Mô tả giao diện được thể hiện ở hình 3.12:
Thông tin phiếu thanh toán sau khi thanh toán thành công.

Hình 3.49: Thông tin đơn hàng sau khi thanh toán
2.12. Giao diện dành cho Nhà cung cấp
2.12.1.Giao diện quản lý sản phẩm của nhà cung cấp
 Mô tả giao diện được thể hiện ở hình 3.13:
Lưu trữ các thông tin về sản phẩm của nhà cung cấp đang sử dụng. Hỗ trợ Nhà cung
cấp khả năng tìm kiếm, xem, cập nhật, xoá và tạo mới sản phẩm.

Hình 3.50: Giao diện quản lý sản phẩm của nhà cung cấp.
2.12.2.Giao diện thêm sản phẩm
 Mô tả giao diện được thể hiện ở hình 3.14:
Nhà cung cấp muốn thêm sản phẩm cần điền đầy đủ thông tin: Loại sản phẩm, ảnh,
tên sản phẩm, slug, summary, giá, giảm giá, số lượng hiện có, ghi chú cho sản
phẩm. Nếu thông tin hợp lệ thì hệ thống sẽ thông báo thành công.

Hình 3.51: Giao diện thêm sản phẩm


2.12.3.Giao diện cập nhật sản phẩm
 Mô tả giao diện được thể hiện ở hình 3.15:
Trang cập nhật sản phẩm cho phép nhà cung cấp sửa đổi – cập nhật thông tin của
sản phẩm.

Hình 3.52: Giao diện cập nhật sản phẩm


2.13. Giao diện dành cho Quản trị viên
2.13.1.Giao diện quản lý tài khoản
 Mô tả giao diện được thể hiện ở hình 3.16:
Giao diện quản lý tài khoản cho phép Quản trị viên có thể kiểm soát người dùng
trong hệ thống. Hỗ trợ các chức năng tìm kiếm, sửa đổi một số thông tin người
dùng.

Hình 3.53: Giao diện quản lý tài khoản

2.13.2.Giao diện quản lý sản phẩm phía quản trị viên


 Mô tả giao diện được thể hiện ở hình 3.17:
Trang quản lý sản phẩm phía quản trị viên, lưu trữ thông tin của tất cả sản phẩm
trong hệ thống. Hỗ trợ các chức năng tìm kiếm. sửa đổi thông tin sản phẩm để Quản
trị viên có thể kiểm soát bài đăng - sản phẩm được đăng bán trên hệ thống.
Hình 3.54: Giao diện quản lý sản phẩm
2.13.3.Giao diện quản lý đơn hàng
 Mô tả giao diện được thể hiện ở hình 3.18:
Trang quản lý đơn hàng phía quản trị viên hỗ trợ việc tìm kiếm, hiển thị thông tin
tất cả các đơn hàng có trong hệ thống.

Hình 3.55: Giao diện quản lý đơn hàng


2.13.4.Giao diện cập nhật đơn hàng
 Mô tả giao diện được thể hiện ở hình 3.19:
Trang cập nhật đơn hàng hỗ trợ Quản trị viên chức năng hiển thị thông tin đơn
hàng, cho phép cập nhật tình trạng của đơn hàng trong suốt quá trình gửi hàng.

Hình 3.56: Giao diện cập nhật đơn hàng


2.13.5.Giao diện quản lý đơn thanh toán – doanh thu
 Mô tả giao diện được thể hiện ở hình 3.20:
Trang quản lý đơn thanh toán - doanh thu cung cấp cho Quản trị viên chức năng tra
cứu, thống kê thông tin, doanh thu từ các đơn hàng được thực hiện.

Hình 3.57: Giao diện quản lý phiếu thanh toán


KẾT LUẬN VÀ KIẾN NGHỊ
Kết luận
Đề tài “Xây dựng website thương mại điện tử với Spring Boot và ReactJS” được
xây dựng dựa trên nhu cầu thực tế hỗ trợ việc mua sắm của khách hàng và đăng bán
hàng hoá của các nhà cung cấp nhỏ lẻ một cách dễ dàng và nhanh gọn, giảm thiểu
thời gian thực hiện. Phần mềm cung cấp thêm khả năng thanh toán trực tuyến thông
qua website để hoàn tất quá trình mua sắm từ xa cho khách hàng.
Mặc dù đã có nhiều cố gắng, bằng những kiến thức được học và tìm hiểu nhưng
do thời gian hạn chế, kiến thức hạn hẹp và kinh nghiệm chưa có nhiều nên bài vẫn
chưa được hoàn chỉnh và thiếu sót nhiều chỗ. Ở trên bài báo cáo tôi đã làm được:
 Về mặt lý thuyết
- Tìm hiểu được các quy trình nghiệp nghiệp vụ hoạt động của một trang website
thương mại điện tử
- Tìm hiểu và hiểu thêm về công nghệ Spring boot và ReactJS, …
 Về mặt thực hành và sản phẩm
- Biết cách thiết kế web, thiết kế cơ sở dữ liệu.
- Phần mềm đã hoàn thiện được những chức năng chính như:
o Chức năng dành cho Khách hàng: Hiển thị danh sách sản phẩm, hiển thị
thông tin chi tiết sản phẩm, quản lý giỏ hàng, quản lý đơn hàng, thanh
toán.
o Chức năng dành cho Nhà cung cấp – Chức năng quản lý sản phẩm.
o Chức năng dành cho Quản trị viên: Quản lý tài khoản, quản lý bài đăng,
quản lý đơn hàng, quản lý phiếu thanh toán.
 Mặt hạn chế
Do thời gian hạn chế, kiến thức hạn hẹp nên bài báo cáo còn nhiều hạn chế
và thiếu sót. Việc phân tích bài toán chưa thực sự đi sâu hết mọi khía cạnh của đề
tài nên còn nhiều thiếu sót:
- Chưa thực sự hiểu sâu và các cơ sở lý thuyết.
- Giao diện của sản phẩm chưa thực sự đẹp mắt với người dùng.
- Website còn thiếu nhiều chức năng.
Kiến nghị
- Tìm hiểu sâu hơn về Spring boot, ReactJS và hệ quản trị cơ sở dữ liệu mySQL
để phục vụ vào công việc sau này.
- Tìm hiểu thêm một số ngôn ngữ, phần mềm ứng dụng khác để nâng cao kiến
thức và cũng giúp cho sản phẩm có giao diện đồ họa đẹp mắt, sinh động.
- Xây dựng phần mềm có quy mô lớn hơn với các chức năng mới.
TÀI LIỆU THAM KHẢO

A. TÀI LIỆU TIẾNG VIỆT


[1]. Đoàn Văn Ban, “Lập trình hướng đối tượng với Java”, NXB Khoa học và Kỹ
thuật, 2005.

[2]. Joel Murach & Ray Harris, “Lập Trình Cơ Bản PHP Và MySQL”, NXB Khoa
học và Kỹ thuật, 2013.

[3]. Nguyễn Văn Ba, “Phân tích thiết kế hệ thống thông tin”, Nhà xuất bản Đại học
Quốc gia, 2003.

[4]. Nguyễn Văn Vỵ, “Giáo trình phân tích thiết kế các hệ thống thông tin”, NXB
Giáo dục Việt Nam, 2010.

B. TÀI LIỆU TIẾNG ANH


[5]. Alex Banks & Eve Porcello, “Learning React: Modern Patterns for Developing
React Apps”, O'Reilly Media, 2020.

[6]. David Flanagan, “JavaScript: The Definitive Guide”, O'Reilly Media, Inc,
2020.

[7]. Greg L. Turnquist, “Learning Spring Boot 2.0 - Second Edition”, Apress,
United States, 2017.

[8]. Guy Harrison & Steven Feuerstein, “MySQL Stored Procedure Programming”,
O'Reilly Media, Inc, 2006.

You might also like