Đồ án 1: Xây dựng website hỗ trợ bán sách - Trường ĐH Công nghệ Thông tin

Tham khảo báo cáo đồ án 1 xây dựng website bán sách đầy đủ. Tài liệu gồm phân tích, thiết kế hệ thống và cài đặt bằng ReactJS, NodeJS, MongoDB.

2025

79
0
0

Phí lưu trữ

30 Point

Tóm tắt

I. Tổng Quan Về Đề Tài Xây Dựng Website Bán Sách

Website bán sách là một nền tảng thương mại điện tử hiện đại giúp kết nối người yêu sách với các nhà xuất bản và cửa hàng sách trực tuyến. Đề tài này được xây dựng bởi nhóm sinh viên từ Trường Đại học Công nghệ Thông tin - Đại học Quốc gia Thành phố Hồ Chí Minh với mục tiêu tạo ra một ứng dụng web hỗ trợ bán sách toàn diện. Website bán sách không chỉ cung cấp dịch vụ mua bán mà còn hỗ trợ quản lý danh mục sản phẩm, xử lý đơn hàng và thống kê doanh thu. Dự án được thực hiện dưới sự hướng dẫn của ThS. Nguyễn Công Hoan, áp dụng các công nghệ hiện đại như ReactJS, Node.js và MongoDB để đảm bảo hiệu suất và trải nghiệm người dùng tối ưu.

1.1. Lý Do Chọn Đề Tài

Sách là nguồn tri thức vô tận, mang lại kiến thức bổ ích cho người đọc. Xu hướng thương mại điện tử ngày càng phát triển, nhu cầu mua sách trực tuyến tăng cao. Website bán sách giúp tiết kiệm thời gian, mở rộng lựa chọn sản phẩm và tạo cơ hội cho các nhà bán lẻ tiếp cận khách hàng rộng hơn. Đề tài này kết hợp các công nghệ web hiện đại để xây dựng một nền tảng bán sách chuyên nghiệp, đáp ứng nhu cầu thực tiễn của thị trường.

1.2. Mục Tiêu Của Đề Tài

Mục tiêu chính của đề tài là xây dựng một website bán sách hoàn chỉnh với các chức năng như tìm kiếm sản phẩm, xem chi tiết sách, so sánh giá, quản lý tài khoản người dùng, quản lý kho hàng cho admin và thống kê doanh thu. Website bán sách cần cung cấp giao diện thân thiện, tốc độ tải nhanh và bảo mật dữ liệu tốt.

II. Phạm Vi Và Đối Tượng Nghiên Cứu

Đối tượng sử dụng website bán sách bao gồm khách hàng lẻ muốn tìm kiếm và mua sách, cũng như quản trị viên quản lý hệ thống. Phạm vi nghiên cứu tập trung vào các tính năng cốt lõi của một nền tảng bán hàng trực tuyến, bao gồm quản lý danh mục sản phẩm, xử lý đơn đặt hàng, quản lý tài khoản và báo cáo doanh thu. Website bán sách được thiết kế để hoạt động trên cả thiết bị máy tính và di động, với cơ sở dữ liệu MongoDB lưu trữ thông tin sản phẩm, tài khoản người dùng và lịch sử mua hàng.

2.1. Đối Tượng Nghiên Cứu

Đối tượng nghiên cứu chính là các quy trình kinh doanh trong ngành bán lẻ sách trực tuyến. Website bán sách cần hỗ trợ hai nhóm người dùng chính: khách hàng và quản trị viên. Khách hàng cần các chức năng tìm kiếm, xem chi tiết, so sánh, đặt hàng và theo dõi đơn hàng. Quản trị viên cần quản lý sản phẩm, tài khoản, hóa đơn bán hàng và xem báo cáo doanh thu chi tiết.

2.2. Phạm Vi Thực Hiện

Phạm vi thực hiện bao gồm việc xây dựng website bán sách với các module chính: trang chủ, danh mục sản phẩm, trang chi tiết sản phẩm, giỏ hàng, checkout, quản lý tài khoản cá nhân, và bảng điều khiển admin. Website sử dụng ReactJS cho frontend, Node.js cho backend và MongoDB cho cơ sở dữ liệu. Các chức năng nâng cao như thống kê doanh thu, quản lý kho hàng sẽ được triển khai cho người quản trị.

