Đồ Án HCMUTE: Xây Dựng Website Bán Giày Công Nghệ MERN Stack

Đồ án HCMUTE: Xây dựng website bán giày chuyên nghiệp. Tìm hiểu quy trình, công nghệ và kinh nghiệm thực tế từ dự án website bán giày chi tiết.

Chuyên ngành

Công Nghệ Thông Tin

Người đăng

Ẩn danh

Thể loại

Đồ án tốt nghiệp

2022

125
2
0

Phí lưu trữ

35 Point

Mục lục chi tiết

GIỚI THIỆU VỀ KHÓA LUẬN TỐT NGHIỆP

ĐÁNH GIÁ TRƯỚC KHI BẢO VỆ

ĐÁNH GIÁ CỦA HỘI ĐỒNG BẢO VỆ

LỜI CẢM ƠN

DANH MỤC HÌNH

DANH MỤC BẢNG

PHẦN MỞ ĐẦU

1. Tính cấp thiết của đề tài

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

3. Phạm vi nghiên cứu

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

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

6. Ý nghĩa khoa học và thực tiễn

7. Tổng quan về MERN Stack

2. KHẢO SÁT HIỆN TRẠNG VÀ MÔ HÌNH HOÁ YÊU CẦU

2.1. Khảo sát hiện trạng

2.2. Một số Web Ecommerce

2.3. Các hình thức thương mại điện tử (Ecommerce)

2.4. Mô tả hệ thống

2.5. Xác định yêu cầu

2.5.1. Yêu cầu phi chức năng

2.5.2. Yêu cầu chức năng

2.6. Mô hình hoá yêu cầu

2.7. Mô tả chi tiết usecase

3. THIẾT KẾ HỆ THỐNG

3.1. Kiến trúc hệ thống

3.2. Lược đồ tuần tự

3.2.1. Lược đồ tuần tự chức năng Đăng ký

3.2.2. Lược đồ tuần tự chức năng Kích hoạt tài khoản

3.2.3. Lược đồ tuần tự chức năng Đăng nhập _ Email

3.2.4. Lược đồ tuần tự chức năng Đăng nhập _ Google

3.2.5. Lược đồ tuần tự chức năng Quên mật khẩu

3.2.6. Lược đồ tuần tự chức năng Đổi mật khẩu

3.2.7. Lược đồ tuần tự chức năng Xem thông tin cá nhân

3.2.8. Lược đồ tuần tự chức năng Sửa đổi thông tin cá nhân

3.2.9. Lược đồ tuần tự chức năng Thay đổi avatar

3.2.10. Lược đồ tuần tự chức năng Thêm/Xóa sản phẩm yêu thích

3.2.11. Lược đồ tuần tự chức năng Thanh toán

3.2.12. Lược đồ tuần tự chức năng Thêm dòng sản phẩm

3.2.13. Lược đồ tuần tự chức năng Chỉnh sửa dòng sản phẩm

3.2.14. Lược đồ tuần tự chức năng Xóa dòng sản phẩm

3.2.15. Lược đồ tuần tự chức năng Xem danh sách sản phẩm

3.2.16. Lược đồ tuần tự chức năng Thêm sản phẩm

3.2.17. Lược đồ tuần tự chức năng Chỉnh sửa sản phẩm

3.2.18. Lược đồ tuần tự chức năng Xóa sản phẩm

3.2.19. Lược đồ tuần tự chức năng Thêm danh mục

3.2.20. Lược đồ tuần tự chức năng Chỉnh sửa danh mục

3.2.21. Lược đồ tuần tự chức năng Xóa danh mục

3.2.22. Lược đồ tuần tự chức năng Thêm chất liệu

3.2.23. Lược đồ tuần tự chức năng Chỉnh sửa chất liệu

3.2.24. Lược đồ tuần tự chức năng Xóa chất liệu

3.2.25. Lược đồ tuần tự chức năng Thêm bộ sưu tập

3.2.26. Lược đồ tuần tự chức năng Chỉnh sửa bộ sưu tập

3.2.27. Lược đồ tuần tự chức năng Xóa bộ sưu tập

3.2.28. Lược đồ tuần tự chức năng Đánh giá

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

3.3.1. Lược đồ cơ sở dữ liệu

3.3.2. Mô tả bảng thuộc tính

3.4. Thiết kế giao diện

3.4.1. Giao diện dành cho khách hàng

3.4.2. Giao diện dành cho quản trị viên

4. THỰC THI HỆ THỐNG

4.1. Công cụ và môi trường phát triển

4.2. Công nghệ sử dụng

4.3. Quản lý source code

