Lợi ích của trang web nói chung thì đều thực hiện được các chức năng đặt hàng và xem tin tức, nhưng để tìm thấy khách hàng đa dạng, tiềm năng thì chúng ta muốn thông tin của họ được lưu
Trang 1ĐẠI HỌC HUẾ TRƯỜNG ĐẠI HỌC KINH TẾ HUẾ KHOA HỆ THỐNG THÔNG TIN KINH TẾ
KHÓA LUẬN TỐT NGHIỆP
XÂY DỰNG WEBSITE BÁN TRANG SỨC TRỰC TUYẾN
DỰA TRÊN NỀN TẢNG NODEJS VÀ REACTJS
Sinh viên thực hiện: HÀ THỊ MAI TRÂM
Trường Đại học Kinh tế Huế
Trang 2ĐẠI HỌC HUẾ TRƯỜNG ĐẠI HỌC KINH TẾ HUẾ KHOA HỆ THỐNG THÔNG TIN KINH TẾ
KHÓA LUẬN TỐT NGHIỆP
XÂY DỰNG WEBSITE BÁN TRANG SỨC TRỰC TUYẾN
DỰA TRÊN NỀN TẢNG NODEJS VÀ REACTJS
Giảng viên hướng dẫn: ThS Trần Thái HòaSinh viên thực hiện: Hà Thị Mai Trâm
Mã sinh viên: 18K4081034Lớp: K52 Tin học kinh tế
Huế, 10/2021
Trường Đại học Kinh tế Huế
Trang 3LỜI CẢM ƠN
Để hoàn thành khóa luận này, đó là sự đúc kết, nghiên cứu của em trong thời
gian hơn nữa năm được kiến tập và học tập tại Trung tâm Công nghệ Thông tin Thừa
Thiên Huế và 3 tháng thực tập tại công ty LEANO GROUP, đồng thời dựa trên kiến
thức đã được học tại trường Đại học Kinh Tế Huế trong suốt bốn năm vừa qua.
Với lòng biết ơn chân thành, em xin gửi đến quý thầy cô giáo trong khoa Hệ
thống thông tin Kinh tế - Đại học Kinh tế Huế, cùng với gia đình, bạn bè đã giúp đỡ và
động viên trong thời gian hoàn thành khóa luận tốt nghiệp này.
Đặc biệt, em xin gửi lời cảm ơn đến thầy Trần Thái Hòa, người đã tận tình
hướng dẫn, quan tâm, thường xuyên theo dõi, giải đáp những thắc mắc và đưa ra
những lời góp ý, nhận xét để em có thể hoàn thành khóa luận tốt nghiệp một cách tốt
nhất.
Đồng thời, em xin gửi lời cảm ơn đến Trung tâm Công nghệ Thông tin Thừa
Thiên Huế và công ty LEANO GROUP đã tạo điều kiện cho em được thực tập, học hỏi
những công nghệ mới và cần thiết để xây dựng đề tài hoàn chỉnh hơn.
Vì kiến thức bản thân và năng lực còn hạn chế, trong quá trình thực tập, hoàn
thiện khóa luận này em không tránh khỏi sai sót, kính mong nhận được những ý kiến
đóng góp, bổ sung của quý thầy cô để em có thể hoàn thiện đề tài tốt hơn.
Xin chân thành cảm ơn!
Sinh viên thực hiện
Hà Thị Mai Trâm
Trường Đại học Kinh tế Huế
Trang 4MỤC LỤC
MỤC LỤC i
DANH MỤC TỪ VIẾT TẮT vi
DANH MỤC HÌNH ẢNH vii
PHẦN I: PHẦN MỞ ĐẦU 1
1 Lý do chọn đề tài 1
2 Mục tiêu và nhiệm vụ nghiên cứu 2
2.1 Mục tiêu 2
2.2 Nhiệm vụ 2
3 Đối tượng và phạm vi nghiên cứu 2
3.1 Đối tượng nghiên cứu 2
3.2 Phạm vi nghiên cứu 3
4 Phương pháp nghiên cứu 3
5 Bố cục khóa luận 4
PHẦN II: NỘI DUNG 5
CHƯƠNG 1: CƠ SỞ LÝ LUẬN VỀ XÂY DỰNG WEBSITE BÁN TRANG SỨC TRỰC TUYẾN DỰA TRÊN NỀN TẢNG NODEJS VÀ REACTJS 5
1.1 Tổng quan về bán hàng trực tuyến 5
1.2 Tổng quan về quy trình xây dựng website bán hàng 11
1.3 Công cụ xây dựng trang web 12
CHƯƠNG 2: GIỚI THIỆU BÀI TOÁN XÂY DỰNG TRANG WEB BÁN TRANG SỨC TRỰC TUYẾN DỰA TRÊN NỀN TẢNG NODEJS VÀ REACTJS 18 2.1 Thực trạng xã hội hiện nay 18
2.2 Một số trang web bán trang sức trực tuyến hiện nay 19
Trường Đại học Kinh tế Huế
Trang 52.3 Mô tả bài toán xây dựng trang web bán trang sức trực tuyến 20
2.4 Xác định chức năng của các tác nhân 21
2.5 Yêu cầu chung về trang web 22
CHƯƠNG 3: PHÁT TRIỂN TRANG WEB BÁN TRANG SỨC TRỰC TUYẾN DỰA TRÊN NỀN TẢNG NODEJS VÀ REACTJS 23
3.1 Phân tích hệ thống 23
3.2 Thiết kế hệ thống 44
PHẦN III: KẾT LUẬN 62
1 Kết quả đạt được 62
2 Hạn chế của đề tài 62
3 Hướng phát triển của đề tài 63
DANH MỤC THAM KHẢO 64
KIỂM TRA KẾT QUẢ ĐẠO VĂN 67
Trường Đại học Kinh tế Huế
Trang 6DANH MỤC TỪ VIẾT TẮT
STT Chữ viết tắt Tiếng Anh Tiếng Việt
1 API Application Programming
Interface
Giao diện lập trình ứngdụng
2 CPU Central Processing Unit Đơn vị xử lý trung tâm
3 DOM Document Object Model Mô hình các đối tượng
trong tài liệu
8 MERN MongoDB ExpressJs
10 RAM Random Access Memory Bộ nhớ truy cập ngẫu nhiên
11 UI User Interface Giao diện người dùng
12 URL Uniform Resource
Trang 7DANH MỤC HÌNH ẢNH
Hình 1 1: Thanh toán điện tử bằng thẻ 6
Hình 1 2: Thanh toán qua ví điện tử 7
Hình 1 3: Thanh toán bằng điện thoại thông minh 7
Hình 1 4: Mô hình phát triển MERN STACK 13
Hình 1 5: Visual Studio Code editor 17
Hình 1 6: Quy trình thanh toán của nút Paypal 18
Hình 3 1: Biểu đồ gói của trang web 24
Hình 3 2: Biểu đồ Usecase tổng quát 25
Hình 3 3: Biểu đồ Usecase Quản lý hệ thống 26
Hình 3 4: Sơ đồ Usecase Quản lý đơn hàng 27
Hình 3 5: Biểu đồ Usecase Quản lý nhân viên 28
Hình 3 6: Biểu đồ Usecase Quản lý danh mục 29
Hình 3 7: Biểu đồ Quản lý danh mục 30
Hình 3 8: Biểu đồ Usecase Thống kê 31
Hình 3 9: Biểu đồ tuần tự đăng nhập 32
Hình 3 10: Biểu đồ tuần tự đăng ký 33
Hình 3 11: Biểu đồ tuần tự tìm kiếm sản phẩm 35
Hình 3 12: Biểu đồ tuần tự thêm sản phẩm vào giỏ hàng 36
Hình 3 13: Biểu đồ tuần tự thanh toán 37
Hình 3 14: Biểu đồ tuần tự cập nhật đơn hàng 39
Hình 3 15: Biểu đồ tuần tự thống kê 40
Hình 3 16: Biểu đồ tuần tự thêm sản phẩm 41
Hình 3 17: Biểu đồ tuần tự sửa sản phẩm 42
Hình 3 18: Biểu đồ tuần tự xóa sản phẩm 43
Hình 3 19: Cơ sở dữ liệu của trang web 45
Hình 3 20: Giao diện chính 49
Hình 3 21: Giao diện đăng ký 50
Trường Đại học Kinh tế Huế
Trang 8Hình 3 23: Giao diện quản lý đơn hàng 52
Hình 3 24: Giao diện quản lý sản phẩm 53
Hình 3 25: Giao diện quản lý mẫu mã 53
Hình 3 26: Giao diện quản lý nhân viên 54
Hình 3 27: Giao diện quản lý thống kê 55
Hình 3 28: Giao diện trang sản phẩm 56
Hình 3 29: Giao diện trang chi tiết sản phẩm 57
Hình 3 30: Giao diện trang khách hàng 58
Hình 3 31: Giao diện trang giỏ hàng 58
Hình 3 32: Giao diện đăng nhập Paypal 59
Hình 3 33: Giao diện yêu cầu chấp nhận thanh toán 60
Hình 3 34: Giao diện xác nhận thanh toán 61
Hình 3 35: Giao diện email xác nhận thanh toán 61
Trường Đại học Kinh tế Huế
Trang 9DANH MỤC BẢNG BIỂU
Bảng 3 1: Các tác nhân của Hệ thống 24
Bảng 3 2: Bảng mô tả chức năng Đăng nhập 32
Bảng 3 3: Bảng mô tả chức năng Đăng ký 34
Bảng 3 4: Bảng mô tả chức năng Tìm kiếm sản phẩm 35
Bảng 3 5: Bảng mô tả chức năng Thêm sản phẩm vào giỏ hàng 36
Bảng 3 6: Bảng mô tả chức năng Thanh toán 37
Bảng 3 7: Bảng mô tả chức năng Cập nhật đơn hàng 39
Bảng 3 8: Bảng mô tả chức năng Thống kê 40
Bảng 3 9: Bảng mô tả chức năng Thêm sản phẩm 41
Bảng 3 10: Bảng mô tả chức năng Sửa sản phẩm 42
Bảng 3 11: Bảng mô tả chức năng Xóa sản phẩm 43
Bảng 3 12: Collection Categories 45
Bảng 3 13: Collection Employee 46
Bảng 3 14: Collectiion Products 46
Bảng 3 15: Collection Order 47
Bảng 3 16: Collection Customer 47
Bảng 3 17: Collection Review 48
Trường Đại học Kinh tế Huế
Trang 10PHẦN I: PHẦN MỞ ĐẦU
1 Lý do chọn đề tài
Trong những năm gần đây, nhu cầu làm đẹp của con người đang ngày càng tăng
cao, một món trang sức đi kèm có thể làm nổi bật đẳng cấp của bản thân nên được
nhiều người ưa chuộng, vì vậy kinh doanh trang sức sẽ là một cơ hội vô cùng tiềm
năng cho các bạn trẻ để khởi nghiệp, làm giàu Kinh doanh mặt hàng này phù hợp với
mọi lứa tuổi bởi nguồn vốn bỏ ra khá nhẹ nhàng, mẫu mã mặt hàng đa dạng và đặc
biệt là dễ bán Tuy dễ bán nhưng không phải ai cũng thành công khi lựa chọn khởi
nghiệp với mặt hàng này
Nhu cầu làm đẹp và nổi bật bản thân đã trở thành một điều tất yếu, vì thế mà
phụ kiện trang sức đang là mặt hàng có sức hút rất lớn hiện nay Thời trang ngày càng
phát triển, nếu một người biết cách chọn trang phục phù hợp đồng thời kết hợp tinh tế
với phụ kiện trang sức sẽ làm họ nổi bật lên đẳng cấp của mình Trang sức có thể phục
vụ mọi đối tượng khách hàng và đặc biệt nguồn cung ứng hàng hóa đa dạng, dồi dào
thoải mái lựa chọn Bên cạnh đó, trang sức không cần chiếm nhiều diện tích để trưng
bày và chứa hàng, dễ dàng chụp hình sản phẩm
Ai cũng muốn cho mình mang một vẻ đẹp riêng cá tính riêng Do đó cửa hàng
bán trang sức trực tuyến nhận thấy đây chính là cơ hội và tiềm năng để mình phát triển
thế mạnh của mình cùng với đó mang đến cho mọi người những món đồ trang sức đẹp
nhất và độc lạ Việc mua hàng ở các sàn thương mại điện tử ngày càng phổ biến, gần
gũi với người tiêu dùng nên việc mở ra website bán hàng trang sức là điều kiện phù
hợp và tiếp cận được nhiều khách hàng tiềm năng đặc biệt là giới trẻ, bắt kịp xu hướng
thời trang theo thời đại và theo phong cách mới Cửa hàng luôn tìm những cái mới độc
lạ, hiểu khách hàng để có thể phục vụ tốt nhất
Qua khảo sát thực tế thì hiện nay ở Huế cũng như các tỉnh thành khác xuất hiện
nhiều tiệm trang sức bán hàng trực tiếp, hay là những hình thức mua bán truyền thống
Khách hàng nhắm tới là những người yêu thích thời trang, cái đẹp, mà thành phần
nhiều ở đây là học sinh, sinh viên, những người trẻ tuổi Do đó, để tận dụng hết những
tiện ích mà thương mại điện tử mang lại, tiếp xúc với các hình thức mua bán trực
Trường Đại học Kinh tế Huế
Trang 11tuyến hiện đại, để phù hợp với xã hội phát triển như hiện nay thì trang web bán trang
sức ra đời nhằm tạo ra môi trường mua bán thuận tiện giữa người mua và người bán
Chỉ cần thiết bị thông minh kết nối với internet thì chúng ta có thể tìm thấy mọi thông
tin mình cần, hay đặt hàng nhanh chóng bằng vài thao tác chạm Lợi ích của trang web
nói chung thì đều thực hiện được các chức năng đặt hàng và xem tin tức, nhưng để tìm
thấy khách hàng đa dạng, tiềm năng thì chúng ta muốn thông tin của họ được lưu trữ
một cách khoa học, dễ tìm, chính vì thế trang web bán trang sức với đề tài “Xây dựng
website bán trang sức trực tuyến dựa trên nền tảng Node.JS và ReadJS” ra đời nhằm
đáp ứng các nhu cầu cao hơn, phục vụ cho khách hàng chu đáo, uy tín hơn trong xã
hội mà công nghệ thông tin phát triển mạnh mẽ và hiện đại như ngày nay
2 Mục tiêu và nhiệm vụ nghiên cứu
2.1 M ục tiêu
- Xây dựng Website Bán Trang Sức trực tuyến với giao diện thân thiện, dễ sử
dụng đối với người dùng
2.2 Nhi ệm vụ
- Nghiên cứu và nắm vững các nghiệp vụ về bán hàng trực tuyến và thanh toán
trực tuyến
- Nghiên cứu về React và các thư viện giao diện người dùng (User Interface - UI)
- Tìm hiểu và nắm rõ cơ sở dữ liệu phi quan hệ (Not only Structured Query
Language - NoSQL) MongoDB
- Tìm hiểu cơ bản về nodejs và một số thư viện của nó để hỗ trợ cho việc xây
dựng website
- Nghiên cứu các mô hình và quy trình phát triển hệ thống thông tin
3 Đối tượng và phạm vi nghiên cứu
3.1 Đối tượng nghiên cứu
- Quy trình bán hàng của các cửa hàng trang sức trên địa bàn thành phố Huế và
các chức năng cần có của các trang web bán trang sức trực tuyến nổi tiếng như:
pnj.com, katjewelry.vn…
Trường Đại học Kinh tế Huế
Trang 12- Các công nghệ và công cụ được sử dụng để xây dựng trang web như:
Cơ sở dữ liệu noSQL MongoDB
Khung ứng dụng web cho nodeJs (ExpressJS)
Thư viện Javascript (React)
Hệ thống phần mềm để viết ứng dụng NodeJS
Trình biên tập mã (Code editor) Visual Studio Code
Cổng thanh toán điện tử Paypal
3.2 Ph ạm vi nghiên cứu
- Không gian: Trang web được xây dựng dựa trên khảo sát thực tế các cửa hàng
trang sức trong phạm vi Tỉnh Thừa Thiên Huế
- Thời gian: 11/10/2021 – 16/01/2022
4 Phương pháp nghiên cứu
Để nghiên cứu và xây dựng trang web bán trang sức online phù hợp với nhu cầu
phần đông các người dùng đã sử dụng các phương pháp thu thập thông tin sau:
- Phương pháp quan sát: Đi đến các cửa hàng trang sức để quan sát trực tiếp quá
trình bán hàng, mua hàng tại các trang bán trang sức trực tuyến để hiểu rõ về nghiệp
vụ
- Phương pháp nghiên cứu tài liệu: Tìm hiểu các lý thuyết để xây dựng để xây
dựng trang web bán trang sức trực tuyến thông qua tài liệu sách vở, video, slide,
internet liên quan đến nghiệp vụ
- Phương pháp phỏng vấn: Phỏng vấn nhân viên bán hàng, tìm hiểu ý tưởng, quá
trình quản lý, nhắn tin với người hỗ trợ các website bán trang sức để hiểu rõ hơn cũng
như nâng cao hiệu quả trong việc phát triển website
Sau khi tiến hành thu thập thông tin, người dùng sử dụng các phương pháp sau
trong quá trình phát triển hệ thống thông tin:
- Phân tích thiết kế hệ thống theo hướng đối tượng: sử dụng công cụ UML
- Phương pháp thiết kế cơ sở dữ liệu: thiết kế cơ sở dữ liệu dựa trên biểu đồ lớp và
mô tả bài toán; thiết kế kiến trúc website dựa trên những yêu cầu về mặt tính năng; thiết
kế giao diện dựa trên các biểu đồ ca sử dụng, biểu đồ tuần tự và biểu đồ hoạt động
Trường Đại học Kinh tế Huế
Trang 135 Bố cục khóa luận
Ngoài phần mở đầu và kết luận, cấu trúc của khóa luận gồm ba chương:
Chương 1: Cơ sở lý luận về xây dựng trang web bán trang sức trực tuyến
dựa trên nền tảng NodeJS và ReactJS: Trình bày một số khái niệm, cơ sở lý luận về
bán hàng trực tuyến và thanh toán điện tử Tổng quan về các công cụ, ngôn ngữ và nền
tảng để xây dựng trang web
Chương 2: Giới thiệu bài toán xây dựng trang web bán trang sức trực
tuyến dựa trên nền tảng NodeJs và ReactJs: Mô tả bài toán và xác định chức năng
của các tác nhân trong hệ thống
Chương 3: Phát triển trang web bán trang sức trực tuyến dựa trên nền
tảng NodeJs và ReactJS: Phân tích yêu cầu bài toán và tiến hàng thiết kế cơ sở dữ
liệu và giao diện
Trường Đại học Kinh tế Huế
Trang 14PHẦN II: NỘI DUNG
CHƯƠNG 1: CƠ SỞ LÝ LUẬN VỀ XÂY DỰNG WEBSITE BÁN TRANG SỨC
TRỰC TUYẾN DỰA TRÊN NỀN TẢNG NODEJS VÀ REACTJS
1.1 Tổng quan về bán hàng trực tuyến
1.1.1 Bán hàng tr ực tuyến
Bán hàng trực tuyến [1] là một hình thức giao dịch, mua bán sản phẩm, dịch vụ
của một cửa hàng, một doanh nghiệp trong môi trường Internet Nơi thực hiện việc bán
hàng trực tuyến này có thể là trên mạng xã hội, diễn dàn, blog, các sàn thương mại
điện tử, nhưng nhiều nhất vẫn là website thông qua các hình thức quảng cáo trực
tuyến, SEO website
Ưu điểm bán hàng trực tuyến:
- Giảm chi phí sản phẩm, chi phí tìm kiếm khách hàng, chi phí bán hàng, chi phí
tiếp thị
- Chi phí thấp, giá cả cạnh tranh
- Linh hoạt trong việc quảng bá sản phẩm
- Một nhân viên cùng một lúc có thể giao dịch với nhiều khách hàng, tiếp cận
được nhiều khách hàng tiềm năng
- Thông tin lưu trữ tự động, cho phép truy xuất dữ liệu bất cứ lúc nào, kiểm tra,
đánh giá tiện lợi
- Có nhiều phương thức tiếp thị trực tuyến miễn phí mà hiệu quả cao: tối ưu hóa
công cụ tìm kiếm website, đăng tin lên các nhóm facebook, diễn đàn, Kết hợp với các
hình thức tính phí thấp như Google Ads, Facebook Ads, Zalo Ads,
- Nhiều hình thức phong phú, thuận tiện cho khách hàng hơn: chuyển khoản, ví
điện tử, cổng thanh toán trực tuyến,
Nhược điểm bán hàng trực tuyến:
- Dễ lừa đảo, việc bảo mật thông tin cũng không đảm bảo hoàn toàn vì dễ bị
hacker tấn công lấy cắp dữ liệu của khách hàng nếu không có các hình thức bảo mật an
toàn
Trường Đại học Kinh tế Huế
Trang 151.1.2 Thanh toán điện tử
Thanh toán điện tử được hiểu [2] là hình thức thanh toán, tiến hành ngay trên
mạng Internet chỉ với một vài thao tác cực đơn giản Theo đó, khi tiến hành thanh
toán điện tử, người dùng có thể dễ dàng lựa chọn thao tác chuyển, nạp hay rút tiền
tùy ý; thay vì sử dụng tiền mặt, dòng tiền giờ đây có thể lưu chuyển cực nhanh chóng
thông qua các tài khoản trực tuyến
Hiện nay, ở Việt Nam có 04 hình thức thanh toán điện tử được sử dụng phổ
biến nhất, bao gồm: Thanh toán bằng thẻ, thanh toán qua cổng thanh toán, thanh toán
bằng ví điện tử và thanh toán bằng thiết bị điện thoại thông minh
Thanh toán điện tử bằng thẻ [2]:
- Đây là hình thức thanh toán điện tử phổ biến nhất hiện nay, với khoảng 90%
các giao dịch thương mại đều sử dụng hình thức này
Hình 1 1: Thanh toán điện tử bằng thẻ
- Hình thức thanh toán trực tuyến qua thẻ hiện có 02 loại:
Thẻ tín dụng hoặc ghi nợ quốc tế
Thẻ ghi nợ nội địa (loại này ít phổ biến ở Việt Nam nhưng lại rất phổ
biến trên thế giới)
Thanh toán qua ví điện tử [2]:
Trường Đại học Kinh tế Huế
Trang 16Hình 1 2: Thanh toán qua ví điện tử
- Ví điện tử được hiểu là một tài khoản trực tuyến dùng để chuyển - nhận tiền hay
thanh toán bất kỳ giao dịch thông thường nào của chủ tài khoản như: Mua thẻ điện
thoại, vé xem phim,
- Ngày nay, người dùng muốn sử dụng phương thức thanh toán điện tử qua ví
điện tử thì bắt buộc phải dùng điện thoại thông minh có tích hợp ví điện tử và có liên
kết với ngân hàng thì mới có thể tiến hành thanh toán trực tuyến
Hình 1 3: Thanh toán bằng điện thoại thông minh
Trường Đại học Kinh tế Huế
Trang 17- Với hình thức này, chỉ cần một chiếc điện thoại thông minh là bạn đã có thể dễ
dàng thanh toán các giao dịch của mình
- Để thanh toán bằng điện thoại thông minh, người dùng có thể lựa chọn thanh
toán qua Mobile Banking (xây dựng trên mô hình liên kết giữa ngân hàng, các nhà
cung cấp viễn thông với người dùng) hoặc thanh toán qua QR Code (tích hợp sẵn trên
ứng dụng di động)
S ử dụng cổng thanh toán điện tử [2]:
- Cổng thanh toán điện tử mang bản chất là dịch vụ mà khách hàng có thể thanh
toán tại các website thương mại điện tử Theo đó, nó cho phép kết nối an toàn giữa tài
khoản khách hàng sử dụng (thẻ, ví điện tử, ) với tài khoản website bán hàng, giúp
người sử dụng dịch vụ có thể chuyển - nhận tiền một cách an toàn và nhanh chóng
- Với nhu cầu sử dụng ngày càng tăng cao thì các cổng thanh toán điện tử tại Việt
Nam được mở ra ngày càng nhiều Với mỗi nhu cầu khác nhau thì bạn đều có thể lựa
chọn sử dụng các cổng thanh toán điện tử cung cấp các dịch vụ có những tính năng
tương ứng để thỏa mãn mong muốn của mình
1.1.3 Nh ững quy định của nhà nước về việc bán hàng trực tuyến
Hiện nay, trào lưu kinh doanh trực tuyến đang nở rộ với quy mô thị trường ngày
càng lớn, dần chiếm ưu thế hơn vo với các mảng kinh doanh khác Do đó, nhà nước đã có
những quy định nhằm thiết lập một môi trường lành mạng cho hoạt động kinh doanh đồng
thời nâng cao hiệu quả quản lý
Theo quy định tại Khoản 1, Điều 6 Thông tư số 47/2014/TT-BCT, các mạng xã
hội, website thương mại điện tử hoặc ứng dụng thương mại điện tử trên nền tảng di động
có một trong các hình thức hoạt động sau sẽ phải tiến hành thủ tục đăng ký với Bộ Công
Thương dưới hình thức sàn giao dịch thương mại điện tử, bao gồm [3]:
- 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,
Trường Đại học Kinh tế Huế
Trang 18- 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ụ
Điều 37, Nghị định số 52 có quy định về trách nhiệm của người bán trên
website, cụ thể [4]:
- Cung cấp đầy đủ thông tin về hàng hóa, dịch vụ như giá cả, phương thức vận
chuyển, giao nhận và thanh toán
- Đảm bảo tính chính xác, trung thực của thông tin hàng hóa, dịch vụ
- Cung cấp thông tin về tình hình kinh doanh của mình khi có yêu cầu của cơ
quan, của Nhà nước có thẩm quyền
- Tuân thủ quy định về thanh toán, quảng cáo, khuyến mại, bảo vệ quyền sở hữu
trí tuệ và bảo vệ quyền lợi người tiêu dung
- Thực hiện đầy đủ nghĩa vụ thuế theo quy định của pháp luật
Thông tư 47 năm 2014 của Bộ Công Thương, cụ thể Điều 3 quy định người bán
hàng trực tuyến không được sử dụng website thương mại điện tử để kinh doanh các mặt
hàng sau [5]:
- Súng săn và đạn súng săn, vũ khí thể thao, công cụ hỗ trợ
- Thuốc lá điếu, xì gà và các dạng thuốc lá thành phẩm khác
- Thực vật, động vật hoang dã quý hiếm, bao gồm cả các vật sống và các bộ phận đã
được chế biến
- Các hàng hóa hạn chế kinh doanh khác theo quy định của pháp luật
Trong đó, Nghị định 59/2006/NĐ-CP liệt kê một số mặt hàng khác bị hạn chế kinh
doanh như: hàng hóa có chứa chất phóng xạ, thiết bị bức xạ hoặc nguồn phóng xạ, hóa
chất
Trường Đại học Kinh tế Huế
Trang 19 Lệ phí môn bài: Tại khoản 3 Điều 1 Thông tư 65/2020/TT-BTC thì mức lệ
phí môn bài đối với cá nhân hoạt động kinh doanh hàng hoá, dịch vụ được quy định cụ thể
như sau [6]:
- Cá nhân, nhóm cá nhân, hộ gia đình có doanh thu trên 500 triệu đồng/năm:
1.000.000 (một triệu) đồng/năm;
- Cá nhân, nhóm cá nhân, hộ gia đình có doanh thu trên 300 đến 500 triệu
đồng/năm: 500.000(năm tram nghìn) đồng/năm;
- Cá nhân, nhóm cá nhân, hộ gia đình có doanh thu trên 100 đến 300 triệu
đồng/năm: 300.000 (ba trăm nghìn) đồng/năm
Trong đó: doanh thu để làm căn cứ xác định mức thu lệ phí môn bài đối với cá
nhân, hộ gia đình kinh doanh bán hang online là tổng doanh thu tính thuế thu nhập cá
nhân năm trước liền kề của hoạt động sản xuất, kinh doanh
Thuế giá trị gia tăng và thuế thu nhập cá nhân:
Theo quy định của Thông tư 40/2021/TT_BTC cá nhân, hộ gia đình kinh doanh
bán hang online có doanh thu trên 100 triệu đồng trong năm dương lịch có thể lựa 01
trong 03 phương pháp: phương pháp kê khai, phương pháp khai thuế theo từng lần phát
sinh, phương pháp khoán, để khai, tính thuế và nộp đúng số thuế theo quy định
- Số thuế GTGT phải nộp = Doanh thu tính thuế GTGT x Tỷ lệ thuế GTGT
- Số thuế TNCN phải nộp = Doanh thu tính thuế TNCN x Tỷ lệ thuế TNCN
Th ủ tục đăng ký sàn giao dịch thương mại điện tử
Theo quy định tại Điều 15 Thông tư số 47/2014/TT-BCT, thương nhân, tổ chức có
nhu cầu thực hiện theo các bước sau [7]:
- Bước 1: Doanh nghiệp, tổ chức đăng nhập vào website của Bộ Công Thương để
đăng ký đăng ký tài khoản đăng nhập hệ thống
- Bước 2: Trong vòng 3 ngày (tính theo ngày làm việc) Bộ Công Thương sẽ tiến
hành kiểm tra và duyệt hồ sơ online, sau đó sẽ thông báo cụ thể cho thương nhân tổ
chức
Trường Đại học Kinh tế Huế
Trang 20- Bước 3: Sau khi được cấp tài khoản đăng nhập hệ thống, thương nhânm tổ chức
tiến hành đăng nhập, chọn chức năng đăng ký website cung cấp dịch vụ thương mại
điện tử, tiến hành khai báo thông tin theo mẫu và đính kèm hồ sơ đăng ký
- Bước 4: Trong thời hạn 07 ngày làm việc, thương nhân, tổ chức nhận thông tin
phản hồi của Bộ Công Thương qua địa chỉ thư điện tử đã đăng ký
- Bước 5: Sau khi nhận được thông báo như mục thương nhân, tổ chức phải gửi
hồ sơ đăng ký bằng bản giấy cho Bộ Công Thương
1.2 Tổng quan về quy trình xây dựng website bán hàng
Quy trình xây dựng Website được phát biểu tổng quát qua các giai đoạn:
Giai đoạn 1: Thu thập thông tin từ khách hàng
- Tiến hành tìm hiểu tất cả các yêu cầu thực tế mà khách hàng đưa ra
- Tiếp nhận, tập hợp các yêu cầu của khách hàng đưa ra về Website và các thông
tin mà khách hàng cung cấp
Giai đoạn 2: Phân tích hệ thống
- Dựa vào các yêu cầu của khách hàng đưa ra để thiết kế Website và dựa vào các
thông tin khách hàng cung cấp để phân tích rõ mục đích cuối cùng về hệ thống của khách
hàng
- Lập kế hoạch cụ thể, chi tiết để thực hiện dự án
- Dựa trên kết quả khảo sát hệ thống, tiến hành thiết kế cấu trúc dự án cho toàn bộ hệ
thống nói chung và cho website nói riêng
Giai đoạn 3: Thiết kế hệ thống
- Tập trung phân tích kĩ các yêu cầu chi tiết của khách hàng và tiến hành thiết
kế giao diện theo chức năng hệ thống Website
- Tiến hành thu thập tài liệu cần thiết, xử lý hình ảnh liên quan
- Kiểm tra sản phẩm để đảm bảo hoàn toàn về tính thống nhất và độ thẩm mỹ cho
hệ thống
Trường Đại học Kinh tế Huế
Trang 21Giai đoạn 4: Xây dựng hệ thống
- Tiến hành xây dựng cơ sở dữ liệu cho hệ thống
- Xây dựng tài liệu, tiến hành hoàn thiện nội dung để đưa lên Website
- Tích hợp toàn bộ hệ thống thành một sản phẩm hoàn chỉnh
- Kiểm tra, sửa lại các lỗi của hệ thống và kiểm tra chất lượng của sản phẩm
Giai đoạn 5: Kiểm thử hệ thống
- Kiểm tra kĩ lưỡng và sửa lỗi cho hệ thống
- Chạy thử nhiều lần để đảm bảo rằng hệ thống không sai lệch so với thiết kế và
vẫn hoạt động tốt
- Tiến hành kiểm tra và sửa lỗi lần cuối
Gi ai đoạn 6: Nghiệm thu và chuyển giao
- Khách hàng duyệt chất lượng của dự án
- Đăng tải hệ thống và chuyển giao sản phẩm cho khách hàng
- Trực tiếp tư vấn và hướng dẫn khách hàng để việc quản trị hệ thống hiệu quả
hơn
- Đánh giá, bảo trì hệ thống
1.3 Công cụ xây dựng trang web
MERN STACK [8] là sự tập hợp của các công nghệ mã nguồn mở đều liên
quan đến javascript và cũng rất thịnh hành hiện nay MERN xuất phát từ MongoDB,
ExpressJS, React và NodeJS
Trường Đại học Kinh tế Huế
Trang 22Hình 1 4: Mô hình phát triển MERN STACK
1.3.1 Cơ sở dữ liệu NoSQL MongoDB
Cơ sở dữ liệu NoSQL [9] là Cơ sở dữ liệu được xây dựng dành riêng cho mô
hình dữ liệu và có sơ đồ linh hoạt để xây dựng các ứng dụng hiện đại Cơ sở dữ liệu
NoSQL được công nhận rộng rãi vì khả năng dễ phát triển, chức năng cũng như hiệu
năng ở quy mô lớn Các cơ sở dữ liệu này sử dụng nhiều mô hình dữ dữ liệu để truy
cập và quản lý dữ liệu Các loại cơ sở dữ liệu này được tối ưu hóa dành riêng cho các
ứng dụng yêu cầu mô hình dữ liệu linh hoạt có lượng dữ liệu lớn và độ trễ thấp, có thể
đạt được bằng cách giảm bớt một số hạn chế về tính nhất quán của dữ liệu của các cơ
MongoDB [10] là một cơ sở dữ liệu hướng tài liệu, hỗ trợ đa nền tảng, không
phải là cơ sở dữ liệu quan hệ Lý do chính để chuyển từ mô hình hóa quan hệ sang
dùng nó là vì khả năng mở rộng tốt hơn và là cơ sở dữ liệu hàng đầu của NoSQL, được
viết bằng C++
Ưu điểm
Trường Đại học Kinh tế Huế
Trang 23- Một trong những nơi lưu trữ tài liệu (document store) phổ biến nhất.
- Dễ dàng cài đặt, sử dụng cũng như duy trì
- Mã nguồn mở, miễn phí, đáng tin cậy có tốc độ và hiệu năng nhanh
- Khả năng linh hoạt, mở rộng, sẵn sàng cao
- Khả năng tự động phân vùng dữ liệu
- Hỗ trợ đầy đủ chỉ mục (index), tốc độ cập nhật nhanh chóng
Nhược điểm
- Dữ liệu dễ bị sai do không có ràng buộc
- Không hỗ trợ giao dịch hoặc giao dịch rất phức tạp
- Sử dụng nhiều bộ nhớ và giới hạn kích thước bản ghi (tối đa 16Mb)
- Không phù hợp với các ứng dụng có nhiều sự ràng buộc lẫn nhau
1.3.2 Mã ngu ồn đa nền tảng NodeJS
NodeJS [11] là một mã nguồn mở, đa nền tảng chạy trên môi trường Javascript
V8 Engine NodeJS sử dụng mô hình I/O lập trình theo sự kiện, non-blocking, do đó
NodeJS khá gọn nhẹ và hiệu quả - công cụ hoàn hảo cho các ứng dụng chuyên sâu về
dữ liệu theo thời gian thực chạy trên các thiết bị phân tán NodeJS có thể chạy trên đa
nền tảng hệ điều hành khác nhau từ Windows, Linux cho đến MacOs Bên cạch đó
NodeJS còn cung cấp các thư viện phong phú ở dạng Javascript Module khác nhau
giúp đơn giản hóa việc lập trình và giảm thời gian ở mức thấp nhất
Các tính năng của NodeJS [11]:
- Lập trình hướng sự kiện và không đồng bộ
Trang 24- Viết được cho cả 2 phía server và client Chạy đa nền tảng trên Windows, MAC
hoặc Linux Hơn nữa cộng đồng NodeJS rất lớn và hoàn toàn miễn phí
- NodeJS có thể xử lý hàng nghìn process và trả ra một luồng khiến cho hiệu xuất
hoạt động đạt mức tối đa nhất và tuyệt vời nhất
Nhược điểm
- Rất hạn chế khi áp dụng NodeJS khi xây dựng ứng dụng nặng, tốn tài nguyên
- Giống như hầu hết các công nghệ mới, việc triển khai NodeJS trên host không
phải là điều dễ dàng
- Thiếu sự kiểm duyệt chất lượng các module NodeJS
1.3 3 Thư viện xây dựng giao diện người dùng React
React (còn được gọi là Reactjs) [12] là một thư viện javascript phát triển tại
Facebook để hỗ xây dựng những thành phần có tính tương tác cao, có trạng thái và có
thể sử dựng lại được Nó cho phép những nhà phát triển web tạo ra giao diện người
dùng nhanh chóng Phần Views của React thường được hiển thị bằng việc chủ yếu
dùng các component chứa các component con hoặc các thẻ HTML (Hypertext
Markup Language) Một trong những đặc trưng duy nhất của React là việc render (kết
xuất) dữ liệu không những có thể thực hiện ở tầng máy chủ (server) mà còn ở tầng
người dùng (client)
Ưu điểm
- ReactJS đó chính là [13] việc tạo ra cho chính bản thân nó một dom ảo, đây là
nơi mà các component được tồn tại trên đó Việc tạo ra dom như vậy giúp cải thiện
hiệu suất làm việc rất nhiều, khi có tính toán cần thay đổi hoặc cần cập nhật những gì
lên Dom thì ReactJS đều tính toán trước và việc còn lại chỉ là thực hiện chúng lên
Dom, làm như vậy sẽ giúp cho ReactJS tránh được những thao tác cần có trên một
Dom mà không cần tốn thêm bất cứ chi phí nào
- ReactJS viết các đoạn code JS sẽ trởi nên dễ dàng hơn vì nó sử dụng một cú
pháp đặc biệt đó chính là cú pháp JSX nghĩa là cú pháp này cho phép ta trộn được giữa
code HTML và Javascript Ngoài ra ta còn có thể đem đoạn code thêm vào trong hàm
render mà không cần phải thực hiện việc nối chuỗi và đây được đánh giá là một trong
Trường Đại học Kinh tế Huế
Trang 25những đặc tính thú vị của ReactJS và việc chuyển đổi các đoạn HTML thành các hàm
khởi động đều được thực hiện từ bộ biến đổi chính đó chính là JSX
- Hiệu năng cao đối với các ứng dụng có dữ liệu thay đổi liên tục, dễ dàng cho
bảo trì và sửa lỗi
Nhược điểm
- Khó khăn trong việc tích hợp
- Khá nặng nếu so với các framework khác
- Khó tiếp cận cho người mới học
1.3.4 Khung ứng dụng ExpressJS
ExpressJS là [14] một khung ứng dụng web linh hoạt được xây dựng trên nền
tảng của NodeJS Nó cung cấp các tính năng mạnh mẽ để phát triển web hoặc mobile
Khi sử dụng ExpressJS, các nhà phát triển có thể tùy ý lựa chọn những thư viện cần
thiết cho các dự án cụ thể với khả năng tối ưu hóa và linh hoạt cao
- Thiết lập các lớp trung gian để trả dữ liệu về từ những yêu cầu của tác nhân
- Định nghĩa các đường dẫn định tuyến (router) cho phép sử dụng với các hành
động khác nhau dựa trên phương thức HTTP và URL
- Cho phép trả về các trang HTML dựa vào các tham số Chẳng hạn, trả về dữ
liệu động cho các mẫu email
- Dùng để khởi động máy chủ web
- Xác định cổng truy cập
- Cung cấp và hỗ trợ chia nhỏ các router làm cho ứng dụng có khả năng dễ mở
rộng cũng như bảo trì
1.3.5 Editor Visual Studio Code
Visual Studio Code [15] là một trình biên tập lập trình code miễn phí dành cho
Windows, Linux và macOS, Visual Studio Code được phát triển bởi Microsoft Nó
được xem là một sự kết hợp hoàn hảo giữa IDE và Code Editor.Visual Studio Code
còn hỗ trợ chức năng debug, đi kèm với Git, có syntax highlighting, tự hoàn thành mã
Trường Đại học Kinh tế Huế
Trang 26thông minh, snippets, và cải tiến mã nguồn Nhờ tính năng tùy chỉnh, nó cũng cho
phép người dùng thay đổi theme, phím tắt, và các tùy chọn khác
Hình 1 5: Visual Studio Code editor
1.3.6 C ổng thanh toán điện tử Paypal
Paypal [16] là một công ty hoạt động trong lĩnh vực thương mại điện tử, chuyên
cung cấp các dịch vụ thanh toán và chuyển tiền quốc tế qua mạng Internet Nó có thể
xem như là ví tiền điện tử hay tương tự như Internet Banking của các ngân hàng
L ợi ích của việc sử dụng Paypal [16]:
- Hệ thống thanh toán cự kỳ bảo mật
- Mạng lưới hệ thống rộng khắp, sử dụng trên toàn thế giới một cách nhanh
chóng, tiện lợi
- An toàn khi giao dịch cho cả người bán và người mua
- Dịch vụ hỗ trợ chăm sóc khách hàng tốt và nhanh chóng
- Hạn chế bị lộ thông tin tài khoản ngân hàng
Trường Đại học Kinh tế Huế
Trang 27Hình 1 6: Quy trình thanh toán của nút Paypal
Quy trình thanh toán sau khi tích hợp nút Paypal vào trang web hoạt động như
sau [17]:
- Bước 1: Lựa chọn phương thức Express Checkout bằng cách click vào nút
“Checkout with PayPal”
- Bước 2: Đăng nhập vào PayPal để xác minh danh tính
- Bước 3: Xem lại tổng thể giao dịch trên PayPal
- Bước 4: Xác nhận đơn đặt hàng và thanh toán trên website của bạn
- Bước 5: Nhận thông báo xác nhận đặt hàng
CHƯƠNG 2: GIỚI THIỆU BÀI TOÁN XÂY DỰNG TRANG WEB BÁN
TRANG SỨC TRỰC TUYẾN DỰA TRÊN NỀN TẢNG NODEJS VÀ REACTJS
2.1 Thực trạng xã hội hiện nay
Ngày nay khi xã hội ngày càng đi lên cùng với sự phát triển của khoa học kĩ
thuật thì không ai có thể phủ nhận vai trò của Công nghệ thông tin ngày càng xâm
nhập rộng rãi trong các lĩnh vực của cuộc sống Từ các công sở, cơ quan nhà nước,
công ty, văn phòng không những tin học đã tồn tại mà còn đóng vai trò quan trọng
trong đó
Hiện nay có hai loại trang web bán trang sức trực tuyến là: Những trang web tự
mình bán trang sức bao gồm: pnj.com.vn, trangsuc.doji.vn,… Những trang này thường
có uy tín và những ưu đãi nhất định Tuy nhiên, giá hơi mắc hơn so với loại hình còn
lại Bên cạnh những trang web tự mình bán trang sức thì trang web bán trang sức cho
các cá nhân, cửa hàng hay tổ chức cũng cực kỳ phổ biến Chẳng hạn, shopee.vn là một
trong những trang web thương mai điện tử không chỉ bán trang sức cho các cá nhân, tổ
Trường Đại học Kinh tế Huế
Trang 28trang sức tại trang các web loại này dẫn đến vấn đề kiểm soát người bán cũng bị nới
lỏng
Nhu cầu khách hàng mua hàng gia tăng cùng với các trang web bán trang sức
trực tuyến ngày càng nhiều, việc chọn được một trang bán trang sức trực tuyến uy tín
lại không hề đơn giản, những vấn đề như trang sức giả, trang sức nhái kém chất lượng
gây ảnh hưởng đến người mua khiến nhiều người phải đau đầu
2.2 Một số trang web bán trang sức trực tuyến hiện nay
Trang web pnj.com.vn
Trang web này hiện là trang web chính cho các cửa hàng trên toàn Việt Nam,
bán đa dạng mẫu mã, sản phẩm thiết kế từ PNJ thuộc Công ty cổ phần Vàng Bạc Đá
Quý Phú Nhuận
Một số tính năng nổi bật:
- Thanh toán bằng thẻ nội địa
- Thanh toán thông qua nhiều cổng thanh toán điện tử khác nhau
- Theo dõi đơn hàng
- Gửi chi tiết đơn hàng qua email
- Quảng cáo sản phẩm và đề xuất sản phẩm
Trang web trangsuc.doji.vn
Trang web này là trang sức thương hiệu Quốc gia Việt Nam Với hệ thống phân
phối trải dài từ Bắc vào Nam, sự đa dạng về chủng loại, độc đáo về kiểu dáng, dẫn đầu
về xu hướng
Một số tính năng nổi bật:
- Hỗ trợ đăng nhập bằng Google, Facebook
- Hỗ trợ đa ngôn ngữ
- Thông báo chi tiết đơn hàng qua email
- Áp dụng nhiều hình thức thanh toán
- Gợi ý sản phẩm
Trường Đại học Kinh tế Huế
Trang 292.3 Mô tả bài toán xây dựng trang web bán trang sức trực tuyến
Trong quá trình nghiên cứu và tìm hiểu thì trang web bao gồm các chức năng:
Qu ản lý hệ thống
- Trang web chỉ có một quản lý duy nhất và tài khoản của quản lý sẽ được tạo sẵn
bao gồm (mã, tên, email, mật khẩu) Quản lý sẽ có thể sử dụng tất cả các chức năng
Ngoài ra, quản lý còn có thể tạo tài khoản để cấp cho nhân viên
- Khách hàng thì sẽ cần phải đăng ký tài khoản để có thể thực hiện một số chức
năng nhất định như đặt mua trang sức hay quản lý đơn hàng Tài khoản đăng ký bao
gồm các thông tin (mã khách hàng, tên khách hàng, email, mật khẩu, địa chỉ, số điện
thoại) Khách hàng sau khi đăng ký thì có thể đăng nhập để thay đổi thông tin tài
khoản và mật khẩu
Qu ản lý danh mục
- Khách hàng muốn mua trang sức thì có thể tìm kiếm trang sức thông qua bộ lọc
tìm kiếm Sau khi tìm kiếm thì khách hàng có thể xem chi tiết trang sức ở trang chi tiết
trang sức bao gồm (tiêu đề, mô tả giá, số lượng và hình ảnh)
- Quản lý có thể thực hiện chức năng thêm, sửa, xóa và tìm kiếm
Qu ản lý đơn hàng
- Khách hàng tìm kiếm sản phẩm trang sức xong thì thêm sản phẩm vào giỏ hàng
và đăng nhập để đặt mua hàng và thanh toán trực tuyến Sau khi thanh toán thì chi tiết
hóa đơn sẽ được gửi đến email khách hàng, thông tin hóa đơn bao gồm: danh sách các
sản phẩm đã mua và số lượng tương ứng, ngày đặt hàng, tổng hóa đơn
- Khách hàng có thể theo dõi đơn hàng Đơn hàng gồm có 3 trang thái: đang chờ
xử lý, đang vận chuyển và hoàn thành
- Quản lý và nhân viên chỉ có thể cập nhật tình trạng đơn hàng và không thể sửa
hoặc xóa
Qu ản lý đánh giá
- Sau khi mua hàng và đăng nhập thì khách hàng có thể đánh giá những sản phẩm
đã mua trước đó Và mỗi sản phẩm chỉ có thể đánh giá một lần Thông tin đánh giá
bao gồm: tiêu đề đánh giá, nội dung đánh giá, điểm đánh giá
Trường Đại học Kinh tế Huế
Trang 30- Quản lý có thể xem đánh giá của khách hàng về những sản phẩm và xóa nếu
muốn
Qu ản lý nhân viên
- Nhân viên được quản lý cấp tài khoản bao gồm các thông tin (mã nhân viên, tên
nhân viên, email, mật khẩu)
- Quản lý có thể thực hiện chức năng thêm, sửa xóa nhân viên
Th ống kê
- Quản lý có thể thống kê các sản phẩm bán chạy nhất của từng loại hoặc tất cả
các loại Ngoài ra, còn có thể thống kê doanh thu
2.4 Xác định chức năng của các tác nhân
Hệ thống được xây dựng với ba tác nhân chính, bao gồm: Khách hàng, nhân
viên và quản lý
Đối với khách hàng
- Tìm kiếm sản phẩm: Khách hàng có thể tìm kiếm sản phẩm thông qua tên.
- Xem chi tiết sản phẩm: Ở trang chi tiết sản phẩm một số thông tin sẽ được
hiển thị như: tiêu đề, giá, mô tả và những đánh giá của các khách hàng đã mua trước
đó
- Đăng ký: Khách hàng có thể đăng ký tài khoản với đầy đủ thông tin như số
điện thoại, địa chỉ để phục vụ cho quá trình giao hàng
- Đăng nhập: Khách hàng đăng nhập để thay đổi thông tin tài khoản, theo dõi
các đơn hàng đã đặt, đặt mua hàng và đánh giá sản phẩm đã mua
- Đặt hàng: Sau khi thêm sản phẩm vào giỏ hàng và đăng nhập thì khách hàng
có thể đặt hàng và thanh toán bằng Paypal Chi tiết đơn hàng sẽ được gửi đến email
của khách hàng
- Đổi thông tin tài khoản: Cập nhật thông tin khách hàng và đổi mật khẩu.
- Xem danh sách đặt hàng: Khách hàng cũng có thể xem các đơn hàng đã đặt và
chi tiết các sản phẩm của đơn hàng
Trường Đại học Kinh tế Huế
Trang 31Đối với nhân viên:
- Đăng nhập: Nhân viên được quản lý cấp một tài khoản để đăng nhập vào hệ thống.
- Quản lý đơn hàng: Xem và cập nhật tình trạng đơn hàng.
Đối với quản lý:
- Quản lý sản phẩm: Gồm các chức năng thêm, sửa và xóa sản phẩm.
- Quản lý Đánh giá: Quản lý có thêm, xem và xóa các đánh giá.
- Quản lý chất liệu: Gồm các chức năng thêm, sửa và xóa chất liệu.
- Quản lý đơn hàng: Xem và cập nhật tình trạng đơn hàng.
- Thống kê: Thống kê danh sách bán hàng gần nhất cho tất cả các loại hoặc từng
loại cụ thể và thống kê doanh thu
- Đăng nhập: Để thực hiện các chức năng trên, thì người quản lý phải đăng nhập.
2.5 Yêu cầu chung về trang web
Trang web phải đáp ứng được số lượng truy cập lớn, hoạt động thông suốt và
ổn định, nhiều người sử dụng tại cùng một thời điểm và hỗ trợ hiển thị tốt trên cả 3
loại thiết bị (máy tính, máy tính bảng, điện thoại), tốc độ tải dữ liệu nhanh, tích hợp
thanh toán trực tuyến và yêu cầu về lưu trữ dữ liệu dự phòng
Về giao diện phải bố cục hợp lý, tiện lợi cho trải nghiệm người dùng, tránh gây
khó chịu; sử dụng các font chữ dễ đọc, không gạch chân, đơn giản và phù hợp, tránh
dùng các font chữ lạ; hình ảnh sản phẩm phải rõ ràng, sắc nét và màu sắc giữa các
phần phải hài hòa với nhau, tránh sử dụng quá nhiều màu
Yêu cầu bảo mật tối đa tránh người dùng bị đánh cắp thông tin, mã hóa mật
Trường Đại học Kinh tế Huế
Trang 32CHƯƠNG 3: PHÁT TRIỂN TRANG WEB BÁN TRANG SỨC TRỰC TUYẾN
DỰA TRÊN NỀN TẢNG NODEJS VÀ REACTJS
3.1 Phân tích hệ thống
3.1.1 Phân tích yêu c ầu
Dựa vào mô tả bài toán, trang web có một số chức năng sau:
- Quản lý hệ thống: Tạo tài khoản, đăng ký, đăng nhập, đăng xuất, cập nhật
thông tin tài khoản
- Quản lý danh mục: Thêm sản phẩm, sửa sản phẩm, xóa sản phẩm, tìm kiếm sản
phẩm
- Quản lý đơn hàng: Xem đơn hàng, đặt hàng và cập nhật đơn hàng.
- Quản lý nhân viên: Thêm nhân viên, sửa nhân viên và xóa nhân viên.
- Quản lý đánh giá: Thêm đánh giá, xem đánh giá và xóa đánh giá.
- Thống kê: Thống kê các sản phẩm bán chạy nhất và doanh thu theo khoảng thời
gian
3.1.2 Bi ểu đồ gói
Biểu đồ gói [18] là tập hợp các biểu đồ lớp Các biểu đồ gói sẽ thiết lập mối
quan hệ giữa các gói Trong đó gói là những nhóm phần tử của hệ thống và chúng có
mối quan hệ ràng buộc đến nhau
Từ các chức năng được xác định ở trên thì biếu đồ gói được xây dựng như sau:
Trường Đại học Kinh tế Huế
Trang 33Hình 3 1: Biểu đồ gói của trang web
Hiện tại hệ thống bao gồm các tác nhân đó là quản lý, nhân viên và khách hàng
Mỗi tác nhân đều có chức năng riêng của mình
Bảng 3 1: Các tác nhân của Hệ thống STT Tác nhân Ý nghĩ, nhiệm vụ của Actor
1
Quản lý
Tác nhân Quản lý là chủ cửa hàng, giữ vai trò chínhcủa hệ thống trang web Tác nhân này có thể thựchiện mọi chức năng của hệ thống cũng như cấp tàikhoản cho tác nhân Nhân viên
2
Nhân viên
Tác nhân Nhân viên là người sử dụng hệ thống đã
được cấp tài khoản để sử dụng trang web Tác nhân
này chỉ có thể cập nhật tình trạng hóa đơn
Trường Đại học Kinh tế Huế
Trang 34Use case [19] là kỹ thuật được dùng trong kỹ thuật phần mềm và hệ
thống nhằm nắm bắt những yêu cầu chức năng của hệ thống Nó mô tả sự tương tác
đặc trưng giữa người dùng bên ngoài (actor) và hệ thống và cũng mô tả các yêu cầu
đối với hệ thống
Bi ểu đồ Usecase tổng quát
Hình 3 2: Biểu đồ Usecase tổng quát
Tất cả các nhóm chức năng khác đều phụ thuộc vào quản lý hệ thống, cụ thể là
phải đăng nhập vào hệ thống thì Actor mới có thể sử dụng các chức năng còn lại
Trường Đại học Kinh tế Huế
Trang 35Bi ểu đồ Usecase Quản lý hệ thống
Hình 3 3: Biểu đồ Usecase Quản lý hệ thống
Mô tả chức năng của các tác nhân ở hình 3.3:
- Chỉ có một quản lý duy nhất và tài khoản của quản lý được tạo sẵn, quản lý tạo
tài khoản để cấp cho nhân viên sau khi đăng nhập
- Tác nhân Nhân viên có thể đăng nhập sau khi được cấp tài khoản
- Khách hàng sau khi đăng ký tài khoản thì có thể đăng nhập và cập nhật thông
tin tài khoản
- Chức năng đăng xuất chỉ được thực hiện khi đã đăng nhập
Trường Đại học Kinh tế Huế
Trang 36Bi ểu đồ Usecase Quản lý đơn hàng
Hình 3 4: Sơ đồ Usecase Quản lý đơn hàng
- Mô tả chức năng của các tác nhân ở hình 3.4:
- Tác nhân Khách hàng đăng nhập để đặt hàng và theo dõi đơn hàng
- Tác nhân Quản lý và Nhân viên có quyền thay đổi tình trạng đơn hàng sau khi
đăng nhập
Trường Đại học Kinh tế Huế
Trang 37Bi ểu đồ Usecase Quản lý nhân viên
Hình 3 5: Biểu đồ Usecase Quản lý nhân viên
Mô tả chức năng của các tác nhân ở hình 3.5:
- Sau khi đăng nhập thì tác nhân Quản lý có thể thêm, sửa và xóa nhân viên
Trường Đại học Kinh tế Huế
Trang 38Bi ểu đồ Usecase Quản lý danh mục
Hình 3 6: Biểu đồ Usecase Quản lý danh mục
Mô tả chức năng của các tác nhân ở hình 3.6:
- Tác nhân quản lý có thể thêm, sửa, xóa sản phẩm sau khi đã đăng nhập
- Tác nhân khách hàng có thể tìm kiếm mà không cần đăng nhập
Trường Đại học Kinh tế Huế