đồ án xây dựng website thương mại điện tử kinh doanh thiết bị di động

101 0 0
Tài liệu đã được kiểm tra trùng lặp
đồ án xây dựng website thương mại điện tử kinh doanh thiết bị di động

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Trang 1

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINHTRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

2 NGUYỄN HUỲNH TUẤN KHANG – 20521437

TP HỒ CHÍ MINH, ngày 24 tháng 12 năm 2023

Trang 2

LỜI CẢM ƠN

Quá trình hội nhập đang diễn ra trên toàn thế giới Và quá trình mở cửa này sẽlàm cho hoạt động ngoại thương càng khẳng định được vị trí quan trọng của mình.Điều này đã dẫn đến sự phát triển không ngừng của các hoạt động mua bán trao đổihàng hóa, đặc biệt là các mặt hàng điện tử như điện thoại di động, đóng góp quan trọngtrong sự tăng trưởng không ngừng và là điều kiện để phát triển đối với mọi quốc gia.

Vì vậy, nhóm chúng em quyết định chọn đề tài: “ Xây dựng website thương mại điện

tử kinh doanh thiết bị di động”.

Bài báo cáo gồm các chương sau:

Chương 1: Giới thiệu đề tài: giới thiệu khái quát về đề tài, lý do chọn đề tài, mục tiêu

của dự án.

Chương 2: Kiến thức nền tảng: mô tả về những công nghệ được áp dụng vào dự án,

cách sử dụng, chức năng, thành phần, ưu điểm, nhược điểm.

Chương 3: Phân tích và thiết kế hệ thống: trình bày cụ thể sơ đồ Usecase, class

diagram, đi từ tổng quan đến chi tiết kiến trúc hệ thống.

Chương 4: Cài đặt và thực nghiệm: Mô tả cách cài đặt và sử dụng của website

Đầu tiên, nhóm muốn gửi lời cảm ơn sâu sắc đến giáo viên hướng dẫn Đỗ ThịThanh Tuyền đã tạo cơ hội, giúp đỡ cho nhóm chúng em trong suốt quá trình thực hiệnvà hoàn thành đồ án này Tuy nhiên do còn hạn chế về kiến thức và thời giạn thực hiện,nhóm chúng em có nhiều thiếu sót Do đó, nhóm mong muốn nhận được phản hồi từ côđể cải thiện về nội dung và hình thức, từ đó phát triển tiếp đồ án này trong kì sau vớikết quả tốt hơn.

Nhóm sinh viên thực hiệnVÕ ĐÌNH VÂN – NGUYỄN HUỲNH TUẤN KHANG

Trang 3

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

Trang 4

MỤC LỤC

Chương 1.GIỚI THIỆU 1

1.1 Giới thiệu đề tài 1

Trang 5

Chương 3.PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 18

3.1 Danh sách các yêu cầu 18

3.1.1 Yêu cầu chức năng 18

3.1.2 Yêu cầu phi chức năng 19

3.2 Phân tích yêu cầu 20

3.2.1 Yêu cầu chức năng 20

3.2.2 Yêu cầu phi chức năng 22

3.3 Thiết kế hệ thống 23

3.3.1 Frontend layer 23

3.3.2 Backend layer 24

3.4 Thiết kế dữ liệu 25

Trang 6

3.4.1 Use – case diagram 25

3.4.4.4 Use-case “Forgot Password” 31

3.4.4.5 Use-case “Manage Cart” 31

3.4.4.6 Use-case “Payment” 32

3.4.4.7 Use-case “Change User Profile” 33

3.4.4.8 Use-case “Manage product” 34

3.4.4.9 Use-case “Revenue manage” 35

3.4.4.10 Use-case “Comment” 36

3.4.4.11 Use-case “Evaluate product” 37

3.4.4.12 Use- case “Chat with admin” 37

Trang 7

3.5.16 Màn hình Page not found 73

3.5.17 Màn hình Profile (User profile) 74

3.5.18 Màn hình Profile (Change password) 75

3.5.19 Màn hình Profile (Delivery address) 76

3.5.20 Màn hình Profile (Purchase) 78