5. CÀI ĐẶT VÀ KIỂM THỬ

5.1. Công nghệ sử dụng

5.2. Công cụ hỗ trợ

5.3. Kiểm thử chức năng đăng ký (REGISTER_001)

5.4. Kiểm thử chức năng đăng ký (REGISTER_002)

5.5. Kiểm thử chức năng kích hoạt tài khoản (ACTIVATION_001)

5.6. Kiểm thử chức năng kích hoạt tài khoản (ACTIVATION_002)

5.7. Kiểm thử chức năng kích hoạt tài khoản (ACTIVATION_003)

5.8. Kiểm thử chức năng đăng nhập (LOGIN_001)

5.9. Kiểm thử chức năng đăng nhập (LOGIN_002)

5.10. Kiểm thử chức năng đăng nhập (LOGIN_003)

5.11. Kiểm thử chức năng đăng nhập (LOGIN_004)

5.12. Kiểm thử chức năng đăng nhập (LOGIN_005)

5.13. Kiểm thử chức năng đăng nhập (LOGIN_006)

5.14. Kiểm thử chức năng quên mật khẩu (FORGOT_001)

5.15. Kiểm thử chức năng quên mật khẩu (FORGOT_002)

5.16. Kiểm thử chức năng đổi mật khẩu (CHANGEPASS_001)

5.17. Kiểm thử chức năng đổi mật khẩu (CHANGEPASS_002)

5.18. Kiểm thử chức năng đổi mật khẩu (CHANGEPASS_003)

5.19. Kiểm thử chức năng sản phẩm yêu thích (WISHLIST_001)

5.20. Kiểm thử chức năng sản phẩm yêu thích (WISHLIST_002)

5.21. Kiểm thử chức năng sản phẩm yêu thích (WISHLIST_003)

5.22. Kiểm thử chức năng thanh toán (PAYMENT_001)

5.23. Kiểm thử chức năng thanh toán (PAYMENT_002)

5.24. Kiểm thử chức năng thanh toán (PAYMENT_003)

5.25. Kiểm thử chức năng thanh toán (PAYMENT_004)

5.26. Kiểm thử chức năng thanh toán (PAYMENT_005)

5.27. Kiểm thử chức năng thanh toán (PAYMENT_006)

6. Đánh giá kết quả đã thực hiện được

7. Đánh giá quá trình thực hiện và phân tích kết quả

7.1. Nhược điểm

7.2. Những khó khăn gặp phải. Cách vượt qua khó khăn

7.3. Hướng phát triển

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

Tóm tắt

I. Tổng Quan Website Bán Giày Đồ Án Tốt Nghiệp HCMUTE 2024

Thương mại điện tử đang phát triển mạnh mẽ, đặc biệt trong lĩnh vực kinh doanh giày online. Đồ án website bán giày tốt nghiệp tại HCMUTE là minh chứng cho sự ứng dụng công nghệ thông tin vào thực tiễn. Dự án này tập trung vào việc xây dựng một nền tảng web bán giày online hoàn chỉnh, đáp ứng nhu cầu mua sắm trực tuyến ngày càng tăng của người tiêu dùng. Theo tài liệu gốc, dự án này được thực hiện bởi sinh viên khoa Công nghệ Thông tin, trường Đại học Sư phạm Kỹ thuật TP.HCM, dưới sự hướng dẫn của TS. Lê Vĩnh Thịnh. Website này tích hợp các tính năng cơ bản của một trang thương mại điện tử như xem sản phẩm, giỏ hàng, thanh toán, đánh giá và tìm kiếm. Ngoài ra, nó còn cung cấp các công cụ quản lý cho quản trị viên để quản lý sản phẩm, người dùng và danh mục. Mục tiêu của đồ án là áp dụng kiến thức đã học về MERN Stack (MongoDB, ExpressJS, React, NodeJS) để xây dựng một website bán giày dép chuyên nghiệp, có khả năng mở rộng và dễ dàng sử dụng.

1.1. Giới thiệu chung về đồ án website bán giày HCMUTE

Đồ án website bán giày tốt nghiệp tại HCMUTE là một dự án quan trọng, thể hiện khả năng vận dụng kiến thức và kỹ năng lập trình của sinh viên. Dự án này không chỉ là bài tập cuối khóa mà còn là bước đệm để sinh viên tiếp cận với thực tế phát triển phần mềm. Trường Đại học Sư phạm Kỹ thuật TP.HCM luôn khuyến khích sinh viên tham gia vào các dự án thực tế để nâng cao kinh nghiệm và kỹ năng làm việc. Website được xây dựng bằng MERN Stack, một bộ công cụ phổ biến trong phát triển web hiện đại. Theo báo cáo, website có đầy đủ chức năng của một trang ecommerce website giày như hiển thị sản phẩm, giỏ hàng, thanh toán, quản lý sản phẩm, v.v.

