Báo cáo đồ án 1: Xây dựng website bán sách Booknow - ĐH Công nghệ Thông tin

Tải trọn bộ báo cáo đồ án Xây dựng website bán sách Booknow. Tài liệu tham khảo chi tiết về phân tích, thiết kế hệ thống và các chức năng.

2025

97
0
0

Phí lưu trữ

35 Point

Tóm tắt

I. Giới thiệu về đồ án xây dựng website bán sách Booknow

Đồ án Xây dựng website bán sách Booknow là một dự án toàn diện nhằm phát triển nền tảng thương mại điện tử chuyên biệt cho lĩnh vực kinh doanh sách. Được thực hiện bởi sinh viên Đào Duy Thông và Lê Minh Toàn tại Trường Đại học Công nghệ Thông tin, ĐH Quốc gia TP.HCM, dưới hướng dẫn của TS Đỗ Thị Thanh Tuyền. Website bán sách Booknow được thiết kế để đáp ứng nhu cầu của cả khách hàng thường nhân và quản lý cửa hàng. Hệ thống tích hợp các công nghệ hiện đại như TypeScript và Firebase Cloud Storage, tạo nên một nền tảng mạnh mẽ, an toàn và dễ sử dụng. Mục tiêu chính của đồ án là cung cấp giải pháp quản lý bán hàng hiệu quả cho các cửa hàng sách và trải nghiệm mua sắm tối ưu cho người dùng cuối.

1.1. Lý do chọn đề tài

Nền kinh tế số phát triển nhanh chóng, nhu cầu mua sắm trực tuyến ngày càng tăng. Website bán sách trực tuyến trở thành giải pháp thiết yếu cho các nhà bán lẻ sách hiện đại. Đồ án được chọn để giải quyết các thách thức trong quản lý kho hàng, theo dõi đơn hàng, và nâng cao trải nghiệm khách hàng. Việc phát triển nền tảng này giúp tối ưu hóa quy trình kinh doanh và mở rộng thị trường tiêu thụ sách.

1.2. Mục đích nghiên cứu

Mục đích chính của dự án là xây dựng một hệ thống thương mại điện tử hoàn chỉnh cho ngành bán sách. Hệ thống cần hỗ trợ các chức năng quản lý sản phẩm, xử lý đơn hàng, quản lý khách hàng, và cung cấp các công cụ phân tích doanh thu. Ngoài ra, đồ án nhằm áp dụng các kiến thức về thiết kế cơ sở dữ liệu, lập trình web và quản lý dự án phần mềm vào thực tiễn.

II. Phạm vi và đối tượng nghiên cứu của dự án

Phạm vi nghiên cứu của Booknow bao gồm toàn bộ quy trình từ khảo sát nhu cầu thị trường đến xây dựng ứng dụng hoàn chỉnh. Đối tượng nghiên cứu chính là hệ thống quản lý website bán sách với hai nhóm người dùng chính: khách hàng (thành viên và vãng lai) và quản lý cửa hàng. Dự án tập trung vào việc phân tích các quy trình kinh doanh hiện tại, xác định các yêu cầu chức năng và phi chức năng của hệ thống. Phạm vi công việc bao gồm thiết kế kiến trúc hệ thống, phát triển cơ sở dữ liệu, xây dựng giao diện người dùng và triển khai các tính năng thương mại điện tử như giỏ hàng, thanh toán và theo dõi đơn hàng.

2.1. Đối tượng và phạm vi đối với khách hàng

Khách hàng là nhóm người dùng chính sử dụng website bán sách Booknow. Hệ thống hỗ trợ hai loại khách hàng: khách hàng thành viên (đã đăng ký tài khoản) và khách hàng vãng lai. Khách hàng thành viên có thể xem lịch sử mua hàng, theo dõi đơn hàng, đánh giá sản phẩm và nhận các ưu đãi đặc biệt. Phạm vi bao gồm các chức năng tìm kiếm sách, xem chi tiết sản phẩm, thêm vào giỏ hàng, thanh toán và quản lý thông tin cá nhân.

2.2. Đối tượng và phạm vi đối với quản lý