III. Phương Pháp Và Công Cụ Sử Dụng

Nhóm thực hiện sử dụng phương pháp phát triển phần mềm Agile để xây dựng website bán sách một cách linh hoạt và hiệu quả. Công cụ phát triển bao gồm ReactJS cho giao diện người dùng, giúp xây dựng các component động và tương tác cao. Node.js được sử dụng để xây dựng backend API mạnh mẽ và MongoDB lưu trữ dữ liệu linh hoạt. Website bán sách được phát triển theo mô hình MVC, đảm bảo tách biệt rõ ràng giữa logic kinh doanh, dữ liệu và giao diện. Git được sử dụng để quản lý phiên bản code, giúp nhóm cộng tác hiệu quả.

3.1. Công Nghệ Frontend ReactJS

ReactJS là thư viện JavaScript phổ biến cho xây dựng giao diện người dùng website bán sách. Ưu điểm của ReactJS bao gồm hiệu suất cao nhờ Virtual DOM, khả năng tái sử dụng component, và hỗ trợ cộng đồng lớn. Website bán sách sử dụng React Router để quản lý điều hướng, Redux hoặc Context API để quản lý trạng thái ứng dụng, giúp đơn giản hóa việc truyền dữ liệu giữa các component.

3.2. Công Nghệ Backend Node.js Và MongoDB

Node.js cung cấp môi trường chạy JavaScript trên máy chủ, cho phép website bán sách xây dựng API RESTful nhanh chóng. MongoDB là cơ sở dữ liệu NoSQL linh hoạt, lưu trữ dữ liệu sách, tài khoản người dùng dưới dạng JSON. Kết hợp Node.js và MongoDB giúp website bán sách đạt hiệu suất cao, khả năng mở rộng tốt và dễ bảo trì.

IV. Yêu Cầu Chức Năng Chính Của Website

Website bán sách cần đáp ứng các yêu cầu chức năng quan trọng để cung cấp trải nghiệm người dùng tốt. Chức năng tìm kiếm sản phẩm cho phép khách hàng lọc sách theo danh mục, tác giả, giá tiền và đánh giá. Xem chi tiết sản phẩm hiển thị thông tin chi tiết về sách, bìa sách, mô tả, giá và nhận xét từ khách hàng. Giỏ hàng và thanh toán cho phép khách hàng chọn sách, nhập thông tin giao hàng và hoàn tất thanh toán. Quản lý tài khoản hỗ trợ đăng ký, đăng nhập, cập nhật hồ sơ cá nhân. Admin panel quản lý sản phẩm, tài khoản, xem doanh thu và thống kê bán hàng.

4.1. Chức Năng Người Dùng

Người dùng của website bán sách có thể đăng ký tài khoản, đăng nhập, xem danh sách sách, tìm kiếm theo nhiều tiêu chí, xem chi tiết sản phẩm, so sánh các cuốn sách khác nhau, thêm vào giỏ hàng, và thanh toán. Chức năng quản lý tài khoản cho phép cập nhật thông tin cá nhân, đổi mật khẩu, xem lịch sử mua hàng và theo dõi trạng thái đơn hàng.

4.2. Chức Năng Admin

Admin panel của website bán sách hỗ trợ quản lý danh mục sản phẩm, thêm, sửa, xóa sách, quản lý tài khoản người dùng, xem danh sách đơn hàng, cập nhật trạng thái đơn hàng, xem báo cáo doanh thu theo ngày, tuần, tháng, và quản lý hồ sơ cửa hàng. Tính năng thống kê giúp admin phân tích bán hàng và kho hàng.

28/12/2025

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

Chương 1 mô tả tổng quan về đề tài “Xây dựng website hỗ trợ bán sách”, bao gồm các nội dung về tên đề tài, lý do chọn đề tài, mục tiêu của đề tài, đối tượng và phạm vi nghiên cứu, phương pháp nghiên cứu mà nhóm áp dụng để thực hiện đề tài. Tên đề tài XÂY DỰNG WEBSITE HỖ TRỢ BÁN SÁCH 1. Lý do chọn đề tài - Sách là nguồn tri thức vô tận, mang lại cho con người những kiến thức quý báu và mở rộng tầm nhìn. Đọc sách không chỉ giúp chúng ta tiếp thu kiến thức mới mà còn rèn luyện khả năng tư duy, phân tích và sáng tạo.