1.2. Mục tiêu và phạm vi nghiên cứu của đồ án

Mục tiêu chính của đồ án là xây dựng một website bán giày online hoàn chỉnh, đáp ứng nhu cầu mua sắm trực tuyến của người dùng. Phạm vi nghiên cứu bao gồm các tính năng cơ bản của một trang thương mại điện tử, cũng như các công cụ quản lý cho quản trị viên. Theo tài liệu, sinh viên đã tập trung vào việc tìm hiểu và áp dụng các công nghệ mới như MERN Stack và FPT AI (cho bot chat). Ngoài ra, đồ án cũng đề cập đến các vấn đề về bảo mật và hiệu năng của website.

1.3. Ý nghĩa thực tiễn của đồ án website bán giày

Đồ án website bán giày không chỉ có ý nghĩa về mặt học thuật mà còn có giá trị thực tiễn cao. Nó có thể được sử dụng như một nền tảng để phát triển các shop giày online trong tương lai. Ngoài ra, đồ án còn cung cấp một tài liệu tham khảo hữu ích cho các sinh viên khác muốn thực hiện các dự án tương tự. Với sự phát triển của kinh doanh giày online, một website bán giày chuyên nghiệp là vô cùng cần thiết. Đồ án này đã góp phần giải quyết vấn đề đó, đồng thời cung cấp một giải pháp hiệu quả cho các doanh nghiệp muốn mở rộng thị trường trực tuyến.

II. Vấn Đề và Thách Thức Khi Xây Dựng Website Bán Giày

Xây dựng một website bán giày hiệu quả đòi hỏi phải giải quyết nhiều vấn đề và vượt qua nhiều thách thức. Đầu tiên, cần phải thiết kế một giao diện hấp dẫn và dễ sử dụng để thu hút khách hàng. Tiếp theo, cần phải đảm bảo rằng website có khả năng xử lý lượng lớn truy cập và giao dịch một cách nhanh chóng và ổn định. Quan trọng nhất, cần phải bảo vệ thông tin cá nhân và tài chính của khách hàng khỏi các cuộc tấn công mạng. Theo báo cáo, nhóm sinh viên đã gặp phải một số khó khăn trong quá trình triển khai dự án, bao gồm việc tìm hiểu và làm chủ các công nghệ mới, cũng như việc tích hợp các tính năng phức tạp như thanh toán trực tuyến. Tuy nhiên, họ đã vượt qua những khó khăn này bằng cách làm việc nhóm hiệu quả và tìm kiếm sự giúp đỡ từ giảng viên hướng dẫn.

2.1. Yêu cầu về giao diện và trải nghiệm người dùng UX UI

Giao diện của website bán giày cần phải được thiết kế một cách chuyên nghiệp và thân thiện với người dùng. Khách hàng cần dễ dàng tìm kiếm và xem sản phẩm, cũng như thực hiện các thao tác mua hàng và thanh toán. Theo tài liệu, nhóm sinh viên đã sử dụng ReactJS để xây dựng giao diện, một thư viện JavaScript phổ biến cho phép tạo ra các ứng dụng web động và tương tác cao. Giao diện website bán giày phải trực quan, dễ điều hướng và tương thích với nhiều thiết bị (máy tính, điện thoại, máy tính bảng).

2.2. Vấn đề bảo mật và an toàn thông tin khách hàng

Bảo mật là một trong những yếu tố quan trọng nhất khi xây dựng một website bán giày online. Khách hàng cần cảm thấy an tâm khi cung cấp thông tin cá nhân và tài chính cho website. Theo tài liệu, nhóm sinh viên đã sử dụng JWT (JSON Web Token) để bảo vệ các API và đảm bảo rằng chỉ những người dùng được xác thực mới có thể truy cập vào các tài nguyên nhạy cảm. Ngoài ra, cần phải có các biện pháp phòng ngừa để ngăn chặn các cuộc tấn công SQL injection, Cross-site scripting (XSS) và các hình thức tấn công mạng khác.

2.3. Khả năng mở rộng và hiệu năng của website bán giày