Nhóm quản lý cửa hàng sử dụng dashboard để quản lý toàn bộ hoạt động kinh doanh. Phạm vi bao gồm quản lý sách (thêm, sửa, xóa), quản lý danh mục, quản lý nhà cung cấp, theo dõi đơn hàng, quản lý đánh giá khách hàng và xem báo cáo thống kê doanh thu. Admin dashboard cung cấp các công cụ phân tích dữ liệu để hỗ trợ quyết định kinh doanh.

III. Công nghệ và công cụ sử dụng trong dự án

Đồ án Booknow sử dụng các công nghệ tiên tiến để đảm bảo hiệu suất và bảo mật. TypeScript được lựa chọn làm ngôn ngữ lập trình chính vì tính ổn định, khả năng kiểm soát kiểu dữ liệu và hỗ trợ phát triển ứng dụng quy mô lớn. Firebase Cloud Storage được tích hợp để lưu trữ hình ảnh sách và tài liệu một cách an toàn và hiệu quả. Hệ thống cơ sở dữ liệu được thiết kế chi tiết với các bảng lưu trữ thông tin người dùng, sách, đơn hàng, đánh giá và nhiều entity khác. Kiến trúc hệ thống theo mô hình client-server giúp đảm bảo tính mở rộng và bảo trì dễ dàng.

3.1. TypeScript và ngôn ngữ lập trình

TypeScript là ngôn ngữ được chọn cho dự án vì cung cấp tính an toàn về kiểu dữ liệu và giảm thiểu lỗi trong quá trình phát triển. TypeScript cho phép lập trình viên định nghĩa rõ ràng kiểu dữ liệu, hỗ trợ lập trình hướng đối tượng và làm cho mã nguồn dễ bảo trì hơn. Điều này đặc biệt quan trọng cho các dự án lớn như website bán sách Booknow.

3.2. Firebase Cloud Storage và lưu trữ dữ liệu

Firebase Cloud Storage được tích hợp để quản lý lưu trữ hình ảnh sách, tài liệu và các tập tin đa phương tiện khác. Giải pháp này cung cấp bảo mật mạnh mẽ, khả năng tự động sao lưu và truy cập dữ liệu nhanh chóng. Firebase giúp giảm chi phí cơ sở hạ tầng và cho phép ứng dụng mở rộng một cách linh hoạt khi lượng người dùng tăng.

IV. Các tính năng chính và kết quả đạt được

Website bán sách Booknow cung cấp một bộ tính năng toàn diện nhằm tạo trải nghiệm mua sắm tuyệt vời cho khách hàng và công cụ quản lý hiệu quả cho cửa hàng. Các tính năng chính bao gồm: hệ thống xác thực người dùng (đăng ký, đăng nhập, quên mật khẩu), tìm kiếm và lọc sách nâng cao, quản lý giỏ hàng và thanh toán, theo dõi đơn hàng theo thời gian thực, hệ thống đánh giá và bình luận sản phẩm, chatbot hỗ trợ khách hàng, và báo cáo thống kê doanh thu. Ngoài ra, dự án đã phát triển dashboard quản lý toàn diện cho nhân viên cửa hàng với khả năng quản lý sách, danh mục, nhà cung cấp, tác giả và theo dõi hiệu suất kinh doanh.

4.1. Tính năng dành cho khách hàng

Khách hàng có thể thực hiện tìm kiếm sách bằng giọng nói, duyệt danh mục, xem chi tiết sản phẩm với hình ảnh chất lượng cao, thêm sách vào giỏ hàng, thanh toán trực tuyến an toàn và theo dõi trạng thái đơn hàng từ đặt hàng đến giao nhận. Hệ thống cũng cho phép khách hàng viết đánh giá, bình luận sản phẩm và xem phản hồi từ nhà cửa hàng, tạo nên một cộng đồng người dùng tích cực.

4.2. Tính năng quản lý và báo cáo

Quản lý sách được thực hiện dễ dàng với khả năng thêm, sửa, xóa sản phẩm và nhập kho hàng. Hệ thống cung cấp báo cáo thống kê doanh thu, danh sách sản phẩm bán chạy nhất, và các chỉ số kinh doanh quan trọng khác. Quản lý cũng có thể quản lý nhà cung cấp, tác giả, danh mục sản phẩm và theo dõi các đánh giá khách hàng để nâng cao chất lượng dịch vụ.