Trang 8

3.5.21 Màn hình Profile (See detail) 79

3.5.22 Màn hình Profile (See logout) 80

3.5.23 Màn hình Profile (Purchase empty) 81

Trang 9

DANH MỤC BẢNG

Bảng 3.1: Bảng danh sách các hoạt động 25

Bảng 3.2: Bảng danh sách Usecase 26

Bảng 3.3: Mô tả Use Case Login 27

Bảng 3.4: Mô tả Use Case Logout 28

Bảng 3.5: Mô tả Use Case Register 29

Bảng 3.6: Mô tả Use Case Forgot Password 31

Bảng 3.7: Mô tả Use Case Manage Cart 31

Bảng 3.8: Mô tả Use Case Payment 32

Bảng 3.9: Mô tả Usecase Change User Profile 33

Bảng 3.10: Mô tả Use Case Manage product 34

Bảng 3.11: Mô tả Use Case Manage product 35

Bảng 3.12: Mô tả Use Case Manage product 36

Bảng 3.13: Mô tả Use Case Manage product 37

Bảng 3.14: Mô tả Usecase Chat with admin 37

Bảng 3.15: Mô tả Usecase Chat 38

Trang 10

Bảng 3.27: Bảng comments 48

Bảng 3.28: Bảng adminChats 48

Bảng 3.29: Bảng Chats 49

Bảng 3.30: Tính năng của Header 50

Bảng 3.31: Tính năng của Header Manager 51

Bảng 3.32: Tính năng của Footer 52

Bảng 3.33: Tính năng màn hình Login 53

Bảng 3.34: Tính năng màn hình Register 54

Bảng 3.35: Tính năng màn hình Forgot password 55

Bảng 3.36: Tính năng màn hình Change password 56

Bảng 3.37: Tính năng màn hình Home Page 58

Bảng 3.38: Tính năng màn hình Category 60

Bảng 3.39: Tính năng màn hình Product detail 64

Bảng 3.40: Tính năng màn hình Cart 66

Bảng 3.41: Tính năng màn hình Order info 68

Bảng 3.42: Tính năng màn hình Detail bill 71

Bảng 3.43: Tính năng màn hình Profile (User profile) 74

Bảng 3.44: Tính năng màn hình Profile (Change password) 76

Bảng 3.45: Tính năng màn hình Profile (Delivery address) 77

Bảng 3.46: Tính năng màn hình Profile (Purchase) 78

Bảng 3.47: Tính năng màn hình Product Modifier 82

Bảng 3.48: Tính năng màn hình Product Modifier (Modal) 84

Bảng 3.49: Tính năng màn hình Product List 85

Bảng 3.50: Tính năng màn hình Dashboard 87

Bảng 3.51: Tính năng màn hình Chat 88

Trang 11

Hình 3.19: Màn hình Detail bill khi click Paypal 70

Hình 3.20: Màn hình Detail bill khi click Complete Purchase 70

Trang 12

Hình 3.21: Màn hình Thanks 72

Hình 3.22: Màn hình Page not found 73

Hình 3.23: Màn hình Profile (User profile) 74

Hình 3.24: Màn hình Profile (Change password) 75

Hình 3.25: Màn hình Profile (Delivery address) 76

Hình 3.26: Màn hình Profile (Purchase) 78

Hình 3.27: Màn hình See detail 79

Hình 3.28: Màn hình Profile (See logout) 80

Hình 3.29: Màn hình Profile (Purchase empty) 81

Trang 13

Chương 1 GIỚI THIỆU1.1 Giới thiệu đề tài

1.1.1 Tóm tắt đồ án

Tên đề tài: Xây dựng website thương mại điện tử kinh doanh thiết bị di động.

Mô tả sơ lược:

o Website được thiết kế đơn giản và bắt mắt hơn các trang web hiện tại trênthị trường với độ tiếp cận cao và dễ sử dụng, dễ thao tác khi thực hiện.o Nhóm xây dựng Website quản lý hoạt động mua bán điện thoại di động

nhằm mục đích đơn giản hóa các hoạt động trao đổi về hàng điện tử.