Một website bán giày thành công cần phải có khả năng xử lý lượng lớn truy cập và giao dịch một cách nhanh chóng và ổn định. Điều này đòi hỏi phải có một kiến trúc hệ thống tốt, cũng như các biện pháp tối ưu hóa hiệu năng. Theo tài liệu, nhóm sinh viên đã sử dụng NodeJS và ExpressJS để xây dựng backend, hai công nghệ cho phép xử lý đồng thời nhiều yêu cầu một cách hiệu quả. Ngoài ra, việc sử dụng CDN (Content Delivery Network) và caching cũng có thể giúp cải thiện hiệu năng của website.

III. Cách Xây Dựng Website Bán Giày Đồ Án Tốt Nghiệp HCMUTE

Việc xây dựng một website bán giày như một đồ án tốt nghiệp tại HCMUTE đòi hỏi một quy trình bài bản và chi tiết. Đầu tiên, cần phải xác định rõ các yêu cầu chức năng và phi chức năng của website. Tiếp theo, cần phải thiết kế cơ sở dữ liệu và kiến trúc hệ thống. Sau đó, tiến hành lập trình frontend và backend, cũng như tích hợp các tính năng quan trọng như thanh toán trực tuyến và quản lý sản phẩm. Cuối cùng, kiểm tra và triển khai website lên môi trường thực tế. Theo báo cáo, nhóm sinh viên đã sử dụng phương pháp Agile để quản lý dự án, cho phép họ linh hoạt điều chỉnh kế hoạch và ưu tiên công việc theo tiến độ thực tế.

3.1. Phân tích yêu cầu và thiết kế cơ sở dữ liệu cho website

Phân tích yêu cầu là bước quan trọng nhất trong quá trình xây dựng một website bán giày. Cần phải xác định rõ các tính năng cần thiết, cũng như các yêu cầu về hiệu năng, bảo mật và khả năng mở rộng. Sau khi đã có được danh sách các yêu cầu, cần phải thiết kế cơ sở dữ liệu để lưu trữ thông tin sản phẩm, khách hàng, đơn hàng và các dữ liệu khác. Theo tài liệu, nhóm sinh viên đã sử dụng MongoDB, một cơ sở dữ liệu NoSQL linh hoạt và dễ dàng mở rộng.

3.2. Lựa chọn công nghệ và lập trình frontend backend

Việc lựa chọn công nghệ phù hợp là rất quan trọng để đảm bảo rằng website bán giày có thể hoạt động hiệu quả và ổn định. Theo tài liệu, nhóm sinh viên đã sử dụng MERN Stack, một bộ công cụ phổ biến cho phát triển web hiện đại. ReactJS được sử dụng để xây dựng frontend, NodeJS và ExpressJS được sử dụng để xây dựng backend, và MongoDB được sử dụng để lưu trữ dữ liệu. Việc sử dụng các công nghệ này giúp giảm thiểu thời gian phát triển và chi phí, đồng thời đảm bảo rằng website có khả năng mở rộng và bảo trì dễ dàng.

3.3. Tích hợp các tính năng quan trọng thanh toán quản lý sản phẩm

Tích hợp các tính năng quan trọng như thanh toán trực tuyến và quản lý sản phẩm là một phần không thể thiếu của một website bán giày online. Theo tài liệu, nhóm sinh viên đã sử dụng các API thanh toán của các nhà cung cấp dịch vụ uy tín để đảm bảo rằng các giao dịch được thực hiện một cách an toàn và bảo mật. Ngoài ra, họ cũng đã xây dựng một hệ thống quản lý sản phẩm cho phép quản trị viên dễ dàng thêm, sửa, xóa sản phẩm và quản lý kho hàng.

IV. Ứng Dụng Thực Tế và Kết Quả Nghiên Cứu Website Bán Giày

Đồ án website bán giày tốt nghiệp tại HCMUTE không chỉ là một dự án học thuật mà còn có thể được ứng dụng vào thực tế. Website có thể được sử dụng như một nền tảng để bán giày online, hoặc như một công cụ để quản lý kho hàng và theo dõi đơn hàng. Theo báo cáo, nhóm sinh viên đã tiến hành kiểm thử website một cách kỹ lưỡng để đảm bảo rằng nó hoạt động đúng chức năng và đáp ứng các yêu cầu về hiệu năng và bảo mật. Họ cũng đã thu thập phản hồi từ người dùng để cải thiện giao diện và trải nghiệm người dùng.

4.1. Đánh giá hiệu quả hoạt động của website bán giày online

Việc đánh giá hiệu quả hoạt động của website bán giày online là rất quan trọng để đảm bảo rằng nó đáp ứng các mục tiêu kinh doanh. Theo tài liệu, nhóm sinh viên đã sử dụng các công cụ phân tích web để theo dõi lượng truy cập, tỷ lệ chuyển đổi và các chỉ số quan trọng khác. Dựa trên các số liệu này, họ có thể đưa ra các quyết định để cải thiện hiệu quả marketing và tăng doanh số bán hàng.