28/12/2025

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

Chương 1 mô tả tổng quan đề tài, bao gồm các nội dung về lý do chọn đề tài, mục tiêu đề tài, đối tượng và phạm vi nghiên cứu, phương pháp nghiên cứu và các công cụ mà nhóm sử dụng để thực hiện đề tài.1 Lý do chọn đề tài Hiện nay, thương mại điện tử tại Việt Nam đang phát triển rất nhanh chóng, và nhu cầu mua sắm trực tuyến của người dùng ngày càng tăng cao. Việc xây dựng trang web bán sách trực tuyến trở nên cần thiết đối với các công ty và tổ chức kinh doanh sách muốn mở rộng thương hiệu và tiếp cận nhiều khách hàng hơn. Số lượng lớn người dùng có thói quen lướt web bằng các thiết bị di động như điện thoại thông minh và máy tính bảng. Do đó, việc thiết kế các trang web bán sách với giao diện thân thiện sẽ thu hút được đông đảo người dùng.

Ngoài ra, các trang web bán sách cần đáp ứng nhu cầu của khách hàng bằng cách cung cấp những sản phẩm chất lượng, dễ dàng tìm kiếm, và mua sắm trực tuyến, giúp tiết kiệm thời gian và mang lại sự tiện lợi tối đa. Xuất phát từ những thực tế đó, “Website bán sách BookNow” với mục đích xây dựng một trang web giới thiệu và bán các đầu sách chất lượng, mang đến trải nghiệm mua hàng tiện lợi cho người dùng. Dự án này bắt đầu như một ý tưởng cho một cửa hàng sách trực tuyến nhằm đáp ứng nhu cầu ngày càng tăng cao về đọc sách và học hỏi tri thức trong thời đại số.2 Mục đích nghiên cứu Cung cấp cho khách hàng một nền tảng hiện đại, cho phép họ dễ dàng đặt hàng và truy cập thông tin chi tiết về sản phẩm một cách nhanh chóng và tiện lợi. Nền tảng được thiết kế với giao diện thân thiện, linh hoạt, phù hợp với nhiều đối tượng người dùng, mang lại trải nghiệm sử dụng mượt mà và dễ dàng thao tác.

Đồng thời, hệ thống hỗ trợ doanh nghiệp quản lý hiệu quả hơn, bao gồm việc kiểm soát kho hàng, theo dõi dữ liệu bán hàng, lưu trữ thông tin khách hàng và phân tích các số liệu liên quan. 3 Không chỉ dừng lại ở việc quản lý, nền tảng còn cung cấp các công cụ phân tích mạnh mẽ, giúp doanh nghiệp đưa ra những quyết định chiến lược thông minh hơn trong sản xuất và marketing. Những dữ liệu được thu thập từ hoạt động bán hàng và hành vi khách hàng sẽ được hệ thống xử lý và hiển thị dưới dạng báo cáo chi tiết, hỗ trợ doanh nghiệp nhận diện xu hướng thị trường và tối ưu hóa chiến lược kinh doanh. Bên cạnh đó, sự linh hoạt của hệ thống cũng đảm bảo doanh nghiệp dễ dàng tích hợp các công nghệ mới, mở rộng chức năng để phù hợp với sự phát triển không ngừng của thị trường và nhu cầu khách hàng.

Với nền tảng này, doanh nghiệp không chỉ nâng cao hiệu suất vận hành mà còn tạo dựng được lòng tin từ khách hàng nhờ sự chuyên nghiệp và dịch vụ vượt trội.3 Đối tượng và phạm vi nghiên cứu 1.1 Đối tượng nghiên cứu - Người dùng khách. - Người dùng có tài khoản. - Quản trị viên.2 Phạm vi nghiên cứu Triển khai sản phẩm đề tài trên môi trường website. Với các chức năng: - Xác thực và quản lý tài khoản người dùng:  Đăng ký.

 Quên mật khẩu.  Chỉnh sửa thông tin tài khoản. - Quản lý sách:  Thêm sách.  Cập nhật thông tin sách.

 Ẩn hoặc hiển thị sách. 4  Nhập kho sách. - Tìm kiếm sách:  Tìm kiếm sách theo nhiều tiêu chí.  Tìm kiếm sách bằng giọng nói.

 Sắp xếp và lọc sách. - Xem chi tiết sách. - Quản lý giỏ hàng:  Thêm sách vào giỏ hàng.  Xóa sản phẩm sách khỏi giỏ hàng.

 Sửa số lượng của sách trong giỏ hàng. - Mua hàng với nhiều phương thức thanh toán (thanh toán khi nhận hàng, thanh toán với ví MOMO, VNPAY, ZALOPAY). - Quản lý đơn hàng:  Xử lý đơn hàng.  Theo dõi tình trạng đơn hàng.

 Xem lịch sử đơn hàng. - Đánh giá và bình luận. - Xem báo cáo và thống kê doanh thu, sản phẩm bán chạy. - Chatbot hỗ trợ khách hàng.