Trong thời đại công nghệ số với sự phát triển mạnh mẽ của thương mại điện tử, việc tiếp cận sách trở nên dễ dàng hơn bao giờ hết thông qua các nền tảng trực tuyến, giúp người đọc có thể tìm kiếm và mua sách một cách tiện lợi và nhanh chóng. Đề tài này không chỉ giúp chúng em nắm vững các kỹ năng lập trình web, mà còn cung cấp kiến thức về quản lý cơ sở dữ liệu, trải nghiệm người dùng và một số kiến thức về thương mại điện tử. - Lợi ích của một website bán sách có thể kể đến như: o Cung cấp nền tảng trực tuyến giúp khách hàng dễ dàng tiếp cận sản phẩm, mua bán, gửi feedback sản phẩm,… Giúp khách hàng có thể chọn mua các đầu sách thích hợp, tiết kiệm thời gian và chi phí. o Doanh nghiệp dễ dàng quản lý sản phẩm, quản lý đơn hàng và nắm được xu hướng tiêu dùng, định hướng thị trường từ đó kịp thời có các kế hoạch điều chỉnh trong việc sản xuất, kinh doanh, marketing phù hợp.

o Nếu có một trang chuyên nghiệp để trưng bày các đầu sách thì sẽ dễ dàng nhận được ấn tượng từ người tiêu dùng, giúp người dùng đỡ lẫn lộn với các sán phẩm khác. Ngoài ra, website cung cấp các công cụ phân tích dữ liệu giúp 12 hiểu rõ hành vi mua sắm của khách hàng, từ đó đưa ra phương thức kinh doanh phù hợp. - Tóm lại, một website bán sách không chỉ là một cơ hội để chúng em rèn luyện và phát triển các kỹ năng cần thiết cho sự nghiệp mà còn giúp em hiểu được quy trình kinh doanh trực tuyến. Mục tiêu của đề tài - Tạo nền tảng mua sắm trực tuyến tiện lợi: Xây dựng một website thân thiện với người dùng, dễ dàng tìm kiếm và mua sách.

Cung cấp các tính năng như tìm kiếm theo thể loại, tác giả, và đánh giá của người dùng. - Phân tích và đánh giá hiệu quả kinh doanh: Sử dụng các công cụ phân tích dữ liệu để theo dõi hành vi mua sắm của khách hàng, thống kê giúp doanh nghiệp đưa ra chiến lược kinh doanh phù hợp. - Quản lý kho hàng hiệu quả: Phát triển hệ thống quản lý kho hàng tự động, cập nhật số lượng bán, số lượng tồn. Tích hợp chức năng thông báo khi sách sắp hết hàng hoặc có sách mới.

- Đảm bảo an toàn và bảo mật thông tin: Áp dụng các biện pháp bảo mật để bảo vệ thông tin cá nhân, tài khoản khách hàng. - Cung cấp dịch vụ chăm sóc khách hàng chuyên nghiệp: Xây dựng hệ thống hỗ trợ khách hàng trực tuyến, bao gồm chat trực tiếp và email hỗ trợ. Đối tượng và phạm vi nghiên cứu 1. Đối tượng nghiên cứu - Người có nhu cầu mua sách.

- Doanh nghiệp, cửa hàng kinh doanh sách. - Quản trị viên. Phạm vi nghiên cứu - Người dùng  Khách hàng: Những người truy cập trang web để tìm kiếm, mua sách, và sử dụng các dịch vụ hỗ trợ.  Quản trị viên: Người quản lý nội dung, sản phẩm, và xử lý các đơn hàng, dữ liệu khách hàng.