o Trong tương lai sẽ có tích hợp những chức năng về dự đoán lượt mua/ bánvà liên hệ khách hàng.

1.1.2 Lý do chọn đề tài

Công nghệ được tạo ra để giúp đời sống của con người trở nên dễ dàng và tiệnlợi Trong đó, phát minh vĩ đại là điện thoại đã ra đời để biến điều đó thành sựthật Tuy nhiên, dần dần theo thời gian, con người càng có những nhu cầu vềtiện ích riêng như mua sắm online, tham khảo các mặt hàng thông qua website,những dịch vụ hậu đãi Vậy nên, với sự phát triển của thời đại, nhằm tối ưu hoánhững sở thích cá nhân và tiếp cận người dùng thì website quản lý bán điệnthoại di động chính là cách thức để đưa công nghệ điện thoại mới đến ngườitiêu dùng một cách nhanh chóng nhất.

Trang web quản lý bán điện thoại như chiếc cầu nối giữa người sản xuất, ngườibán hàng và cả người tiêu dùng, vậy nên nó đóng vai trò cực kỳ quan trọngtrong quá trình thương mại điện tử Mà cụ thể, người dùng có thể truy cập trangweb và tham khảo các sản phẩm điện thoại mà họ cần với thông tin đầy đủ, sản

Trang 14

phẩm đa dạng và có thể so sánh nhiều mẫu mã , hãng điện thoại khác nhau Từđó giúp cho trải nghiệm người dùng được tối ưu hoá và cải thiện doanh thu bánhàng Cùng với việc bắt kịp các xu hướng công nghệ hiện đại, các dòng sảnphẩm luôn được cập nhật một cách nhanh chóng, website còn có khả năng phântích dữ liệu người dùng để đưa ra các đề xuất mua hàng nhằm tối thiểu hoá rủiro tồn kho nhưng vẫn đáp ứng được yêu cầu của khách hàng mà không bị lỗithời Chung quy lại, website quản lý bán điện thoại không chỉ được tạo ra nhằmcải thiện cách tiếp thị đến thị trường mà có thể giúp doanh nghiệp có đượcdoanh số mong muốn và tiếp cận được công nghệ và cả khách hàng mục tiêu.

Nhằm bắt kịp được sự phát triển của công nghệ và mạng lưới bán hàng điện tửonline, hơn hết là đáp ứng nhu cầu khách hàng trong thời đại mới như hiện nay.Website được tạo ra với các mục đích phục vụ cộng đồng, tín đồ đam mê côngnghệ, đồng thời mang lại nguồn thu nhập và góp phần vào sự phát triển củadoanh nghiệp nói riêng và đất nước nói chung.

1.1.3 Mục tiêu

1.1.3.1 Customer and Visitor

Website cung cấp cho khách hàng các chức năng cơ bản như đặt hàng, tìmkiếm và hiển thị thông tin sản phẩm nhằm giúp người dùng dễ dàng trongviệc xem các thông tin sản phẩm phù hợp.

Người dùng tiết kiệm được thời gian chờ đặt hàng và tránh tình trạng thiếuthông tin sản phẩm.

Khách hàng sau khi có được sản phẩm như ý sẽ tiến hành đăng nhập tàikhoản để mua sản phẩm Thông tin người dùng, sản phẩm sẽ được lưu lạihệ thống dễ dàng sử dụng.

Trang 15

Để giúp doanh nghiệp quản lý tốt hơn thì website còn có chức năng thốngkê hàng tháng về kho hàng, doanh thu và doanh số cần được theo dõi sátsao, có dữ liệu bán hàng và khách hàng Dựa vào những thông tin thống kêđược từ chức năng này sẽ cho ra các hoạch định chiến lược cho kinh doanhvà các mục tiêu dài hạn sau này.

Tăng hiệu suất và lợi nhuận cho doanh nghiệp.

Trang bán hàng của website có thể thêm hoặc xoá sản phẩm giúp dễ dàngkiểm soát rủi ro hàng tồn kho cũng như có thể bắt kịp nhu cầu người dùng.

