1. Trang chủ
  2. » Luận Văn - Báo Cáo

xây dựng website thương mại điện tử ứng dụng cho bán đồ trang sức

82 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Nội dung

- Mục tiêu của đề tài: Phân tích thiết kế và xây dựng lên một kiến trúc website ứng dụng cho quảng bá, giới thiệu về các sản phẩm, dịch vụ mà doanh nghiệp kinh doanh cũng như cung cấp mộ

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC PHENIKAA

ĐỒ ÁN TỐT NGHIỆP

XÂY DỰNG WEBSITE THƯƠNG MẠI ĐIỆN TỬ ỨNG DỤNG CHO BÁN ĐỒ TRANG SỨC

Sinh viên: Nguyễn Thị Thanh

Mã số sinh viên: 19010029 Khóa: 2019-2023 Ngành: Công nghệ thông tin Hệ: Chính quy

Giảng viên hướng dẫn: TS Phạm Ngọc Hưng

Hà Nội – Năm 2024

Copies for internal use only in Phenikaa University

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC PHENIKAA

ĐỒ ÁN TỐT NGHIỆP

XÂY DỰNG WEBSITE THƯƠNG MẠI ĐIỆN TỬ ỨNG DỤNG CHO BÁN ĐỒ TRANG SỨC

Sinh viên: Nguyễn Thị Thanh

Mã số sinh viên: 19010029 Khóa: 2019-2023 Ngành: Công nghệ thông tin Hệ: Chính quy

Giảng viên hướng dẫn: TS Phạm Ngọc Hưng

Hà Nội – Năm 2024

Copies for internal use only in Phenikaa University

Trang 3

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

TRƯỜNG ĐẠI HỌC PHENIKAA

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

NHẬN XÉT ĐỒ ÁN TỐT NGHIỆP CỦA GIẢNG VIÊN HƯỚNG DẪN

Giảng viên hướng dẫn: TS Phạm Ngọc Hưng Khoa : Công nghệ thông tin Tên đề tài: Xây dựng website thương mại điện tử ứng dụng cho bán đồ trang sức Sinh viên thực hiện: Nguyễn Thị Thanh Lớp: K13 CNTT

NỘI DUNG NHẬN XÉT

1 Nhận xét ĐATN:

- Nhận xét về hình thức: Cuốn đồ án trình bày tuân thủ bố cục thể thức và định dạng theo quy định hiện hành của Nhà trường Hình ảnh, bảng biểu được căn chỉnh cẩn thận, thông tin rõ ràng

- Tính cấp thiết của đề tài: công nghệ thông tin ngày một ứng dụng rộng rãi trong mọi lĩnh vực của cuộc sống Hoạt động kinh doanh của các doanh nghiệp đã và đang chuyển dịch dần trên nền tảng công nghệ số Ứng dụng thương mại điện tử ngày một phổ biến, không chỉ các doanh nghiệp mà người tiêu dùng cũng đã hình thành các thói quen mua sắm trên mạng Đề tài hướng tới việc xây dựng một nền tảng website giúp các doanh nghiệp quảng bá hình ảnh và sản phẩm của mình cũng như hỗ trợ các hoạt động mua, bán trên không gian mạng nhằm đáp ứng nhu cầu thực tiễn từ các doanh nghiệp là một lựa chọn phù hợp

- Mục tiêu của đề tài: Phân tích thiết kế và xây dựng lên một kiến trúc website ứng dụng cho quảng bá, giới thiệu về các sản phẩm, dịch vụ mà doanh nghiệp kinh doanh cũng như cung cấp một nền tảng giúp người dùng có thể trải nghiệm hoạt động mua sắm trực tuyến Trên cơ sở kiến trúc đã xây dựng ứng dụng minh họa một website thương mại điện tử ứng dụng cho bán đồ trang sức Thông qua quá trình thực hiện đồ án, sinh viên củng cố, phát triển kỹ năng thiết kế và lập trình Copies for internal use only in Phenikaa University

Trang 4

Nội dung của đề tài: Thực hiện khảo sát yêu cầu, thông tin liên quan đến nhiệm vụ, kiến trúc một website thương mại điện tử cần có Thực hiện các phân tích, thiết kế xây dựng bản mô tả các chức năng, cơ sở dữ liệu Trên cơ sở đó, thiết lập cơ sở dữ liệu, xây dựng lên website Nghiên cứu và lựa chọn giải pháp công nghệ phù hợp cho phát triển sản phẩm Sản phẩm đã được sinh viên triển khai trên công nghệ NodeJS, ReactJS với hệ quản trị cơ sở dữ liệu (MongoDB) và các dịch vụ đi kèm nền tảng mã nguồn mở

- Tài liệu tham khảo: Cuốn đồ án đã trình bày danh sách các tài liệu tham khảo theo quy định, hướng dẫn hiện hành của Nhà trường Các tài liệu tham khảo có sự tin cậy và được tham chiếu trong nội dung trình bày đồ án

- Phương pháp nghiên cứu: Sinh viên kết hợp tìm hiểu, nghiên cứu cơ sở lý thuyết, giải pháp công nghệ kết hợp với thực hành thiết kế, lập trình tạo nên sản phẩm theo yêu cầu của đề tài

- Tính sáng tạo và ứng dụng: sinh viên có sự chủ động, sáng tạo, tìm tòi các giải pháp công nghệ ứng dụng cho đồ án của mình Thông qua các chức năng thực hiện được trên sản phẩm đồ án cho thấy sinh viên đã có sự tích lũy và ứng dụng tốt nhiều giải pháp công nghệ hiện đại, hữu ích cho sản phẩm đồ án

II Nhận xét tinh thần và thái độ làm việc của sinh viên:

Chủ động lập kế hoạch, khả năng làm việc độc lập tốt và sáng tạo, chịu khó học hỏi, tìm tòi trong thời gian thực hiện đồ án

III Kết quả đạt được:

Đồ án đã hoàn thành, đáp ứng các yêu cầu đặt ra của đề tài Cuốn báo cáo được biên soạn cẩn thận và trình bày được các vấn đề quan trọng về cơ sở lý thuyết, giải pháp công nghệ và kết quả thực hiện đồ án Sinh viên có sự tích cực, ham học hỏi và chủ động hoàn thành tốt nhiệm vụ được giao theo yêu cầu đồ án tốt nghiệp của mình Đồ án đáp ứng các yêu cầu đối với một đồ án tốt nghiệp ngành Công nghệ thông tin Sản phẩm (website thương mại điện tử) đã được sinh viên triển khai trên môi trường Internet để kiểm tra, thử nghiệm vận hành Đây có thể được xem như một điểm cộng của đồ án

Copies for internal use only in Phenikaa University

Trang 5

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

GIẢNG VIÊN HƯỚNG DẪN

(Ký, ghi rõ họ tên)

Copies for internal use only in Phenikaa University

Trang 6

LỜI CAM ĐOAN

Tên tôi là: NGUYỄN THỊ THANH

Mã sinh viên: 19010029 Lớp: K13 CNTT Ngành: Công nghệ thông tin

Tôi đã thực hiện đồ án tốt nghiệp với đề tài: Xây dựng website thương mại điện tử ứng dụng cho bán đồ trang sức

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: TS.Phạm Ngọc Hưng

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ác tác giả khá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

GIẢNG VIÊN HƯỚNG DẪN

Trang 7

LỜI CẢM ƠN

Em xin gửi lời cảm ơn sâu sắc và biết ơn đến Trường đại học Phenikaa và Khoa Công nghệ thông tin, cũng như đến tất cả thầy/cô giảng viên đã hỗ trợ và hướng dẫn em trong suốt quá trình học và thực hiện đồ án của mình