- Quản lý tác giả:  Thêm tác giả.  Cập nhật thông tin tác giả. - Quản lý danh mục:  Thêm danh mục.  Cập nhật thông danh mục.

 Ẩn hoặc hiển thị danh mục. - Quản lý nhà cung cấp:  Thêm nhà cung cấp.  Cập nhật thông tin nhà cung cấp.3 Phương pháp nghiên cứu Quy trình thực hiện dự án được chia thành các giai đoạn cụ thể nhằm đảm bảo tính logic và hiệu quả trong quá trình phát triển hệ thống, bao gồm: - Tìm hiểu công nghệ và công cụ hỗ trợ:  Công nghệ: Dự án sử dụng ReactJS để phát triển giao diện người dùng, Firebase cho các tính năng hỗ trợ real-time và xác thực, NestJS làm framework back-end, Prisma làm ORM quản lý cơ sở dữ liệu, và PostgreSQL làm hệ quản trị cơ sở dữ liệu.  Công cụ hỗ trợ: Figma được sử dụng để thiết kế giao diện và xây dựng mô hình prototype.

 Quản lý mã nguồn: Sử dụng GitHub để tổ chức, lưu trữ và theo dõi phiên bản code.  Thu thập yêu cầu:  Tạo phiếu khảo sát: Phân tích nhu cầu thực tế của người dùng thông qua việc phát phiếu khảo sát.  Tìm hiểu các ứng dụng hiện có: Nghiên cứu và đánh giá các ứng dụng tương tự trên thị trường để rút ra bài học kinh nghiệm và xác định điểm khác biệt.  Xác định và phân tích yêu cầu: Từ các thông tin thu thập được, xác định các yêu cầu cụ thể và phân tích để định hình rõ các tính năng cần triển khai.

- Thiết kế hệ thống:  Thiết kế hệ thống tổng thể: Xây dựng kiến trúc hệ thống nhằm đảm bảo tính ổn định và mở rộng.  Thiết kế đối tượng: Phân tích và thiết kế các đối tượng chính liên quan đến hệ thống.  Thiết kế dữ liệu: Xây dựng cơ sở dữ liệu bao gồm cấu trúc bảng, mối quan hệ, và các quy tắc ràng buộc.  Thiết kế giao diện: Sử dụng Figma để tạo ra giao diện người dùng đẹp mắt, dễ sử dụng, đáp ứng trải nghiệm người dùng (UI/UX).

6 - Cài đặt:  Phát triển và tích hợp các chức năng đã được xác định trong giai đoạn thiết kế.  Đảm bảo mã nguồn được tối ưu hóa và tuân thủ các tiêu chuẩn. - Kiểm thử:  Kiểm tra toàn bộ hệ thống để phát hiện lỗi và khắc phục kịp thời.  Đảm bảo hệ thống hoạt động ổn định, đáp ứng đúng các yêu cầu đã đề ra.