Thu thập dữ liệu về xu hướng và sở thích người tiêu dùng khi truy cập vàowebsite.

Cung cấp một trải nghiệm trực tuyến tốt hơn cho khách hàng.

Họ sẽ quản lí sản phẩm ( thêm, xóa, và sửa sản phẩm).

Trang 16

Quản lý doanh thu (từng tháng trong năm, doanh thu từng loại sản phẩmtrong tháng, thống kê 5 sản phẩm bán chạy nhất trong tháng)

Chat với toàn bộ khách hàng.

Quản lý sản phẩm tồn kho

1.1.5 Tổng quan dự án

 Website bán điện thoại di động này là một nền tảng thương mại điện tử thânthiện và chuyên nghiệp, mang đến cho khách hàng trải nghiệm mua sắm thuậntiện và đáng tin cậy Với một giao diện trực quan và dễ sử dụng, trang web cungcấp một loạt các sản phẩm điện thoại di động từ các thương hiệu nổi tiếng vàđáng tin cậy trên toàn cầu Bên cạnh đó, website bán điện thoại di động cungcấp công cụ quản lý toàn bộ hệ thống bằng trực tuyến, tạo điều kiện thuận lợi đểmở rộng kinh doanh, tăng doanh số bán hàng và xây dựng một hệ thống kinhdoanh trực tuyến tin cậy và chuyên nghiệp, thu hút sự quan tâm và lòng tin củakhách hàng.

1.2 Nội dung thực hiện

Trang 17

2.1.1 Giới thiệu [5.1]

React là một thư viện JavaScript declarative, hiệu quả và linh hoạt cho việcxây dựng giao diện người dùng React cho phép bạn tạo những giao diện

Trang 18

(UI) phức tạp từ những đoạn code nhỏ và độc lập Những đoạn code nàyđược gọi là “components”.

Components của công cụ này được phát triển bởi Facebook Nó được ra mắtnhư một công cụ JavaScript mã nguồn mở vào năm 2013 Hiện tại, nó đã đitrước các đối thủ chính như Angular và Bootstrap, hai thư viện JavaScriptbán chạy nhất thời bấy giờ.

2.1.2 Ưu điểm [5.2]

Dễ sử dụng: React là một thư viện GUI nguồn mở JavaScript tập trung vàomột điều cụ thể hoàn thành nhiệm vụ UI hiệu quả Được phân loại thànhkiểu “V” trong mô hình MVC (Model-View-Controller).

Hỗ trợ Reusable Component trong Java: React cho phép bạn sử dụng lạicomponents đã được phát triển thành các ứng dụng khác có cùng chức năng.Tính năng tái sử dụng component là một lợi thế khác biệt cho các lập trìnhviên.

Viết component dễ dàng hơn: react component kết hợp tuyệt vời củaJavaScript và HTML Có thể làm rõ toàn bộ quá trình viết cấu trúc trangweb Ngoài ra, phần mở rộng cũng giúp render nhiều lựa chọn dễ dàng hơn.

Hiệu suất tốt hơn với Virtual DOM: React sẽ cập nhật hiệu quả quá trìnhDOM (Document Object Model – Mô hình đối tượng tài liệu)

Thân thiện với SEO: React cho phép bạn tạo giao diện người dùng có thểđược truy cập trên các công cụ tìm kiếm khác nhau Tính năng này là mộtlợi thế rất lớn vì không phải tất cả các khung JavaScript đều thân thiện vớiSEO.

Trang 19

2.1.3 Nhược điểm [5.2]

React tăng kích thước của ứng dụng mà người dùng tải xuống

Sẽ có thêm chi phí về khả năng tính toán và bộ nhớ của thiết bị.

Để bắt đầu học React JS, một lập trình viên không chỉ phải học thư viện màcòn phải làm quen với mô hình.

Redux giúp các ứng dụng bạn viết có thể hoạt động một cách nhất quán vàcó thể hoạt động trong nhiều môi trường khác nhau như client, server,

Trang 20

native,… Ngoài ra, sử dụng thư viện Redux để lưu trữ cũng giúp quá trìnhtest/kiểm thử phần mềm dễ dàng hơn.