Trường đại học Phenikaa và Khoa Công nghệ thông tin đã tạo ra một môi trường học tập và nghiên cứu thú vị và phát triển Nhờ sự đầu tư và chỉ bảo của Trường và Khoa, em đã có cơ hội tiếp cận với những kiến thức và công nghệ mới nhất, cũng như tham gia vào các hoạt động của khoa và các đề tài thực tế

Đặc biệt, em muốn bày tỏ lòng biết ơn sâu sắc đến giảng viên hướng dẫn em trong quá trình thực hiện đồ án, đó là TS Phạm Ngọc Hưng Những hướng dẫn chi tiết và phản hồi cụ thể của thầy đã giúp em nắm vững kiến thức, phát triển kỹ năng và đặc biệt là hiểu rõ hơn về quy trình xây dựng một trang web bán hàng hiệu quả Sự tận tâm, kiến thức sâu rộng và sự động viên của Thầy, của Khoa, của Trường là nguồn động viên lớn lao giúp em vượt qua những khó khăn và hoàn thành đồ án một cách tốt nhất

Đồ án này không chỉ là một phần quan trọng trong quá trình học tập của em mà còn là cơ hội để em phát triển thêm kỹ năng và kiến thức Những bài học và kinh nghiệm mà em đã được học từ Trường, Khoa và các thầy/cô sẽ luôn là tài sản quý báu trong sự nghiệp của em Em tự hào và biết ơn sự hỗ trợ và cơ hội mà Trường, Khoa cùng với các thầy/cô đã mang lại cho em

Một lần nữa, em xin bày tỏ lòng biết ơn chân thành và sâu sắc đến Trường đại học Phenikaa, Khoa Công nghệ thông tin và các thầy/cô đã ủng hộ và hướng dẫn em trong suốt thời gian qua

Copies for internal use only in Phenikaa University

Trang 8

1.4 Mô tả công nghệ , ngôn ngữ lập trình được sử dụng trong hệ thống 13

1.4.4 Lý do sử dụng ReactJs , NodeJs , MongoDb để xây dựng hệ thống19

Copies for internal use only in Phenikaa University

Trang 9

2.1.2 Yêu cầu từ phía cửa hàng 21

2.4.2 Xây dựng biểu đồ UseCase và đặc tả về Use Case 24

4.1.3 Giao diện thông tin chi tiết của sản phẩm 58

Copies for internal use only in Phenikaa University

Trang 10

CHƯƠNG 5 : KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 67

DANH MỤC TÀI LIỆU THAM KHẢO

Copies for internal use only in Phenikaa University

Trang 11

DANH MỤC BẢNG BIỂU

Bảng 2.1 Chức năng của hệ thống 23

Bảng 2.2 Đặc tả UseCase đăng ký 25

Bảng 2.3 Đặc tả UseCase đăng nhập 26

Bảng 2.4 Đặc tả Use Case xem thông tin cá nhân 28

Bảng 2.5 Đặc tả Use Case sửa thông tin cá nhân 28

Bảng 2.6 Đặc tả Use Case quản lý danh mục sản phẩm 30

Bảng 2.7 Đặc tả Use Case xem thông tin sản phẩm 32

Bảng 2.8 Đặc tả Use Case chọn sản phẩm cần mua 33

Bảng 2.9 Đặc tả Use Case thêm vào giỏ hàng 34

Bảng 2.10 Đặc tả Use Case loại sản phẩm khỏi giỏ hàng 35

Bảng 2.11 Đặc tả Use Case thanh toán 36

Bảng 2.12 Đặc tả Use Case tiếp nhận đơn hàng 38

Bảng 2.13 Đặc tả Use Case xác nhận đơn hàng và giao hàng 39

Bảng 2.14 Đặc tả Use Case thống kê 40

Trang 12

DANH MỤC HÌNH ẢNH

Hình 2.1: Biểu đồ UseCase tổng quan 24

Hình 2.2 : Nhóm UseCase đăng ký đăng nhập 25

Hình 2.3 : Nhóm UseCase quản lý thông tin cá nhân 27

Hình 2.4 : Nhóm UseCase quản lý danh mục sản phẩm 30

Hình 2.5: Nhóm UseCase mua hàng 32

Hình 2.6 :Nhóm UseCase xử lý đơn hàng 38

Hình 2.7: Biểu đồ tuần tự Use Case đăng ký 41

Hình 2.8: Biểu đồ tuần tự Use Case Đăng nhập 42

Hình 2.9 :Biểu đồ tuần tự Use Case sửa thông tin cá nhân 42

Hình 2.10 :Biểu đồ tuần tự Use Case quản lý danh mục sản phẩm 43

Hình 2.11 :Biểu đồ tuần tự Use Case mua hàng và xử lý đơn hàng 43

Hình 2.12 :Biểu đồ hoạt động Use Case đăng ký 44

Hình 2.13 :Biểu đồ hoạt động Use Case đăng nhập 45

Hình 2.14 :Biểu đồ hoạt động Use Case sửa thông tin cá nhân 46

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

Hình 2.16 :Biểu đồ hoạt động Use Case tiếp nhận xử lý đơn hàng 48

Hình 3.1 :Biểu đồ quan hệ cơ sở dữ liệu 49

Hình 4.1 : Giao diện trang chủ 56

Hình 4.2 : Giao diện danh sách sản phẩm 57

Hình 4.3 : Giao diện Thông tin chi tiết của sản phẩm 58

Hình 4.4 : Giao diện đăng ký , đăng nhập 59

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

Hình 4.6 :Giao diện quản lý sản phẩm 62

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

Hình 4.8: Giao diện thống kê 65 Copies for internal use only in Phenikaa University

Trang 13

MỞ ĐẦU

Trong thời đại số hóa ngày nay, việc có một nền tảng thương mại điện tử mạnh mẽ trở thành yếu tố quyết định cho sự phát triển và thành công của nhiều doanh nghiệp Website thương mại điện tử không chỉ là một công cụ để trình bày sản phẩm mà còn là cầu nối giữa doanh nghiệp và khách hàng, mang lại trải nghiệm mua sắm trực tuyến thú vị và thuận tiện

Việc lựa chọn đề tài "Xây dựng website thương mại điện tử ứng dụng cho bán đồ trang sức" là một bước quan trọng trong việc nắm bắt cơ hội và đáp ứng nhu cầu thị trường ngày càng đa dạng Đồ trang sức không chỉ là sản phẩm mà còn là biểu tượng của vẻ đẹp và phong cách cá nhân, làm cho việc mua sắm trở thành trải nghiệm tinh tế và mong đợi Chính vì vậy, tôi tin rằng việc xây dựng một trang web ứng dụng thương mại điện tử chuyên nghiệp cho bán đồ trang sức sẽ không chỉ giúp doanh nghiệp thu hút khách hàng mục tiêu mà còn tạo ra m bột môi trường mua sắm trực tuyến tối ưu

Với đề tài này, việc sử dụng công nghệ và các ngôn ngữ lập trình hiện đại ReactJs và NodeJs mong muốn không chỉ xây dựng một nền tảng thương mại điện tử chất lượng cao cho bán đồ trang sức mà còn cung cấp một giải pháp toàn diện Tập trung vào việc cải thiện giao diện người dùng, quản lý sản phẩm và quản lý đơn hàng để đảm bảo trải nghiệm mua sắm trực tuyến thú vị và dễ dàng cho khách hàna1ug Đồng thời, cũng phát triển các tính năng bảo mật và thanh toán an toàn để tạo sự tin tưởng cho khách hàng trong quá trình mua sắm trực tuyến

Trong phạm vi của đề tài, sẽ tập trung vào các cửa hàng đồ trang sức, đặc biệt là những cửa hàng có nhu cầu mở rộng hoạt động trực tuyến hoặc cải thiện trải nghiệm mua sắm trực tuyến cho khách hàng của họ Đề tài sẽ xây dựng một ứng dụng web bán đồ trang sức sử dụng các công nghệ như React và Node.js và bao gồm các chức năng quản lý sản phẩm, đơn hàng, thanh toán và giao diện người dùng Tuy nhiên, đề tài không mở rộng để xây dựng một hệ thống hoàn chỉnh cho toàn bộ thị trường mà chỉ tập trung vào một phần nhỏ của nó