4.2. Phân tích ưu điểm và nhược điểm của giải pháp đã xây dựng

Phân tích ưu điểm và nhược điểm của giải pháp đã xây dựng là một phần quan trọng của quá trình đánh giá đồ án. Theo báo cáo, nhóm sinh viên đã liệt kê ra một số ưu điểm của website, bao gồm giao diện thân thiện, khả năng xử lý lượng lớn truy cập và bảo mật thông tin khách hàng. Tuy nhiên, họ cũng thừa nhận rằng website còn một số nhược điểm, như thiếu một số tính năng nâng cao và cần cải thiện hiệu năng trên các thiết bị di động.

4.3. Đề xuất các hướng phát triển và cải tiến trong tương lai

Để website bán giày có thể cạnh tranh trên thị trường, cần phải liên tục phát triển và cải tiến. Theo báo cáo, nhóm sinh viên đã đề xuất một số hướng phát triển trong tương lai, bao gồm tích hợp trí tuệ nhân tạo để cải thiện trải nghiệm người dùng, mở rộng sang các thị trường mới và phát triển các ứng dụng di động.

V. Code Website Bán Giày và Báo Cáo Đồ Án Tốt Nghiệp HCMUTE

Việc cung cấp code website bán giàybáo cáo đồ án website bán giày rất quan trọng để làm tài liệu tham khảo cho sinh viên và các nhà phát triển khác. Tài liệu này chứa đựng thông tin chi tiết về kiến trúc, database website bán giày, và cách thức triển khai. Tuy nhiên, việc chia sẻ source code website bán giày cần được thực hiện cẩn thận để bảo vệ quyền sở hữu trí tuệ và tránh lạm dụng. Báo cáo đồ án sẽ trình bày chi tiết về các bước thực hiện, các công nghệ được sử dụng, và những khó khăn đã gặp phải trong quá trình phát triển.

5.1. Cấu trúc code và tài liệu hướng dẫn sử dụng chi tiết

Cấu trúc code cần được tổ chức một cách rõ ràng và dễ hiểu. Tài liệu hướng dẫn sử dụng cần cung cấp thông tin chi tiết về cách cài đặt, cấu hình, và sử dụng website. Các comment trong code cần được viết đầy đủ và dễ hiểu để người khác có thể dễ dàng bảo trì và phát triển thêm. Hướng dẫn làm website bán giày nên bao gồm cả phần cài đặt môi trường phát triển, các thư viện cần thiết, và các bước triển khai.

5.2. Các thành phần quan trọng giao diện chức năng database

Giao diện website bán giày cần phải thân thiện và dễ sử dụng. Các chức năng website bán giày cần phải đầy đủ và hoạt động ổn định. Database website bán giày cần được thiết kế một cách hiệu quả để lưu trữ và truy xuất dữ liệu nhanh chóng. Báo cáo cần mô tả chi tiết về thiết kế website bán giày đồ án này.

5.3. Demo website và các bước triển khai thực tế

Demo website bán giày cần được chuẩn bị kỹ lưỡng để trình bày các tính năng và giao diện của website một cách trực quan. Các bước triển khai thực tế cần được mô tả chi tiết để người khác có thể dễ dàng triển khai website lên môi trường sản xuất. Báo cáo cần trình bày cách xây dựng website bán giày đồ án và các bước kiểm thử để đảm bảo chất lượng.

VI. Kết Luận và Tương Lai của Đồ Án Website Bán Giày HCMUTE

Đồ án website bán giày tốt nghiệp tại HCMUTE là một dự án thành công, thể hiện khả năng vận dụng kiến thức và kỹ năng lập trình của sinh viên. Dự án này không chỉ cung cấp một giải pháp cho việc bán hàng trực tuyến, mà còn là một bước đệm quan trọng cho sự nghiệp của sinh viên. Tuy nhiên, để website có thể cạnh tranh trên thị trường, cần phải liên tục phát triển và cải tiến. Trong tương lai, có thể tích hợp thêm các tính năng mới, cải thiện hiệu năng và bảo mật, và mở rộng sang các thị trường mới.

6.1. Tổng kết các kết quả đạt được và hạn chế của đồ án

Cần tổng kết lại những kết quả đạt được, ví dụ như xây dựng thành công website với các chức năng cơ bản, giao diện thân thiện, v.v. Đồng thời, cũng cần chỉ ra những hạn chế còn tồn tại, ví dụ như thiếu một số tính năng nâng cao, hiệu năng chưa tối ưu, v.v.