Toàn bộ quy trình được thực hiện theo phương pháp tiếp cận có kế hoạch rõ ràng nhằm đảm bảo sản phẩm cuối cùng đạt chất lượng cao nhất.4 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: pgAdmin4, Firebase Admin Console  Công cụ xây dựng chatbot và xử lý ngôn ngữ tự nhiên: Dialogflow CX Console  Công cụ xây dựng ứng dụng: Visual Studio Code.  Công cụ quản lý mã nguồn: Github.  Công cụ thiết kế giao diện người dùng (UI): Figma.

 Công cụ vẽ sơ đồ phân tích thiết kế: DrawIO. 7 Chương 2: CƠ SỞ LÝ THUYẾT Ở chương 2, nhóm sẽ mô tả về các công nghệ mà nhóm sử dụng, mỗi công nghệ sẽ được giới thiệu khái niệm tổng quan, các đặc trưng.1 Ngôn ngữ Typescript Hình 2.1 Logo Typescript - Giới thiệu: TypeScript là một ngôn ngữ lập trình mã nguồn mở, được phát triển bởi Microsoft, và là một phần mở rộng của JavaScript. TypeScript được thiết kế để biên dịch về JavaScript, đảm bảo khả năng tương thích với mọi môi trường hỗ trợ JavaScript - Ưu điểm:  Hỗ trợ kiểu tĩnh (Static Typing): TypeScript cho phép khai báo kiểu dữ liệu, giúp phát hiện lỗi ngay trong quá trình viết code thay vì khi chạy chương trình. - Nhược điểm:  Thời gian học tập và làm quen: Đối với những lập trình viên quen thuộc với JavaScript, việc làm quen với TypeScript có thể mất thời gian.2 Logo ReactJS 8 - Giới thiệu: ReactJS là một thư viện JavaScript mã nguồn mở được phát triển bởi Facebook, dùng để xây dựng giao diện người dùng (UI) cho các ứng dụng web.

ReactJS giúp phát triển các thành phần UI có thể tái sử dụng, tối ưu hóa hiệu suất và quản lý trạng thái ứng dụng một cách hiệu quả. - Ưu điểm:  Kiến trúc dựa trên thành phần (Component-based Architecture): Giao diện được chia thành các thành phần nhỏ, độc lập và có thể tái sử dụng.  Virtual DOM: Cải thiện hiệu suất bằng cách tối ưu hóa việc cập nhật giao diện, chỉ cập nhật những phần thay đổi. - Nhược điểm:  Chưa hoàn thiện toàn diện cho full-stack: Mặc dù React không phải là một giải pháp toàn diện cho các ứng dụng fullstack.3 Logo Redux - Giới thiệu: Redux là một thư viện quản lý trạng thái dành cho các ứng dụng JavaScript, thường được sử dụng cùng với React.

Redux giúp quản lý trạng thái ứng dụng một cách trung tâm, dễ dàng kiểm soát và theo dõi. - Ưu điểm:  Nguồn duy nhất của sự thật (Single Source of Truth): Toàn bộ trạng thái ứng dụng được lưu trữ trong một store duy nhất.  Trạng thái chỉ đọc (State is Read-Only): Trạng thái chỉ có thể thay đổi thông qua các hành động (actions), đảm bảo tính bất biến. 9 - Nhược điểm:  Độ phức tạp cao: Redux yêu cầu thiết lập nhiều boilerplate code (actions, reducers, store, middleware), khiến việc sử dụng trở nên phức tạp.4 Logo Tailwind - Giới thiệu: TailwindCSS là một framework CSS tiện ích (utility-first) cho phép xây dựng các giao diện người dùng một cách nhanh chóng và linh hoạt.

- Ưu điểm:  Tiện ích đầu tiên (Utility-First): Sử dụng các lớp tiện ích để xây dựng giao diện trực tiếp trong HTML, giảm nhu cầu viết CSS tùy chỉnh.  Thiết kế đáp ứng (Responsive Design): Hỗ trợ thiết kế linh hoạt với các tiện ích dành cho các kích thước màn hình khác nhau. - Nhược điểm:  Cú pháp dài và khó đọc: Tailwind sử dụng nhiều lớp tiện ích (utility classes) trực tiếp trong HTML. Khi giao diện phức tạp, mã HTML có thể trở nên dài dòng và khó đọc, đặc biệt với những người mới làm quen.5 Logo NestJS 10 - Giới thiệu: NestJS là một framework backend mã nguồn mở cho Node.js, được xây dựng dựa trên TypeScript và thiết kế theo kiến trúc module, giúp phát triển các ứng dụng server-side có cấu trúc rõ ràng và dễ bảo trì.

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