Copies for internal use only in Phenikaa University

Trang 14

Ngoài ra đề tài này có ý nghĩa khoa học bởi nó mang lại cơ hội để nghiên cứu và áp dụng kiến thức về phát triển phần mềm, giao diện người dùng, quản lý dữ liệu và thương mại điện tử trong ngữ cảnh thực tế Nó cũng có thể đóng góp vào nghiên cứu về tối ưu hóa trải nghiệm mua sắm trực tuyến

Về mặt thực tiễn, đề tài này hứa hẹn mang lại lợi ích cho cả cửa hàng và khách hàng trong lĩnh vực thương mại điện tử thời trang Việc phát triển một ứng dụng web thương mại điện tử ứng dụng cho bán đồ trang sức sẽ giúp cải thiện trải nghiệm mua sắm trực tuyến và tối ưu hóa quản lý kinh doanh, đồng thời tạo ra cơ hội mới cho các cửa hàng trong ngành này

Copies for internal use only in Phenikaa University

Trang 15

CHƯƠNG 1: TỔNG QUAN 1.1 Tổng quan về Website bán hàng trực tuyến 1.1.1 Website bán hàng trực tuyến là gì

Một website bán hàng trực tuyến, còn được biết đến như trang web thương mại điện tử (e-commerce website), đóng vai trò quan trọng trong cách mà doanh nghiệp và người tiêu dùng tương tác với thị trường và sản phẩm Được tạo ra trên nền tảng Internet, các trang web bán hàng trực tuyến là một phần không thể thiếu của cách thức tiêu dùng hiện đại Điều này cho phép người dùng truy cập và mua sắm từ bất kỳ đâu trên thế giới, mở ra cơ hội to lớn cho doanh nghiệp mở rộng và phát triển

Các trang web bán hàng trực tuyến thường cung cấp một giao diện trực quan cho người tiêu dùng Giao diện này không chỉ nên dễ sử dụng mà còn nên phản ánh thương hiệu của doanh nghiệp Thiết kế hấp dẫn, bố cục logic và sự dễ dàng trong việc tìm kiếm sản phẩm là các yếu tố quan trọng để tạo ra trải nghiệm người dùng tích cực Các trang web thường đi kèm với các tính năng như tìm kiếm nâng cao, bộ lọc sản phẩm, và khả năng so sánh sản phẩm để giúp người tiêu dùng tìm kiếm và so sánh các sản phẩm một cách dễ dàng

Sự đa dạng của sản phẩm và dịch vụ trên các trang web bán hàng trực tuyến là không giới hạn Chúng ta có thể tìm thấy từ quần áo, giày dép, đồ trang sức, thiết bị điện tử, đồ gia dụng, thực phẩm, sách, đến dịch vụ như vé máy bay, khách sạn, và nhiều lĩnh vực khác Điều này tạo ra sự thuận tiện cho người tiêu dùng, vì họ có thể mua sắm cho mọi nhu cầu từ một nền tảng duy nhất

Như vậy, một website bán hàng trực tuyến không chỉ là một cửa hàng ảo mà còn là một nền tảng đa dạng, tiện lợi, và đầy tiềm năng để kinh doanh phát triển và tạo ra nguồn thu nhập trực tuyến

Copies for internal use only in Phenikaa University

Trang 16

1.1.2 Lợi ích của một website bán hàng trực tuyến

Website bán hàng trực tuyến mang lại nhiều lợi ích quan trọng cho cả người tiêu dùng và doanh nghiệp Dưới đây là một số lợi ích chính của việc sử dụng và kinh doanh qua trang web bán hàng trực tuyến:

Đối với Người Tiêu Dùng

Sự tiện lợi: Người tiêu dùng có thể mua sắm và tìm kiếm sản phẩm mọi lúc, mọi nơi, 24/7, mà không cần phải di chuyển đến cửa hàng thông thường Điều này giúp tiết kiệm thời gian và công sức

Sự lựa chọn đa dạng: Các trang web bán hàng trực tuyến thường có danh mục rộng rãi và đa dạng về sản phẩm và dịch vụ, cho phép người tiêu dùng dễ dàng tìm kiếm và so sánh các sản phẩm khác nhau

Ưu đãi và khuyến mãi: Người tiêu dùng thường có cơ hội tận hưởng các ưu đãi, giảm giá và khuyến mãi độc quyền trên các trang web bán hàng trực tuyến Điều này có thể giúp họ tiết kiệm tiền và có trải nghiệm mua sắm tốt hơn

Tìm kiếm và đánh giá sản phẩm: Người tiêu dùng có thể tìm kiếm thông tin chi tiết về sản phẩm, đọc đánh giá từ người khác, và tìm hiểu về kinh nghiệm của những người đã mua sản phẩm đó trước đây, giúp họ đưa ra quyết định mua hàng thông minh hơn

Thanh toán an toàn: Hệ thống thanh toán trực tuyến thường được bảo mật, giúp bảo vệ thông tin cá nhân và tài chính của người tiêu dùng trong quá trình mua sắm

Đối với Doanh Nghiệp:

Mở rộng phạm vi khách hàng: Website bán hàng trực tuyến giúp doanh nghiệp tiếp cận được một lượng lớn khách hàng trên toàn thế giới, không giới hạn bởi vị trí địa lý

Copies for internal use only in Phenikaa University

Trang 17

Tiết kiệm chi phí vận hành: Doanh nghiệp có thể tiết kiệm nhiều chi phí liên quan đến việc vận hành cửa hàng vật lý như thuê mặt bằng, lương nhân viên, và chi phí điều hành hàng ngày

Quản lý dễ dàng: Các tính năng quản lý trực tuyến giúp doanh nghiệp dễ dàng theo dõi lượng tồn kho, đơn hàng, và thông tin khách hàng

Thu thập dữ liệu khách hàng: Doanh nghiệp có thể thu thập dữ liệu về hành vi mua sắm của khách hàng, từ đó tạo ra chiến lược tiếp thị và phát triển sản phẩm hiệu quả hơn

Mở cửa 24/7: Một trang web bán hàng trực tuyến hoạt động liên tục, giúp doanh nghiệp phục vụ khách hàng xuyên suốt ngày và đêm

Như vậy một website bán hàng trực tuyến là một công cụ quan trọng để kết nối doanh nghiệp và người tiêu dùng, giúp cả hai bên tận hưởng nhiều lợi ích về tiện lợi, sự lựa chọn, và tiết kiệm thời gian và tiền bạc

1.2 Giới thiệu đề tài “Xây dựng website thương mại điện tử ứng dụng cho bán đồ trang sức”

1.2.1 Tổng quan về đề tài

Website bán hàng trực tuyến đã trở thành một phần quan trọng trong cuộc sống hiện đại, giúp cho việc mua sắm trở nên thuận tiện và linh hoạt hơn bao giờ hết Đặc biệt, trong bối cảnh thị trường thời trang đang trỗi dậy, việc có một nền tảng trực tuyến mạnh mẽ có khả năng thể hiện và bán sản phẩm thời trang đang trở nên cần thiết hơn bao giờ hết Đề tài "Xây dựng website thương mại điện tử ứng dụng cho bán đồ trang sức" chính là một nỗ lực để kết hợp sự phát triển của công nghệ và ngành thời trang, mang đến một trải nghiệm mua sắm đỉnh cao cho khách hàng và giúp cửa hàng trang sức tối ưu hóa quản lý sản phẩm, tối ưu hóa doanh số bán hàng, và tạo lợi nhuận bền vững Để thực hiện đề tài này cần kết hợp kiến thức về phát triển web, quản lý kinh doanh, và thời trang để tạo ra một nền tảng trực tuyến độc đáo, thu hút và phục vụ khách hàng một cách tốt nhất