6.2. Các bài học kinh nghiệm và hướng phát triển tiếp theo

Cần trình bày những bài học kinh nghiệm rút ra được trong quá trình thực hiện đồ án, ví dụ như cách quản lý dự án, cách giải quyết các vấn đề kỹ thuật, v.v. Đồng thời, cũng cần đề xuất các hướng phát triển tiếp theo cho website, ví dụ như tích hợp trí tuệ nhân tạo, mở rộng sang các thị trường mới, v.v.

6.3. Tầm quan trọng của đồ án đối với sinh viên và ngành CNTT

Cần nhấn mạnh tầm quan trọng của đồ án đối với sinh viên và ngành CNTT. Đồ án giúp sinh viên củng cố kiến thức đã học, rèn luyện kỹ năng thực tế, và chuẩn bị cho sự nghiệp trong tương lai. Đồng thời, đồ án cũng góp phần vào sự phát triển của ngành CNTT, bằng cách cung cấp các giải pháp mới và đóng góp vào cộng đồng mã nguồn mở.

Tóm tắt và mô tả trên trang này được tạo với sự hỗ trợ của AI từ nội dung tài liệu gốc; tài liệu do người dùng đóng góp và được kiểm duyệt trước khi xuất bản. Báo lỗi nội dung.

22/09/2025

Trích đoạn nội dung tài liệu

PHẦN MỞ ĐẦU 1. Tính cấp thiết của đề tài Kinh doanh là hoạt động diễn ra sôi nổi nhất của con người, mỗi năm rất nhiều công ty kinh doanh và cửa hàng kinh doanh ra đời và đưa các sản phẩm vào thị trường nóng hổi này. Đi cùng với sự phát triển công nghệ thông tin thì các ứng dụng quản lý, mua bán là yêu cầu rất cấp thiết cho các công ty. Mô hình kinh doanh trên toàn cầu tiếp tục thay đổi đáng kể với sự ra đời của thương mại điện tử.

Nhiều quốc gia trên thế giới cũng đã đóng góp vào sự phát triển của thương mại điện tử. Ví dụ, nước Anh có chợ thương mại điện tử lớn nhất toàn cầu khi đo bằng chỉ số chi tiêu bình quân đầu người, con số này cao hơn cả Mỹ. Kinh tế Internet ở Anh có thể tăng 10% từ năm 2010 đến năm 2015. Điều này tạo ra động lực thay đổi cho ngành công nghiệp quảng cáo.

[1] Trong số các nền kinh tế mới nổi, sự hiện diện của thương mại điện tử ở Trung Quốc tiếp tục được mở rộng. Với 384 triệu người sử dụng Internet, doanh số bán lẻ của cửa hàng trực tuyến ở Trung Quốc đã tăng 36,6 tỉ USD năm 2009 và một trong những lý do đằng sau sự tăng trưởng kinh ngạc là cải thiện độ tin cậy của khách hàng. Các công ty bán lẻ Trung Quốc đã giúp người tiêu dùng cảm thấy thoải mái hơn khi mua hàng trực tuyến. [1] Thương mại điện tử cũng được mở rộng trên khắp Trung Đông.

Với sự ghi nhận là khu vực có tăng trưởng nhanh nhất thế giới trong việc sử dụng Internet từ năm 2000 đến năm 2009, hiện thời khu vực có hơn 60 triệu người sử dụng Internet. Bán lẻ, du lịch và chơi game là các phần trong thương mại điện tử hàng đầu ở khu vực, mặc dù có các khó khăn như thiếu khuôn khổ pháp lý toàn khu vực và các vấn đề hậu cần trong giao thông vận tải qua biên giới. [1] Thương mại điện tử đã trở thành một công cụ quan trọng cho thương mại quốc tế không chỉ bán sản phẩm mà còn quan hệ với khách hàng. Đối tượng nghiên cứu Đối với đề tài này, đối tượng nghiên cứu dựa trên nhu cầu sử dụng, chủ yếu là tham khảo sách, tài liệu của các Dev đã có kinh nghiệm.

Cụ thể như sau: • Tập trung nghiêm cứu Restful API, NodeJS, ExpressJS để xây dựng nên hệ thống các API dùng để truy vấn dữ liệu với độ chính xác cao và một tốc độ đảm bảo. • Sử dụng hệ quản trị cơ sở dữ liệu NoSQL là MongoDB để lưu trữ dữ liệu trong hệ thống. • Về phần giao diện cho người sử dụng nhóm sinh viên tiến hành nghiên cứu thư viện ReactJS, Redux (Toolkit) kèm theo một số thư viện được hỗ trợ cho ReactJS. để xây dựng và xử lý giao diện và cho người dùng sử dụng trên website.