- Hệ thống website  Giao diện người dùng (UI): Cách bố trí, thiết kế và khả năng tương tác với người dùng.  Chức năng chính: Tìm kiếm sách, giỏ hàng, thanh toán trực tuyến, quản lý tài khoản, v.  Cơ sở dữ liệu: Quản lý thông tin về sách, khách hàng, đơn hàng, và giao dịch. - Thị trường sách trực tuyến  Xu hướng mua sắm online trong ngành sách.

 Đối thủ cạnh tranh (các trang web bán sách khác như Tiki, Fahasa, Amazon). - Công nghệ phát triển  Các ngôn ngữ lập trình (HTML, CSS, JavaScript, PHP, Python, v.  Frameworks hoặc CMS (Laravel, WordPress, Django, React, v.  Phương pháp bảo mật và tối ưu hóa hiệu năng.

Phương pháp nghiên cứu - Trải nghiệm và quan sát các werbsite bán sách trực tuyến hiện có trên thị trường như “Fahasa”, “Tiki”,. từ đó đề ra các yêu cầu chức năng và phi chức năng. - Phân tích ưu điểm, nhược điểm của các website khác để áp dụng và rút kinh nghiệm khi xây dựng đề tài. - Nghiên cứu tài liệu các công nghệ liên quan, cập nhật các phiên bản mới và ứng dụng chúng.

- Phát triển song song với kiểm thử để tiết kiệm thời gian và chi phí bảo trì. - Hoàn thiện sản phẩm. Công cụ sử dụng Trong quá trình thực hiện đề tài, nhóm đã sử dụng một số công cụ để phục vụ cho việc triển khai đề tài, bao gồm: - Hệ điều hành: Windows 11. - Công cụ quản lý CSDL: MongoDB.

- Công cụ xây dựng ứng dụng: Visual Studio Code. - Công cụ giao diện thiết kế: Figma. CƠ SỞ LÝ THUYẾT Ở chương 2, nhóm sẽ mô tả tổng quan về các công nghệ được sử dụng trong quá trình xây dựng ứng dụng, bao gồm các khái niệm cơ bản của từng công nghệ, cũng như trình bày ưu điểm và nhược điểm của các công nghệ đó. Tổng quan về ReactJS 2.

ReactJS là gì? Hình 2.1 Icon ReactJS ReactJS là một thư viện JavaScript mã nguồn mở do Facebook phát triển, được sử dụng để xây dựng giao diện người dùng (UI), đặc biệt là trong các ứng dụng web có tính tương tác cao. React giúp phát triển các thành phần giao diện dựa trên component (thành phần), hỗ trợ việc quản lý trạng thái ứng dụng dễ dàng và hiệu quả. Ưu và nhược điểm của ReactJS  Ưu điểm: - Hiệu suất cao: React chỉ cập nhật và render lại các thành phần có sự thay đổi, nhờ vào Virtual DOM. - Tái sử dụng code: Các component có thể được tái sử dụng, giúp giảm thời gian phát triển và bảo trì.

16 - Học nhanh: Với kiến thức cơ bản về JavaScript, lập trình viên có thể nhanh chóng làm quen với React. - Hỗ trợ mạnh mẽ từ cộng đồng: Có sẵn nhiều thư viện và công cụ hỗ trợ, ví dụ: Redux (quản lý trạng thái), React Router (điều hướng). - Khả năng mở rộng: Phù hợp cho cả dự án nhỏ và lớn nhờ tính linh hoạt cao.  Nhược điểm: - Tốc độ phát triển nhanh: Cập nhật liên tục có thể khiến các công cụ, thư viện phụ trợ nhanh lỗi thời, gây khó khăn cho việc duy trì dự án lâu dài.

- Quản lý trạng thái phức tạp: Trong các ứng dụng lớn, quản lý trạng thái có thể trở nên phức tạp nếu không sử dụng đúng công cụ hoặc phương pháp. Tổng quan về ngôn ngữ JavaScript 2. JavaScript là gì? Hình 2.2 Icon ngôn ngữ JavaScript JavaScript (JS) là một ngôn ngữ lập trình thông dịch, được sử dụng rộng rãi để phát triển các ứng dụng web. Đây là ngôn ngữ kịch bản chạy trên trình duyệt, giúp tạo ra các tính năng tương tác và động cho các trang web.

JavaScript hoạt động trên cả phía client (trình duyệt) và server (ví dụ: Node. Ưu và nhược điểm của ngôn ngữ JavaScript?  Ưu điểm: 17 - Hiệu suất cao: Nhờ sử dụng JIT (Just-In-Time) compilation, JavaScript có thể thực thi nhanh và hiệu quả. 18 - Chạy trên mọi trình duyệt : Không cần cài đặt thêm phần mềm, JavaScript được hỗ trợ sẵn trên hầu hết các trình duyệt web. - Động và linh hoạt : JavaScript hỗ trợ kiểu dữ liệu động, giúp dễ dàng xây dựng các ứng dụng có tính năng phức tạp.

- Cộng đồng lớn : Có rất nhiều thư viện, framework như React, Angular, Vue, và jQuery, giúp tăng tốc độ phát triển ứng dụng.  Nhược điểm: - Bảo mật thấp: Vì JavaScript chạy trên trình duyệt nên dễ bị tấn công nếu không được bảo mật đúng cách (ví dụ: XSS – Cross-Site Scripting). - Khả năng gỡ lỗi khó khăn : Mặc dù có các công cụ hỗ trợ gỡ lỗi như DevTools, việc xử lý lỗi trong JavaScript đôi khi vẫn phức tạp, đặc biệt trong các ứng dụng lớn. - Không hỗ trợ xử lý đa luồng : JavaScript chỉ chạy trên một luồng đơn (single-threaded), nên việc xử lý các tác vụ nặng có thể làm chậm ứng dụng.

Tổng quan về MongoDB 2. MongoDB là gì? Hình 2.3 Icon MongoDB MongoDB là một hệ quản trị cơ sở dữ liệu NoSQL mã nguồn mở, dựa trên mô hình document-oriented (hướng tài liệu). Thay vì lưu trữ dữ liệu trong các bảng với hàng và cột như các cơ sở dữ liệu quan hệ (SQL), MongoDB lưu trữ dữ liệu dưới dạng các tài liệu BSON (Binary JSON) có cấu trúc linh hoạt. Ưu và nhược điểm của MongoDB?  Ưu điểm: - Linh hoạt về cấu trúc dữ liệu : Không cần thiết lập cấu trúc cố định như các cơ sở dữ liệu quan hệ, giúp dễ dàng thay đổi và mở rộng dữ liệu.

- Hiệu năng cao: MongoDB có khả năng xử lý lượng lớn dữ liệu với tốc độ cao nhờ khả năng mở rộng và lưu trữ tài liệu theo định dạng BSON. - Khả năng mở rộng tốt : Hỗ trợ sharding giúp dễ dàng mở rộng hệ thống bằng cách thêm nhiều máy chủ. - Hỗ trợ lưu trữ dữ liệu lớn : MongoDB có thể lưu trữ và quản lý dữ liệu không đồng nhất, bao gồm văn bản, hình ảnh, video, và các loại dữ liệu khác. - Dễ dàng tích hợp với các công nghệ hiện đại : MongoDB phù hợp cho các ứng dụng web, mobile, IoT và các hệ thống phân tán.

 Nhược điểm: - Không hỗ trợ tốt các giao dịch phức tạp: MongoDB chỉ hỗ trợ các giao dịch trên một tài liệu. Đối với các ứng dụng yêu cầu nhiều bảng liên kết như SQL, việc xử lý có thể phức tạp hơn. - Dùng nhiều bộ nhớ hơn: Dữ liệu được lưu dưới dạng BSON, nên chiếm nhiều không gian hơn so với các cơ sở dữ liệu quan hệ. - Bảo mật cần chú ý : Cần cấu hình kỹ để bảo mật dữ liệu, đặc biệt khi triển khai trên môi trường sản xuất.

Tổng quan về Node.js là gì? 20 Hình 2.js là một môi trường chạy JavaScript phía máy chủ (server-side), được xây dựng trên V8 JavaScript Engine (công cụ mà Google Chrome sử dụng để thực thi JavaScript). Nó cho phép các lập trình viên sử dụng JavaScript để viết mã phía server, thay vì chỉ dùng trên trình duyệt như trước đây. Ưu và nhược điểm của Node.js?

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