Copies for internal use only in Phenikaa University

Trang 18

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

Việc lựa chọn đề tài “Xây dựng website thương mại điện tử ứng dụng cho bán đồ trang sức” vì sự kết hợp của nhiều yếu tố quan trọng Thứ nhất, thị trường thời trang trực tuyến đang phát triển mạnh mẽ và việc tạo ra một nền tảng trực tuyến sẽ giúp các cửa hàng của đáp ứng được nhu cầu của khách hàng hiện đại Khách hàng ngày càng quan tâm đến việc mua sắm trực tuyến và em muốn đáp ứng mong đợi này bằng cách mang đến cho họ trải nghiệm mua sắm tốt nhất và thuận tiện nhất

Mục tiêu của đề tài này là xây dựng một trang web bán hàng trực tuyến hoàn chỉnh giúp cửa hàng tiếp cận được lượng lớn khách hàng tiềm năng và mở rộng thị trường Em muốn tạo ra một giao diện người dùng hấp dẫn và thân thiện với người dùng, cung cấp thông tin chi tiết về sản phẩm và tích hợp các tính năng thanh toán an toàn Ngoài ra, em muốn quản lý sản phẩm và đơn hàng hiệu quả hơn, tạo cơ hội cho khách hàng dễ dàng tìm kiếm sản phẩm và thực hiện giao dịch

1.2.3 Đối tượng nghiên cứu

Đối tượng nghiên cứu của đề tài xây dựng website thương mại điện tử ứng dụng cho bán đồ trang sức có thể được phân chia thành hai khía cạnh chính :

Khách hàng hay người mua hàng: Đây là những người sẽ truy cập và sử

dụng website để mua sắm sản phẩm đồ trang sức Nghiên cứu này có thể tập trung vào việc hiểu nhu cầu, mong muốn, và hành vi mua sắm trực tuyến của khách hàng Điều này bao gồm việc nghiên cứu về việc làm thế nào để thu hút và duy trì họ trên trang web, cải thiện trải nghiệm người dùng, và thúc đẩy giao dịch trực tuyến

Chủ cửa hàng và quản lý website: Đối tượng này bao gồm những người

chịu trách nhiệm xây dựng, quản lý và phát triển website bán hàng trực tuyến Nghiên cứu có thể liên quan đến việc phân tích các công nghệ và công cụ phát triển website, quản lý dữ liệu sản phẩm, quản lý đơn đặt hàng và lưu trữ thông tin khách hàng, cũng như xác định cách tối ưu hóa quy trình kinh doanh trực tuyến để tạo ra lợi nhuận và tối ưu hóa hoạt động của cửa hàng

Copies for internal use only in Phenikaa University

Trang 19

Ngoài ra, có thể có các đối tượng khác như đối thủ cạnh tranh trong ngành, các nhà cung cấp sản phẩm, hoặc các yếu tố khác có thể ảnh hưởng đến thành công của website bán hàng trực tuyến

1.2.4 Phạm vi

Phạm vi nghiên cứu của đề tài "Xây dựng website thương mại điện tử ứng dụng cho bán đồ trang sức" bao gồm các khía cạnh sau:

Phân tích thị trường: Nghiên cứu về thị trường đồ trang sức trực tuyến, bao

gồm phân tích người tiêu dùng, đối thủ cạnh tranh, và các xu hướng thị trường hiện tại

Thiết kế và phát triển website: Tạo ra một giao diện website hấp dẫn và dễ

sử dụng cho người mua hàng Bao gồm cả quản lý sản phẩm, giỏ hàng, thanh toán trực tuyến và các tính năng khác liên quan đến trải nghiệm mua sắm trực tuyến

Quản lý cơ sở dữ liệu: Tạo và quản lý cơ sở dữ liệu sản phẩm, thông tin

khách hàng, đơn hàng và lịch sử giao dịch

Tối ưu hóa trải nghiệm người dùng: Nghiên cứu và áp dụng các kỹ thuật

tối ưu hóa trải nghiệm người dùng để tạo ra trải nghiệm mua sắm trực tuyến tốt nhất cho khách hàng

Quản lý đơn hàng và thanh toán: Phát triển hệ thống quản lý đơn hàng và

thanh toán để xử lý các giao dịch mua sắm trực tuyến một cách hiệu quả và an toàn

Hỗ trợ khách hàng: Xây dựng hệ thống hỗ trợ khách hàng để giải quyết

các thắc mắc và yêu cầu hỗ trợ từ khách hàng

Đánh giá hiệu suất: Đánh giá hiệu suất của website bán hàng trực tuyến

thông qua việc theo dõi và phân tích dữ liệu về giao dịch, lượng truy cập, và các chỉ số khác

Luật pháp và tuân thủ: Nghiên cứu về các quy định pháp luật liên quan

đến hoạt động thương mại điện tử và đảm bảo rằng website tuân thủ các quy định này

Copies for internal use only in Phenikaa University

Trang 20

1.2.5 Lợi ích

Xây dựng một trang website thương mại điện tử ứng dụng cho bán đồ trang sức có thể mang lại nhiều lợi ích cho cửa hàng đó, bao gồm:

Thứ nhất, website bán hàng trực tuyến giúp cửa hàng đồ trang sức tiếp cận

được nhiều tệp khách hàng không chỉ phục vụ khách hàng địa phương mà có thể thu hút người mua từ khắp nơi trên toàn quốc Điều này mở ra những cơ hội mới để mở rộng thị trường và tăng doanh thu

Thứ hai, website cho phép cửa hàng trưng bày, quảng bá sản phẩm một

cách chi tiết và hấp dẫn hơn Khách hàng có thể xem hình ảnh sản phẩm, đọc mô tả chi tiết và đánh giá từ người dùng khác Điều này giúp xây dựng niềm tin và tạo điều kiện thuận lợi cho các quyết định mua sắm

Thứ ba, các công cụ thanh toán trực tuyến tích hợp giúp quá trình thanh

toán nhanh chóng và thuận tiện Khách hàng có thể dễ dàng mua sản phẩm và thanh toán mọi lúc, mọi nơi, tăng cơ hội chuyển đổi lượt truy cập thành đơn hàng

Thứ tư, khách hàng có thể dễ dàng tìm kiếm sản phẩm và sử dụng tính năng

tìm kiếm, lọc để tìm được sản phẩm phù hợp nhất với nhu cầu của mình Điều này giúp cải thiện trải nghiệm mua sắm và tăng sự hài lòng của khách hàng

Thứ năm, các website bán hàng trực tuyến còn mang lại lợi ích tiếp thị,

quảng cáo Các cửa hàng có thể tận dụng các kênh tiếp thị trực tuyến để tiếp cận khách hàng tiềm năng và xây dựng thương hiệu của mình một cách hiệu quả

Cuối cùng, việc theo dõi và phân tích dữ liệu trực tuyến có thể giúp các cửa

hàng hiểu rõ hơn về hành vi của khách hàng để tối ưu hóa chiến lược kinh doanh và sản phẩm

Như vậy việc thiết lập website bán hàng trực tuyến có thể mang lại nhiều lợi ích quan trọng, từ việc tăng doanh số bán hàng đến nâng cao trải nghiệm của khách hàng và tối ưu hóa việc quản lý kinh doanh cho cửa hàng

Copies for internal use only in Phenikaa University

Trang 21

1.3 Cấu trúc phổ biến trong việc xây dựng Website

1.3.1 FrontEnd trong phát triển ứng dụng Website Khái niệm:

Frontend là một phần quan trọng trong phát triển ứng dụng web và phần mềm, liên quan đến giao diện người dùng mà người dùng có thể tương tác và thấy được Frontend bao gồm tất cả các thành phần và công nghệ cần thiết để hiển thị thông tin, dữ liệu và nội dung cho người dùng một cách trực quan và hấp dẫn trên trình duyệt hoặc thiết bị của họ

Frontend thường bao gồm các ngôn ngữ lập trình web như HTML (Hypertext Markup Language) để xây dựng cấu trúc nội dung, CSS (Cascading Style Sheets) để định dạng và trình bày giao diện, và JavaScript để thêm tính năng tương tác và điều khiển ứng dụng Ngoài ra, các thư viện và khung làm việc như React, Angular, hoặc Vue.js cũng được sử dụng để tạo ứng dụng web phức tạp và dễ bảo trì

Frontend đóng vai trò quan trọng trong việc cung cấp trải nghiệm người dùng tốt, thu hút và giữ chân người dùng, cũng như làm cho thông tin và chức năng của ứng dụng trở nên dễ hiểu và tiện lợi Nó là khả năng giao tiếp chính giữa người dùng và hệ thống, vì vậy việc thiết kế và phát triển frontend đòi hỏi sự kỹ năng, kiến thức và quyết định chi tiết để tạo ra một trải nghiệm tốt cho người dùng

Trang 22

- Đánh giá việc lập trình, giám sát quá trình hoạt động của website và có kế hoạch cập nhật website trong tương lai

- Tiếp nhận phản hồi từ người dùng và có biện pháp xử lý kịp thời - Đảm bảo đáp ứng tốt nhất các tiêu chuẩn đồ họa

Các kỹ năng và công nghệ quan trọng trong Front-End:

HTML và CSS: Đây là cơ sở của thiết kế giao diện Bạn cần nắm vững HTML để tạo cấu trúc trang web và CSS để tùy chỉnh giao diện, màu sắc, và kiểu dáng

Responsive Design: Hiểu cách tạo giao diện đáp ứng để trang web hiển thị đẹp trên cả máy tính và thiết bị di động

Thư viện CSS hoặc Framework: Sử dụng thư viện CSS như Bootstrap, Material-UI, Semantic UI, Foundation, hoặc Tailwind CSS để tạo giao diện đẹp và nhanh chóng mà không cần viết CSS từ đầu

JavaScript: Cần nắm vững JavaScript để thực hiện các chức năng tương tác trên trang web, như hiển thị sản phẩm, thêm vào giỏ hàng, và tương tác với người dùng

ReactJs hoặc các framework tương đương: Việc sử dụng các framework sẽ giúp người dùng quản lý trạng thái, xây dựng các thành phần tái sử dụng, và tạo giao diện phức tạp Từ đó đem lại hiệu quả cao nhất cho việc xử lý giao diện cho người dùng tăng tốc quá trình phát triển và giảm thiểu những rủi ro có thể xảy ra trong khi coding

Routing: Sử dụng các thư viện định tuyến như React Router hoặc Vue Router để quản lý routing và điều hướng giữa các trang

Thao tác với API: Biết cách gửi các yêu cầu HTTP để tương tác với máy chủ và lấy dữ liệu từ API

Copies for internal use only in Phenikaa University

Trang 23

1.3.2 Backend trong phát triển ứng dụng Website Khái niệm:

BackEnd là thuật ngữ được dùng để chỉ những phần không thể nhìn thấy và không thể tương tác được của một trang web Những thành phần này sẽ chạy trong nền để cung cấp các chức năng cần thiết cho người dùng Có thể hiểu rằng Back-End chính là máy chủ của một trang web, có nhiệm vụ lưu trữ và sắp xếp dữ liệu sao cho website hoạt động hiệu quả nhất BackEnd thường sử dụng các ngôn ngữ lập trình như Java, Python, Ruby, PHP, hoặc Node.js để xây dựng các ứng dụng máy chủ

Backend có nhiệm vụ quản lý xác thực người dùng, xử lý yêu cầu từ phía người dùng, lưu trữ dữ liệu một cách an toàn, quản lý tài khoản người dùng, và xử lý thanh toán Nó đóng vai trò quan trọng trong việc đảm bảo tính bảo mật, hiệu suất và sự ổn định của ứng dụng Backend là nền tảng ẩn bên dưới, không thể thấy bằng mắt thường nhưng quyết định sự thành công của ứng dụng web và đảm bảo rằng mọi thứ hoạt động như mong đợi

Quản lý cơ sở dữ liệu (Database Management): Đây là một khía cạnh quan trọng trong việc phát triển ứng dụng và hệ thống thông tin về phía backend Cơ sở dữ liệu là nơi lưu trữ thông tin về sản phẩm, người dùng và đơn hàng Sử dụng hệ quản lý cơ sở dữ liệu (DBMS) phù hợp như PostgreSQL, MySQL, MongoDB, hoặc SQLite giúp quản lý dữ liệu một cách hiệu quả Hệ thống quản lý cơ sở dữ liệu cho phép thực hiện các truy vấn phức tạp để hiển thị thông tin sản phẩm một cách linh hoạt và hiệu quả, đồng thời cung cấp cơ sở cho việc xử lý mã nguồn Chính vì vậy quản lý cơ sở dữ liệu không chỉ đơn giản là việc lưu trữ dữ liệu mà còn là một phần quan trọng của việc phát triển và duy trì các ứng dụng và hệ thống thông tin hiện đại Nó đóng vai trò quan trọng trong việc đảm bảo tính hiệu quả và an toàn của hệ thống, cũng như trong việc đáp ứng các yêu cầu phức tạp của người dùng

Copies for internal use only in Phenikaa University

Trang 24

Thực hiện giao tiếp với Frontend: Backend và Frontend cần hợp tác để đảm bảo rằng dữ liệu được trao đổi một cách đáng tin cậy giữa máy chủ và trình duyệt Xử lý lỗi và sự cố: Backend phải xử lý các lỗi và sự cố một cách hợp lý, đảm bảo rằng ứng dụng hoạt động một cách ổn định và không gặp vấn đề

Backend đóng vai trò quan trọng trong việc đảm bảo rằng ứng dụng web hoạt động một cách đáng tin cậy và an toàn, và nó là phần không thể thấy nhưng quyết định sự thành công của một ứng dụng

1.3.3 Hosting Domain

Hosting domain là dịch vụ cung cấp không gian lưu trữ trực tuyến cho các tệp và dữ liệu liên quan đến một trang web cụ thể, được lưu trữ trên một tên miền (domain) riêng biệt Điều này cho phép lập trình viên đưa trang web của mình lên Internet để người dùng có thể truy cập nó thông qua việc nhập tên miền vào trình duyệt web Hosting domain cung cấp các tài nguyên cần thiết để duy trì và truy

Copies for internal use only in Phenikaa University

Trang 25

cập trang web, bao gồm không gian lưu trữ, băng thông mạng, và các tính năng bảo mật

Một số dịch vụ hosting domain phổ biến bao gồm shared hosting (hosting chia sẻ), VPS hosting (Virtual Private Server hosting), và dedicated hosting (hosting riêng) Mỗi loại hosting có đặc điểm và mức độ kiểm soát khác nhau, tùy thuộc vào nhu cầu của trang web cụ thể

Tóm lại, hosting domain là dịch vụ cung cấp không gian lưu trữ và tài nguyên cần thiết để đưa trang web của bạn lên Internet để người dùng có thể truy cập thông qua tên miền của bạn

1.4 Mô tả công nghệ ngôn ngữ lập trình được sử dụng trong hệ thống

1.4.1 Phía FrontEnd - ReactJS Khái niệm:

ReactJS là một thư viện chứa nhiều JavaScript mã nguồn mở được Facebook xây dựng và phát triển Thư viện này được sử dụng để tạo ra các ứng dụng trang web hấp dẫn với hiệu quả cao, tốc độ load nhanh và mã tối thiểu Mỗi website sử dụng ReactJS phải chạy nhanh, mượt và có khả năng mở rộng cao, thao tác thực hiện đơn giản