Về phần bảo mật hệ thống, tiến hành nghiên cứu công nghệ Json Web Token làm bảo mật cho hệ thống, tất cả người dùng đăng nhập và các tính năng đều được xác thực và kiểm soát thông qua JWT. • Ngoài ra nhóm sinh viên còn nghiên cứu FPT AI – một trí tuệ nhân tạo được phát hành bởi FPT giúp người dùng có thể tạo ra các botchat bằng việc cung cấp các dữ liệu kịch bản cho nó. Phạm vi nghiên cứu Website chủ yếu tập trung vào các nghiệp vụ cơ bản, đảm bảo việc mua bán diễn ra suôn sẻ. Đồng thời thêm các tính năng đánh giá và bình luận giúp người mua dễ dàng tiếp cận với thông tin chi tiết và chất lượng của sản phẩm hơn.

Ngoài ra còn tích hợp các tính năng thống kê giúp ích cho việc tính toán và tính năng chat để người dùng dễ dàng tương tác với nhân viên cửa hàng. Phương pháp nghiên cứu Nhóm sinh viên học hỏi, tìm tòi các tài liệu trên Internet, các bài báo cáo cũ trong thư viện đại học Sư Phạm Kỹ Thuật để thực hiện báo cáo này. Vấn đề nghiệp vụ, các tác giả đã thông qua những lập trình viên có kinh nghiệm và đặc biệt là sự giúp đỡ đến từ giảng viên hướng dẫn. Về vấn đề lập trình, nhóm tác giả đã nghiên cứu qua các tài liệu của ReactJS và NodeJS, từ đó đưa ra một hướng giải quyết tối ưu.

Mục tiêu của đề tài • Xây dựng website buôn bán sản phẩm (cụ thể là mặt hàng giày dép) với những yêu cầu sau: o Cho phép người dùng xem danh sách sản phẩm, lọc và tìm kiếm sản phẩm o Cho phép người dùng xem chi tiết sản phẩm, đánh giá. o Cho phép người dùng thêm và xóa sản phẩm ở giỏ hàng. o Cho phép người dùng thanh toán (Có thể bằng ví điện tử). o Cho phép người dùng theo dõi trạng thái của đơn hàng.

o Cho phép người dùng tương tác với cửa hàng thông qua bot chat. o Cho phép người dùng xem lịch sử mua hàng. o Cho phép người dùng xem các khuyến mãi. • Mục tiêu về công nghệ: o Tìm hiểu ưu điểm, nhược điểm, cách hoạt động, cú pháp sử dụng của công nghệ MERN: MongoDB, ExpressJS, React, NodeJS o Cài đặt bộ công cụ và môi trường sử dụng được MERN o Dùng FPT AI để xây dựng bot chat.

o Tìm hiểu Vercel để deploy dự án lên môi trường thật. • Áp dụng kiến thức đã học trước đây của các môn học khác để hoàn thành việc xây dựng website. Ý nghĩa khoa học và thực tiễn Đối với doanh nghiệp: Dễ dàng quản lý các sản phẩm, khách hàng của mình, đồng thời tính toán và thống kê một cách chính xác hơn. Đối với khách hàng: Tiếp cận với sản phẩm dễ dàng với một thiết bị có thể kết nối Internet, giao dịch nhanh hơn.

Tổng quan về MERN Stack MERN Stack là một bộ kết hợp ngôn ngữ phía server và ngôn ngữ thao tác cơ sở dữ liệu. MERN Stack bao gồm các công nghệ: MongoDB, ExpressJS, ReactJS và NodeJS. Hình 2-1 Mern Stack 2. MongoDB Hình 2-2 MongoDB Là một hệ quản trị cơ sở dữ liệu dạng NoSQL viết bằng C++.

Đặc điểm chính là không ràng buộc (nonrelational) và phân tán (distributed). Đây còn là một mã nguồn mở (open source) nên rất dễ để lập trình viên tiếp cận, khả năng co giản theo chiều ngang (Horizontal scalable) có thể lưu trữ, xử lý từ một lượng rất nhỏ cho tới dữ liệu cực lớn, lên đến hàng petabytes dữ liệu trong hệ thống cần có độ chịu tải, chịu lỗi cao với những yêu cầu về tài nguyên phần cứng thấp. 14 Lợi thế của MongoDB: • Ít Schema: MongoDB là một hệ quản trị cơ sở dữ liệu gồm các Document được chứa trong cá Collection. Số trường, nội dung và kích cỡ của Document này có thể khác với Document khác.