2.2.2 Cách hoạt động của Redux

Redux dựa trên 3 thành phần chính là: Actions, Store, Reducers.

o Actions: là bước đầu tiên trong luồng hoạt động của Redux và là cách đểgửi dữ liệu từ ứng dụng đến Redux Store (cửa hàng redux) Bất cứ khinào trạng thái của app hay là render của view thay đổi thì sẽ có một hànhđộng sẽ được tạo ra.

o Reducers: Sau khi các dữ liệu được Actions sẽ chuyển về Reducers Đâylà nơi state được lưu giữ dưới dạng đối tượng và giúp xác định sự thayđổi trạng thái ứng dụng sao cho đáp ứng Action được gửi tới Store Lúcnày Reducer sẽ làm nhiệm vụ định hướng sự thay đổi của các state mỗikhi Actions có phản hồi và phản hồi được gửi đến reducer.

o Store: Store là nơi lưu trạng thái của ứng dụng và chỉ có duy nhất mộtStore trong bất kỳ một chương trình ứng dụng Redux nào Nhiệm vụ củastore chính là quản lý, access các state được lưu, update state thông quadispatch, cho phép truy cập state thông qua Getstate và đăng ký hoặchủy đăng ký các listeners thông qua helper methods.

Trang 21

Được phát hành chính thức từ thập niên 90s, MySQL hiện đang quản lý dữliệu qua những cơ sở dữ liệu, với mỗi một cơ sở dữ liệu hoàn toàn có thể córất nhiều những bản quan hệ có chứa dữ liệu Ngoài ra, MySQL cũng cócùng 1 cách thức truy xuất cũng như mã lệnh tương tự cùng với ngôn ngữSQL.

Trang 22

Hình 2.3: MySQL

2.3.2 Cơ chế hoạt động

Với những thông tin chi tiết trên về khái niệm MySQL, vậy cơ chế hoạtđộng của MySQL là gì? Theo đó cách thức vận hành chính tại MySQL môitrường hiện tại là:

MySQL đang tạo ra bảng để có thể lưu trữ dữ liệu và định nghĩa về sự liênquan giữa những bảng đó

Client sẽ trực tiếp gửi yêu cầu SQL bằng 1 lệnh đặc biệt có trên MySQL.

Ứng dụng tại server sẽ tiến hành phản hồi thông tin cũng như trả về nhữngkết quả trên máy client.

Trang 23

Hình 2.4: Bảng lưu trữ dữ liệu và sự liên quan

2.3.3 Tại sao dùng MySQL

MySQL là CSDL có tốc độ khá cao, ổn định và khá dễ sử dụng có thể hoạtđộng được trên khá nhiều hệ điều hành.

Tính bảo mật mạnh và sử dụng được trên nhiều ứng dụng mà MySQL cònhoàn toàn được sử dụng miễn phí.

MySQL không chỉ dừng lại ở bổ trợ cho PHP và Perl, mà nó còn bổ trợ chonhiều ngôn ngữ khác, Nó là nơi để lưu trữ thông tin trên các trang web đượcviết bằng Perl hoặc PHP.

Trang 24

2.3.4 Ưu điểm

Nhanh chóng: Nhờ vào việc đưa ra một số những tiêu chuẩn và cho phépMySQL làm việc hiệu quả cũng như tiết kiệm chi phí, giúp gia tăng tốc độthực thi.

Mạnh mẽ và khả năng mở rộng: MySQL hoàn toàn có thể xử lý số lượnglớn dữ liệu và đặc biệt hơn thế nữa thì nó còn có thể mở rộng nếu như cầnthiết

Đa tính năng: Ưu điểm MySQL là gì? MySQL hiện đang hỗ trợ nhiềunhững chức năng SQL rất được mong chờ từ 1 hệ quản trị CSDL quan hệ cảgián tiếp cũng như trực tiếp.

Độ bảo mật cao: MySQL là gì? Hiện tại nó đang rất thích hợp cho nhữngứng dụng truy cập CSDL thông qua internet khi sở hữu rất nhiều những tínhnăng về bảo mật và thậm chí là đang ở cấp cao.