Có thể nói, hầu hết các tính năng hay sức mạnh của ReactJS thường bắt đầu từ việc tập trung vào các phần riêng lẻ Do đó thay vì làm việc trên toàn bộ ứng dụng của website thì ReactJS lại cho phép các Developer phá vỡ giao diện phức tạp của người dùng trở nên đơn giản hơn nhiều Điều này có nghĩa là các Render dữ liệu không chỉ được thực hiện ở vị trí server mà còn có thể thực hiện ở vị trí Client khi sử dụng ReactJS [7]

Các thành phần chính của ReactJS:

Một ReactJS bao gồm các thành phần chính dưới đây:

Redux: là một phần cực kỳ quan trọng đối với ReactJS và được sử dụng phổ biến Trong một ReactJS không có các module chuyên dụng để xử lý dữ liệu nên

Copies for internal use only in Phenikaa University

Trang 26

nó được thiết lập một cách độc lập bằng việc chia nhỏ view thành các thành phần khác nhau giúp chúng liên kết chặt chẽ với nhau tốt hơn Sự liên kết và các mối quan hệ giữa các component trong ReactJS cần được quan tâm đặc biệt bởi chỉ có một luồng dữ liệu duy nhất là luồng dữ liệu từ cha sang con Việc sử dụng luồng dữ liệu một chiều này có phần khó khăn đối với những người mới tìm hiểu sử dụng và ứng dụng vào các đề tài Bên cạnh các mặt hạn chế, ReactJS có thể phát huy được tất cả chức năng cũng như vai trò của mình trong quá trình sử dụng cơ chế một chiều này Bởi các chức năng của view trở nên phức tạp hơn rất nhiều

Virtual Dom: là một phần quan trọng mà hầu như các framework đều sử dụng nó như một ReactJS Người dùng không cần thao tác trực tiếp trên Dom mà vẫn có thể thấy được view và các thay đổi đó Bởi Virtual Dom đóng vai trò là một model và kiêm cả vai trò là một view nên sự thay đổi một trong hai nhân tố sẽ kéo theo các nhân tố khác thay đổi Ngược lại, nếu bạn không thao tác trực tiếp trên các phân tử Dom, bạn vẫn có thể thực hiện được các cơ chế Data Binding [7]

Những lợi ích khi sử dụng ReactJS

ReactJS mang lại nhiều lợi ích cho người dùng công nghệ hiện nay:

ReactJS tạo ra cho bản thân nó một Dom ảo, nơi các Component được tồn tại trên đó và việc tạo ra Dom giúp cải thiện hiệu suất làm việc tốt hơn Khi bạn cần cập nhật các thông tin lên Dom hoặc thay đổi gì đó, ReactJS đều có thể tính toán trước và thực hiện chúng Nhờ đó mà ReactJS sẽ tránh được các thao tác cần có trên Dom và không tốn thêm bất cứ hành động nào khác

Việc viết code trở nên dễ dàng hơn bởi nó sử dụng một cú pháp đặc biệt là JSX, cho phép trộn được giữa code HTML và JavaScript Bên cạnh đó người dùng có thể sử dụng đoạn code này để thêm vào hàm Render mà không cần thực hiện việc nối chuỗi Điều này được đánh giá là một trong những đặc tính mới cực kỳ thú vị của ReactJS Đồng thời, 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 là JSX

Copies for internal use only in Phenikaa University

Trang 27

ReactJS có nhiều công cụ phát triển nhờ cài đặt thêm ứng dụng mở rộng của Chrome chuyên sử dụng cho ReactJS Các lập trình viên có thể debug code một cách dễ dàng hơn, giúp bạn quan sát trực tiếp vào Virtual Dom

Thư viện ReactJS thân thiện với SEO, được sự hỗ trợ từ các Render, trả về

trình duyệt dưới dạng khi bạn chạy ReactJS trên server và Virtual Dom [7]

1.4.2 Phía BackEnd - NodeJS Khái Niệm:

Node.js là một nền tảng được xây dựng trên JavaScript runtime của Chrome với mục đích xây dựng các ứng dụng mạng nhanh chóng và có thể mở rộng được một cách dễ dàng hơn Node.js sử dụng mô hình I/O lập trình theo sự kiện, non-blocking, do đó node js 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

Node.js là môi trường runtime mã nguồn mở đa nền tảng, được sử dụng để phát triển các ứng dụng mạng và ứng dụng server-side Các ứng dụng Node.js được viết bằng JavaScript và có thể chạy trong Node.js runtime trên OS X, Microsoft Windows và Linux

Node.js cũng cung cấp một thư viện bao gồm rất nhiều các module JavaScript khác nhau nhằm đơn giản hóa việc phát triển các ứng dụng web, qua đó giảm thiểu tình trạng sử dụng quá nhiều NodeJS [6]

Các tính năng của NodeJS:

Sau đây là một số tính năng quan trọng giúp Node.js trở thành lựa chọn hàng đầu cho các kiến trúc sư phần mềm

Lập trình hướng sự kiện và không đồng bộ: Toàn bộ API trong thư viện Node.js đều không đồng bộ, hay không bị chặn Về cơ bản điều này có nghĩa là một server sử dụng Node.js sẽ không bao giờ chờ một API trả về dữ liệu Server sẽ chuyển sang API kế tiếp sau khi gọi API đó và cơ chế thông báo của Events trong Nodejs giúp server nhận được phản hồi từ lần gọi API trước

Copies for internal use only in Phenikaa University

Trang 28

Cực kỳ nhanh chóng: Được xây dựng trên Công cụ JavaScript V8 của Google Chrome, thư viện Node.js có khả năng xử lý mã vô cùng nhanh

Đơn luồng/Single thread nhưng có khả năng mở rộng cao: Node.js sử dụng một mô hình luồng đơn với vòng lặp sự kiện/event Cơ chế event cho phép máy chủ phản hồi non-blocking và cũng cho phép khả năng mở rộng cao hơn so với các server truyền thống hỗ trợ giới hạn các thread để xử lý yêu cầu Node.js sử dụng một chương trình đơn luồng, cùng một chương trình có thể cung cấp dịch vụ cho một số lượng yêu cầu lớn hơn so với các máy chủ truyền thống như Apache HTTP Server