o Cấu trúc của một đối tượng là rõ ràng. o Những tính năng như Join (SQL) sẽ được đơn giản hóa hơn. • Khả năng truy vấn sâu hơn. MongoDB hỗ trợ các truy vấn động trên các Document bởi sử dụng một ngôn ngữ truy vấn riêng với công dụng tựa như SQL.

• MongoDB có thể mở rộng cả về chiều rộng lẫn chiều sâu một cách dễ dàng. • Sử dụng bộ nhớ nội tại để lưu giữ phần công việc, giúp truy cập dữ liệu nhanh hơn. Đặc điểm của MongoDB: • Kho lưu định hướng Document: Dữ liệu được lưu trong các tài liệu kiểu JSON dễ dàng việc xử lí dữ liệu. • Lập chỉ mục trên bất kỳ thuộc tính nào.

• Các truy vấn đa dạng, mạnh mẽ không khác gì SQL. • Cập nhật nhanh hơn, đó là điểm mạnh nhất mà người ta dùng MongoDB. Các kiểu dữ liệu của MongoDB: • Chuỗi: đây là kiểu dữ liệu được sử dụng phổ biến nhất để lưu trữ dữ liệu. • Boolean: kiểu dữ liệu này được sử dụng để lưu trữ một trong hai giá trị True/False.

• Double: kiểu dữ liệu này được sử dụng để lưu các giá trị thực dấu chấm động (số thập phân). • Min/Max keys: Kiểu dữ liệu này được sử dụng để so sánh một giá trị với các phần tử BSON thấp nhất và cao nhất. 15 • Mảng: Kiểu dữ liệu này được sử dụng để lưu giữ các mảng hoặc danh sách hoặc nhiều giá trị vào trong một key. • Timestamp: Giúp thuận tiện cho việc ghi chép hoặc đánh dấu thời điểm một Document được sửa đổi hoặc được thêm vào, kiểu dữ liệu này sẽ được tạo tự động và lấy thời gian ngay khi một đối tượng mới được tạo ra và lưu vào cơ sở dữ liệu.

• Object: Kiểu dữ liệu này được sử dụng cho các Document được nhúng vào, có thể nói đây là kiểu dữ liệu được dùng rất phổ biến trong lập trình. • Null: Kiểu dữ liệu này được sử dụng để lưu một giá trị Null. • Symbol: Kiểu dữ liệu này được sử dụng giống như một chuỗi, tuy nhiên, nói chung nó được dành riêng cho các ngôn ngữ mà sử dụng kiểu symbol cụ thể. • Date: Kiểu dữ liệu này được sử dụng để lưu giữ ngày và giờ hiện tại trong định dạng UNIX time.

Bạn có thể xác định ngày và giờ riêng cho bạn bằng việc tạo đối tượng “Date” và truyền ngày, tháng, năm vào trong đó. • Object ID: Kiểu dữ liệu này được sử dụng để lưu giữ ID của Document, dữ liệu này sẽ “duy nhất”, tức là không trùng với những Document khác trong một Collection và thường sẽ tự được khởi tạo khi một đối tượng được thêm vào cơ sở dữ liệu. • Binary data: Kiểu dữ liệu này được sử dụng để lưu giữ dữ liệu nhị phân. • Code: Kiểu dữ liệu này được sử dụng để lưu giữ JavaScrip code vào trong Document.

ExpressJS Là một web application framework cho NodeJS, cung cấp các tính năng mạnh mẽ cho việc xây dựng một ứng dụng web đúng nghĩa hoặc lai. Là framework phổ biến và được sử dụng rộng rãi nhất của NodeJS, được xây dựng trên cấu trúc ngữ pháp của Sinatra. [2] 16 Ý tưởng đằng sau ExpressJS là đưa đến một framework nhẹ, dễ dàng tiếp cận để phát triển các ứng dụng web từ nhỏ đến lớn hay hybrid. [2] Hình 2-3 ExpressJS Express cũng có thể sử dụng để xây dựng một API mạnh mẽ và thân thiện với người dùng, vì nó cung cấp rất nhiều tiện ích HTTP và middleware cho việc kết nối.

Các Module quan trọng được cài đặt cùng với express: • Body-parser: Là một lớp trung gian NodeJS để xử lý JSON, ký tự, dữ liệu thô và mã hóa các URL. • Cookie-parser: Giúp chuyển đổi header của Cookie và phân bố đến các request. • Multer: Là một thành phần trung gian trong NodeJS để xử lý phần muitipart/form-data.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