Dễ dàng sử dụng: MySQL đang là cơ sở dữ liệu dễ sử dụng, ổn định, tốc độcao và hoạt động trên rất nhiều những hệ điều hành đang cung cấp 1 hệthống lớn những hàm tiện ích rất mạnh.

2.3.5 Nhược điểm

Dung lượng hạn chế: Trong trường hợp nếu như số lượng bản ghi của bạnđang lớn dần lên thì khi đó quá trình truy xuất dữ liệu sẽ diễn ra vô cùngkhó khăn Như vậy cần phải áp dụng rất nhiều những biện pháp khác nhauđể có thể gia tăng được tốc độ truy xuất những dữ liệu ví dụ như tạo cacheMySQL hoặc chia tải database ra nhiều server

Độ tin cậy: Nhược điểm MySQL là gì? Theo đó cách thức nhận chức năngcụ thể đang được xử lý cùng với MySQL (ví dụ như kiểm toán, những giao

Trang 25

dịch, tài liệu tham khảo,…) khiến cho nó trở nên kém tin cậy hơn một sốnhững hệ quản trị về cơ sở dữ liệu có quan hệ khác.

2.4 NodeJS là gì [6.1]

2.4.1 Khái niệm

Nodejs là một nền tảng được xây dựng dựa trên thời gian chạy JavaScriptcủa Chrome để dễ dàng xây dựng các ứng dụng mạng nhanh và có thể mởrộng Nodejs sử dụng kiến trúc hướng sự kiện event-driven, không chặn(non-blocking), làm cho nó nhẹ hơn và hiệu quả hơn, hoàn hảo cho các ứngdụng real-time sử dụng nhiều dữ liệu chạy trên các thiết bị phân tán.

Là một môi trường chạy mã nguồn mở, đa nền tảng, Nodejs được dùng đểphát triển các ứng dụng mạng Node.js cũng cung cấp một thư viện phongphú gồm các mô-đun JavaScript khác nhau, giúp đơn giản hóa việc pháttriển các ứng dụng web sử dụng Node.js ở một mức độ lớn.

Hình 2.5: Nodejs

Trang 26

2.4.2 Tính năng

Lập trình kiến trúc hướng sự kiện và không đồng bộ: Tất cả các API của thưviện Node.js đều không đồng bộ, và không bị chặn (non-blocking) Về cơbản, điều đó nghĩa là một máy chủ dựa trên Node.js không bao giờ đợi APItrả về dữ liệu Server chuyển đến API tiếp theo sau khi gọi API đầu tiên vàcơ chế thông báo Sự kiện của Node.js giúp máy chủ nhận phản hồi từ lệnhgọi API trước đó.

Cực kỳ nhanh chóng: Được xây dựng trên Công cụ JavaScript V8 củaGoogle Chrome, thư viện Node.js xử lý mã rất nhanh.

Đơn luồng nhưng có khả năng mở rộng cao: Node.js sử dụng mô hình luồngđơn với vòng lặp sự kiện Cơ chế sự kiện giúp server phản hồi theo cáchkhông chặn (non-blocking) và làm cho máy chủ có khả năng mở rộng cao sovới các máy chủ truyền thống Node.js sử dụng chương trình luồng đơn vàvới cùng một chương trình có thể cung cấp dịch vụ cho một số lượng yêucầu lớn hơn nhiều so với các máy chủ truyền thống như Apache HTTPServer.

Không Buffering – Các ứng dụng Node.js không có buffer (vùng nhớ tạmthời) cho bất kỳ dữ liệu nào Các ứng dụng này chỉ xuất dữ liệu theo khối.

Có giấy phép – Node.js được phát hành theo giấy phép của MIT (Học việncông nghệ Massachusetts).

Trang 27

Ad Server: Các máy chủ quảng cáo.

Cloud Services: Các dịch vụ đám mây.

RESTful API: đây là những ứng dụng mà được sử dụng cho các ứng dụngkhác thông qua API.

Any Real-time Data Application: bất kỳ một ứng dụng nào có yêu cầu vềtốc độ thời gian thực.