Không có buffer - Các ứng dụng Node.js không có vùng nhớ tạm thời (buffer) cho bất kỳ dữ liệu nào Các ứng dụng này chỉ đơn giản xuất dữ liệu theo khối [6[

Nên và không nên sử dụng Node.js:

Nên sử dụng Node js cho những lĩnh vực nào?

Dưới đây là một số lĩnh vực mà Node.js đang cho thấy những đóng góp hết sức quan trọng:

- Các ứng dụng liên quan đến I/O

- Các ứng dụng Data Streaming

- Các ứng dụng dữ liệu chuyên sâu theo thời gian thực (DIRT)

- Các ứng dụng dựa trên API JSON

- Các ứng dụng Single Page

Không nên sử dụng Node js cho những lĩnh vực nào?

Không nên sử dụng Node.js cho các ứng dụng CPU chuyên sâu

Các ưu điểm của Node.js

Node.js là một framework nguồn mở được thông qua theo MIT license (Giấy phép MIT là giấy phép phần mềm miễn phí có nguồn gốc tại Viện Công nghệ Massachusetts (MIT).)

Copies for internal use only in Phenikaa University

Trang 29

Sử dụng JavaScript để xây dựng toàn bộ các ứng dụng server side

Framework gọn nhẹ bao gồm các module tối thiểu Các module khác có thể được thêm theo nhu cầu của từng ứng dụng

Không đồng bộ theo mặc định, nhờ vậy, hoạt động nhanh hơn các framework khác

Framework đa nền tảng chạy trên Windows, MAC hoặc Linux

1.4.3 Hệ quản trị cơ sở dữ liệu - MongoDB Khái niệm:

MongoDB là một hệ thống cơ sở dữ liệu NoSQL mã nguồn mở có kiến trúc hướng tài liệu (document-oriented), được thiết kế để lưu trữ một lượng lớn dữ liệu và cho phép bạn làm việc với dữ liệu đó một cách hiệu quả Hệ thống cơ sở dữ liệu NoSQL cung cấp một giải pháp thay thế cho cơ sở dữ liệu quan hệ truyền thống sử dụng SQL (Ngôn ngữ truy vấn có cấu trúc) Trong MongoDB, dữ liệu được lưu trữ trong các document sử dụng cấu trúc giống JSON để biểu diễn và tương tác với dữ liệu

Cơ sở dữ liệu MongoDB được phát triển và quản lý bởi MongoDB.Inc, được phát hành lần đầu vào năm 2009 Nó cũng hỗ trợ driver cho tất cả các ngôn ngữ phổ biến như C, C ++, C # và Net, Go, Java, Node.js, Perl, PHP, Python, Motor, Ruby, Scala, Swift, Mongoid Vì vậy, bạn có thể tạo một ứng dụng bằng bất kỳ ngôn ngữ nào trong số này Ngày nay có rất nhiều công ty đã sử dụng MongoDB như Facebook, Nokia, eBay, Adobe, Google, v.v để lưu trữ lượng lớn dữ liệu của họ

Kiến trúc của cơ sở dữ liệu NoSQL MongoDb:

Database: Hiểu một cách đơn giản, nó có thể được coi là vùng chứa vật lý cho dữ liệu Mỗi database có tập file riêng trên file system với nhiều database hiện có trên một single MongoDB server

Collection: Một nhóm các database document có thể được gọi là một collection RDBMS tương đương với bộ sưu tập là một table Toàn bộ collection

Copies for internal use only in Phenikaa University

Trang 30

tồn tại trong một single database Không có schema nào khi nói đến các collection Bên trong collection, các document khác nhau có thể có các trường khác nhau nhưng hầu hết các document trong một collection đều có cùng một mục đích hoặc phục vụ cùng một mục tiêu

Document: Một tập hợp các cặp key - value có thể được chỉ định là một document Các document được liên kết với các dynamic schema Lợi ích của dynamic schema là document trong một collection không nhất thiết phải có cùng cấu trúc hoặc các trường Ngoài ra, các trường phổ biến trong document của collection có thể có nhiều loại dữ liệu khác nhau

Ưu điểm của MongoDb:

Đây là các đặc điểm giúp MongoDB trở thành một trong những cơ sở dữ liệu NoSQL tốt nhất:

Nhược điểm của MongoDb:

Mặc dù có rất nhiều ưu điểm, nhưng MongoDB cũng có một số hạn chế Tuy nhiên, hầu hết các nhược điểm này đều có thể được khắc phục hoặc cải thiện trong tương lai

Không hỗ trợ join: MongoDB không hỗ trợ join giống như Cơ sở dữ liệu quan hệ Tuy nhiên, ta có thể sử dụng chức năng join bằng mã hóa nó theo cách thủ công, nhưng nó có thể làm chậm quá trình thực thi và ảnh hưởng đến hiệu suất Sử dụng nhiều bộ nhớ: MongoDB lưu trữ dữ liệu dưới dạng key-value, và do không hỗ trợ join nên có sự dư thừa dữ liệu, dẫn đến việc tốn bộ nhớ không cần thiết

Copies for internal use only in Phenikaa University

Trang 31

Data size bị giới hạn: không được phép lưu trữ nhiều hơn 16MB dữ liệu trong document

Nesting trong BSON bị hạn chế: bạn không được phép phân cấp dữ liệu nhiều hơn 100 cấp độ

1.4.4 Lý do sử dụng ReactJs, NodeJs, MongoDb để xây dựng hệ thống ReactJS cho giao diện người dùng (UI):

ReactJS là một thư viện JavaScript phát triển bởi Facebook dành cho việc xây dựng giao diện người dùng (UI) động và tương tác

Lý do chọn ReactJS là vì nó cho phép bạn tạo giao diện người dùng phức tạp một cách dễ dàng và hiệu quả bằng cách sử dụng các thành phần (components) tái sử dụng

Điều này giúp cải thiện trải nghiệm người dùng, làm tăng tốc độ phát triển và bảo trì, cung cấp khả năng tương tác tốt, ví dụ như lựa chọn sản phẩm, thêm vào giỏ hàng, và thanh toán

NodeJS cho phía máy chủ (Server-side):

Node.js là môi trường chạy mã JavaScript phía máy chủ, cho phép phát triển cả phía máy chủ và phía máy khách bằng cùng một ngôn ngữ (JavaScript), tạo tính đồng nhất trong đề tài

Với khả năng xử lý nhiều kết nối đồng thời, Node.js phù hợp cho các ứng dụng web đòi hỏi thời gian thực và tương tác liên tục, như cập nhật giá sản phẩm, quản lý lịch sử giao dịch, và xử lý đặt hàng

Node.js cũng tích hợp tốt với các thư viện và framework phía máy chủ như Express.js để xây dựng RESTful APIs

MongoDB cho quản lý cơ sở dữ liệu:

Copies for internal use only in Phenikaa University

Trang 32

MongoDB là một hệ quản lý cơ sở dữ liệu NoSQL, phù hợp cho các ứng dụng web có cấu trúc dữ liệu thay đổi nhanh và đòi hỏi linh hoạt

Với cấu trúc dữ liệu dưới dạng tài liệu (document) JSON-like, MongoDB là lựa chọn tốt cho việc lưu trữ thông tin sản phẩm, lịch sử giao dịch, thông tin người dùng, và dữ liệu liên quan đến đơn hàng

MongoDB cung cấp khả năng mở rộng dễ dàng, giúp ứng dụng xử lý tải cao và mở rộng khi cần

Bởi vậy sự kết hợp của ReactJS, Node.js, và MongoDB cung cấp một giải pháp phát triển linh hoạt, đồng nhất và hiệu quả cho việc xây dựng một trang web bán hàng trực tuyến cho cửa hàng đồ may mặc ReactJS và Node.js cho phép phát triển phía máy khách và máy chủ bằng cùng một ngôn ngữ, giảm sự phức tạp và tạo hiệu suất tốt MongoDB cung cấp khả năng quản lý dữ liệu một cách linh hoạt và mở rộng khi cần, giúp đáp ứng các yêu cầu của ứng dụng bán hàng trực tuyến

Copies for internal use only in Phenikaa University

Trang 33

CHƯƠNG 2: PHÂN TÍCH HỆ THỐNG 2.1 Phân tích yêu cầu

2.1.1 Yêu cầu từ phía người mua hàng

Giao diện người dùng (UI) hấp dẫn: Trang web cần có giao diện thân thiện và hấp dẫn với thiết kế đẹp, phù hợp với ngành trang sức và hình ảnh thương hiệu của cửa hàng, tìm kiếm sản phẩm dễ dàng, giỏ hàng, thanh toán và theo dõi đơn hàng

Hiển thị thông tin sản phẩm: Mỗi sản phẩm phải có hình ảnh chất lượng cao, mô tả chi tiết, thông tin về chất liệu, kích thước, giá cả và tình trạng sản phẩm Tích hợp công cụ tìm kiếm và bộ lọc: Cho phép khách hàng dễ dàng tìm kiếm sản phẩm theo các tiêu chí như giá cả, màu sắc, kích thước

Tài khoản người dùng: Một số khách hàng có thể muốn đăng ký tài khoản để theo dõi đơn hàng, lịch sử mua sắm, và lưu trữ thông tin cá nhân

Thanh toán trực tuyến an toàn: Tích hợp các phương thức thanh toán trực tuyến an toán như thẻ tín dụng, ví điện tử và chuyển khoản ngân hàng

Phản hồi và đánh giá: Khách hàng muốn đọc đánh giá và phản hồi từ những người đã mua sản phẩm trước đó để họ có thể đưa ra quyết định mua hàng

Hỗ trợ khách hàng: Khách hàng muốn có cách liên hệ với dịch vụ hỗ trợ khách hàng dễ dàng, bao gồm số điện thoại, email, hoặc chat trực tuyến

2.1.2 Yêu cầu từ phía cửa hàng

Quản lý sản phẩm: Hệ thống quản lý sản phẩm phải dễ sử dụng và cho phép cửa hàng thêm, chỉnh sửa và xóa sản phẩm một cách hiệu quả Cần có khả năng tải lên hình ảnh sản phẩm, quản lý mô tả, giá cả, và thông tin liên quan

Quản lý đơn hàng: Cửa hàng cần một hệ thống quản lý đơn hàng để xem và xử lý đơn hàng mới, theo dõi tình trạng giao hàng và xác nhận thanh toán

Quản lý khách hàng: Hệ thống quản lý khách hàng giúp theo dõi thông tin cá nhân của khách hàng, lịch sử mua sắm và tạo cơ hội tương tác tiếp theo

Copies for internal use only in Phenikaa University

Trang 34

Bảo mật: Bảo mật thông tin khách hàng và giao dịch là ưu tiên hàng đầu Cần có tích hợp bảo mật như SSL để đảm bảo thông tin cá nhân của khách hàng được bảo vệ

Thống kê và báo cáo: Hệ thống phải cung cấp báo cáo về doanh số bán hàng, tồn kho và hoạt động trang web để cửa hàng có cái nhìn tổng quan về hiệu suất kinh doanh

2.2 Các tác nhân của hệ thống 2.2.1 Khách hàng

Mỗi khách hàng có thể truy cập và xem thông tin về các sản phẩm trang sức trên trang web Họ có khả năng tìm kiếm sản phẩm theo nhiều tiêu chí như loại sản phẩm, giá cả.Khách hàng có thể thêm sản phẩm vào giỏ hàng, thực hiện thanh toán, và theo dõi tình trạng đơn hàng Họ cũng có quyền đăng nhập vào tài khoản cá nhân để quản lý đơn hàng, xem lịch sử mua sắm, và đánh giá sản phẩm Ngoài ra, họ có thể đăng ký nhận thông tin khuyến mãi và cập nhật về sản phẩm mới

2.2.2 Quản trị viên

Họ có quyền quản lý danh mục sản phẩm, thêm, sửa đổi hoặc xóa sản phẩm từ cửa hàng Quản trị viên có khả năng quản lý đơn hàng, xem thông tin đặt hàng từ khách hàng, xác nhận và xử lý đơn hàng Họ cũng quản lý nguồn cung ứng sản phẩm, theo dõi tồn kho

Quản trị viên có quyền thực hiện các tác vụ quản trị trên trang web như cập nhật thông tin sản phẩm, quản lý tài khoản khách hàng và cấu hình giao diện trang web

Copies for internal use only in Phenikaa University

Trang 35

2.3 Chức năng của hệ thống

Bảng 2.1 Chức năng của hệ thống

- Xem sản phẩm - Tìm kiếm , lọc sản

phẩm

- Thêm sản phẩm vào giỏ

- Thay đổi sản phẩm trong giỏ hàng - Thanh toán tích hợp - Đánh giá

- Đăng ký - Đăng nhập - Liên hệ

- Sửa thông tin người dùng

- Thêm sản phẩm - Sửa sản phẩm - Xóa sản phẩm - Quản lý đơn hàng - Thống kê

- Hiển thị danh mục - Hiển thị banner - Hiển thị sản phẩm - Tìm kiếm

- Xem thông tin sản phẩm

- Xem thông tin giỏ hàng

- Thêm bớt sản phẩm trong giỏ hàng

- Thực hiện việc mua hàng

Copies for internal use only in Phenikaa University

Trang 36

- Thống kê , quản lý doanh số bán hàng

Ngoài ra còn một số UseCase được cả khách hàng và nhà quản trị sử dụng khác như:

- Đăng nhập

- Xem thông tin cá nhân

- Sửa đổi thông tin cá nhân

2.4.2 Xây dựng biểu đồ UseCase và đặc tả về Use Case

Hình 2.1: Biểu đồ UseCase tổng quan

Copies for internal use only in Phenikaa University

Trang 37

Hình 2.2 : Nhóm UseCase đăng ký đăng nhập

2 Form đăng ký được hiển thị

3 Nhập các thông tin cần thiết vào form đăng ký 4 Nhấn nút đăng ký

5 Hệ thống thông báo kết quả quá trình nhập thông tin cá nhân Nếu thông tin nhập không chính xác thì thực hiện luồng nhánh A1 Nếu nhập chính xác thì thực hiện bước 6

Copies for internal use only in Phenikaa University

Trang 38

6 Hệ thống cập nhật thông tin của khách xem vào danh sách thành viên

7 Use Case kết thúc

Luồng sự kiện rẽ nhánh A1

Quá trình nhập thông tin không chính xác

1 Hệ thống thông báo thông tin nhập không chính xác

2 Hệ thống yêu cầu khách xem nhập thông tin lại 3 Nếu khách xem đồng ý thì quay về bước 2 của

luồng sự kiện chính, nếu không đồng ý thì Use Case kết thúc

4 Hậu điều kiện: Khách hàng trở thành thành viên của hệ thống

Điều kiện Người dùng phải có tài khoản của hệ thống được lưu trong database

Luồng sự kiện chính 1 Chọn chức năng đăng nhập 2 Giao diện đăng nhập hiển thị

Copies for internal use only in Phenikaa University

Trang 39

3 Nhập tài khoản và mật khẩu vào giao diện đăng nhập

4 Hệ thống kiểm tra thông tin (Nếu nhập sai thì chuyển sang dòng sự kiện rẽ nhánh A1 Nếu nhập đúng thì hệ thống sẽ chuyển tới trang quản trị) 5 Usecase kết thúc

Luồng sự kiện rẽ nhánh A1

Quá trình đăng nhập không chính xác

1 Dòng rẽ nhánh A1: Admin, User đăng nhập không thành công

2 Hệ thống thông báo quá trình đăng nhập không thành công do sai mã admin hoặc mật khẩu

3 Chọn nhập lại hệ thống yêu cầu nhập lại mã admin, mật khẩu

4 Usecase kết thúc

Hình 2.3 : Nhóm UseCase quản lý thông tin cá nhân

Copies for internal use only in Phenikaa University

Trang 40

Đặc tả Use Case xem thông tin cá nhân

Bảng 2.4 Đặc tả Use Case xem thông tin cá nhân

Tên Use Case Use Case xem thông tin cá nhân

Đối tượng sử dụng Admin , User

Mô tả Giúp người dùng truy cập và quản lý thông tin cá nhân của họ

Điều kiện Người dùng đã có tài khoản và đã đăng nhập vào tài khoản của họ

Luồng sự kiện chính 1 Thành viên chọn mục Xem thông tin cá nhân 2 Form xem thông tin thành viên xuất hiện, hệ thống

hiển thị thông tin cá nhân của thành viên

3 Hệ thống cung cấp liên kết để thành viên có thể sửa đổi thông tin cá nhân

4 Use Case kết thúc

Đặc tả Use Case sửa thông tin cá nhân

Bảng 2.5 Đặc tả Use Case sửa thông tin cá nhân

Tên Use Case Use Case sửa thông tin cá nhân Đối tượng sử dụng Admin , User

Mô tả Giúp người dùng truy cập và thay đổi các thông tin đăng ký

Copies for internal use only in Phenikaa University

Ngày đăng: 17/07/2024, 10:53

w