Micro Services: Node.js có thể làm tốt việc chia nhỏ một ứng dụng lớnthành các dịch vụ nhỏ và kết nối chúng lại với nhau.

2.4.4 Ưu điểm

I/O hướng sự kiện không đồng bộ, cho phép nhà phát triển xử lý nhiều yêucầu cùng lúc.

Node.js sử dụng ngôn ngữ JavaScript là một ngôn ngữ lập trình khá dễ học.

Có thể cùng chia sẻ code ở cả phía server và client.

Node Package Manager (NPM) và module Node ngày càng phát triển mạnhmẽ.

Nodejs tỏ ra khó thao tác với các cơ sử dữ liệu quan hệ.

Mỗi callback cần phải đi kèm với nhiều callback lồng nhau khác.

Trang 28

Để sử dụng Nodejs, nhà phát triển phải có kiến thức tốt về JavaScript.

Nodejs tỏ ra không phù hợp với các thao tác cần nhiều CPU.

Firebase được ra đời vào năm 2011 bởi James Tamplin và Andrew Lee vớitên gọi ban đầu là Evolve, một nền tảng cung cấp các API để tích hợp tínhnăng chat vào các trang web.

Extensions: Những gói mã nguồn mở được đóng gói sẵn để tự động hóa cáctác vụ phát triển thông thường, như đồng bộ hóa dữ liệu giữa CloudFirestore và BigQuery, tích hợp với Algolia để tìm kiếm, gửi email khi cósự kiện xảy ra, xử lý thanh toán với Stripe

Trang 29

2.5.3 Tính năng

Realtime Database: Cơ sở dữ liệu thời gian thực, lưu trữ dưới dạng JSON,đồng bộ hóa với mọi kết nối, an toàn và nhanh chóng Realtime Databasecho phép bạn lưu trữ và truy vấn dữ liệu một cách đơn giản và hiệu quả,không cần quan tâm đến việc thiết lập server hay viết code backend.

Firebase Hosting: Dịch vụ deploy trang web và web app chỉ bằng nhữngthao tác đơn giản, có tính an toàn cao, phù hợp cho việc hiển thị các trangnhư điều khoản dịch vụ, chính sách bảo mật

Firebase Cloud Messaging: Dịch vụ gửi nhận tin nhắn miễn phí, có thể sửdụng để push thông báo cho người dùng khi có tin nhắn mới, sự kiện mới

Hỗ trợ nhiều nền tảng khác nhau, như web, Android, iOS, Unity, C++,

Khả năng mở rộng tự động theo quy mô của ứng dụng, không cần phải quảnlý cơ sở hạ tầng hay máy chủ.

Hưởng lợi từ hệ thống máy chủ mạnh mẽ và an toàn của Google, đảm bảohiệu suất cao và độ tin cậy cao cho các ứng dụng.

Có nhiều tính năng hữu ích cho việc phát triển ứng dụng như xác thực ngườidùng, lưu trữ tệp tin, tích hợp thanh toán, thực hiện kiểm thử phần mềm vàgỡ lỗi.

Trang 30

2.5.5 Nhược điểm

Firebase có giới hạn về dung lượng lưu trữ và số lượng kết nối trong phiênbản miễn phí Để sử dụng các tính năng nâng cao hoặc quy mô lớn hơn, cácnhà phát triển phải trả phí theo mức sử dụng.

Firebase có thể không đáp ứng được một số yêu cầu đặc biệt hoặc phức tạpcủa các ứng dụng.

Firebase có thể gặp khó khăn trong việc tích hợp với một số công nghệ hoặcdịch vụ khác Ví dụ, Firebase không hỗ trợ GraphQL hay Apollo Client, haicông nghệ phổ biến trong việc xây dựng API hiện đại.

Chương 3 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG3.1 Danh sách các yêu cầu

3.1.1 Yêu cầu chức năng

Quản lý Người Dùng:o Đăng ký

o Đăng nhập/Đăng xuấto Quên mật khẩu

o Thay đổi thông tin người dùngo Thay đổi mật khẩu

Quản lý Sản Phẩm:o Tìm kiếm sản phẩmo Xem chi tiết sản phẩmo Xem thông tin khuyến mãi

Trang 31

Quản lý Giỏ Hàng:

o Thêm sản phẩm vào giỏo Xóa sản phẩm khỏi giỏo Quản lý giỏ hàng

Giao Dịch:o Đặt hàngo Thanh toán

o Xem lịch sử mua hàng

Tương tác và Đánh Giá:o Đánh giá sản phẩmo Bình luận sản phẩmo Trò chuyện với admin

3.1.2 Yêu cầu phi chức năng

Hiệu Suất:

o Thời gian phản hồi của hệ thống

o Khả năng xử lý đồng thời nhiều yêu cầu

Bảo Mật:

o Bảo vệ dữ liệu người dùng

Trang 32

o Mã hóa thông tin thanh toáno Quản lý quyền truy cập

Tính Sẵn Sàng:

o Khả năng hoạt động liên tục

o Tối thiểu hóa thời gian hệ thống không hoạt động

Khả Năng Mở Rộng:

o Dễ dàng cập nhật và mở rộng tính năngo Tích hợp với các hệ thống khác

Tính Dễ Sử Dụng:

o Giao diện người dùng thân thiệno Hỗ trợ đa ngôn ngữ

o Hướng dẫn sử dụng rõ ràng

3.2 Phân tích yêu cầu

3.2.1 Yêu cầu chức năng

Trang 33

o Quên mật khẩu: Mô tả quy trình khôi phục mật khẩu, bao gồm các bước xác minh danh tính và tạo mật khẩu mới.

o Thay đổi thông tin người dùng và mật khẩu: Xác định thông tin nào có thể thay đổi và quy trình thay đổi an toàn.

Trang 34

o Xem lịch sử mua hàng: Phân tích cách thức lưu trữ và truy xuất thông tin đơn hàng cũ.

Trang 37

3.3.2 Backend layer

Hình 3.2: Kiến trúc Back-end

 Modal: Thành phần model tương ứng với tất cả logic liên quan đến dữ liệu mà người dùng làm việc với nó Nó duy trì dữ liệu của ứng dụng Về cơ bản nó là phần cơ sở dữ liệu ứng dụng.

 View: Thành phần view được sử dụng cho tất cả logic giao diện người dùng củaứng dụng View sử dụng mô hình hóa và trình bày dữ liệu ở dạng mà người dùng muốn Một người dùng cũng có thể được phép thực hiện các thay đổi đối với dữ liệu được trình bày cho người dùng Chúng bao gồm các trang tĩnh và động được kết xuất hoặc gửi đến người dùng khi yêu cầu chúng.

● Controller: Hoạt động như một giao diện giữa các thành phần Model và View đểxử lý tất cả các logic nghiệp vụ và yêu cầu gửi đến, thao tác dữ liệu bằng mô hình thành phần và tương tác view để hiển thị đầu ra cuối cùng.

Trang 38

STTTên đối tượngMô tả

1 Visitor Xem thông tin sản phẩm, tìm kiếm sản phẩm, đăng ký tài khoản, lấy lại mật khẩu đã quên.

2 Customer

Ngoài những chức năng của Visitor còn có thể quản lý thông tin cá nhân, đặt hàng, quản lý giỏ hàng, mua sản phẩm.

3 Manager Quản lý sản phẩm, doanh thu

Trang 39

3.4.3 Use – case list

9 Manager Revenue manage Quản lý doanh thu hàng tháng (doanh thu 12 tháng trong năm, doanh thu từng loại sản phẩm trong tháng, thống kê 5 sản phẩm bán chạy nhất trong

Trang 40

tháng)10 Customer,

Bảng 3.3: Mô tả Use Case Login

Đối tượng Customer, Manager.Điều kiện cần Không.

Luồng thay thế Không.

Yêu cầu đặc biệt Người dùng phải có một tài khoản đã đăng ký bao gồmemail, password.

Điều kiện sau cùng Khi đăng nhập thành công, người dùng có thể thực

Ngày đăng: 15/05/2024, 09:26

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan