Đồ án 1: Xây dựng website quản lý cửa hàng nội thất - SVTH: Quách Chí Tài

Tài liệu tham khảo đồ án website quản lý cửa hàng nội thất bằng Node.js, MySQL. Báo cáo chi tiết, đầy đủ các chức năng cho admin và khách hàng.

Chuyên ngành

Công nghệ Phần mềm

Người đăng

Ẩn danh

Thể loại

Đồ án 1

2025

106
0
0

Phí lưu trữ

35 Point

Tóm tắt

I. Giới thiệu về Đồ án Website Quản lý Cửa hàng Nội thất

Đồ án website quản lý cửa hàng nội thất là một hệ thống quản lý toàn diện được xây dựng với công nghệ Node.jsMySQL, nhằm giải quyết các thách thức trong việc quản lý và bán hàng nội thất trực tuyến. Dự án này được phát triển bởi sinh viên từ Trường Đại học Công nghệ Thông tin, ĐHQG TP.HCM, với mục đích cung cấp một nền tảng hiệu quả cho cửa hàng nội thất. Hệ thống được thiết kế để phục vụ ba đối tượng chính: quản trị viên, nhân viên bán hàng, và khách hàng cuối cùng. Việc sử dụng công nghệ Node.jsMySQL đảm bảo hiệu suất cao, khả năng mở rộng tốt và quản lý dữ liệu an toàn.

1.1. Lý do chọn đề tài và nhu cầu thị trường

Hiện nay, nhu cầu mua sắm nội thất trực tuyến đang gia tăng nhanh chóng do sự phát triển của đời sống và xu hướng mua sắm online. Tuy nhiên, nhiều cửa hàng nội thất vẫn sử dụng phương pháp quản lý thủ công, gây khó khăn trong việc theo dõi sản phẩm, đơn hàng và khách hàng. Đồ án website quản lý cửa hàng nội thất sinh ra để giải quyết vấn đề này, cung cấp một giải pháp quản lý toàn diệnbán hàng trực tuyến hiệu quả.

1.2. Mục tiêu chính của hệ thống

Mục tiêu chính của website quản lý cửa hàng nội thất là xây dựng một nền tảng thương mại điện tử hiện đại với giao diện thân thiện. Hệ thống cung cấp chức năng tìm kiếm sản phẩm, giỏ hàng, thanh toán trực tuyến, quản lý đơn hàng, quản lý kho hàng, và báo cáo thống kê doanh thu cho quản trị viên. Công nghệ Node.jsMySQL được chọn để đảm bảo hiệu suất caobảo mật dữ liệu.

II. Công nghệ và Công cụ Sử dụng trong Đồ án

Đồ án website quản lý cửa hàng nội thất sử dụng một stack công nghệ hiện đại và phổ biến trong ngành phát triển web. Node.js được chọn làm framework backend vì khả năng xử lý yêu cầu đồng thời caotốc độ thực thi nhanh. MySQL là cơ sở dữ liệu chính, cung cấp khả năng lưu trữ và quản lý dữ liệu một cách an toànhiệu quả. Phía frontend, dự án sử dụng HTML, CSS, và Javascript để tạo giao diện người dùng tương tácthân thiện. Các công cụ hỗ trợ bao gồm Git cho version control, Postman cho testing API, và VS Code làm môi trường phát triển chính.

2.1. Node.js và các framework hỗ trợ

Node.js là runtime environment cho Javascript phía server, cho phép xây dựng ứng dụng web hiệu suất cao. Express.js được sử dụng như framework chính để xây dựng REST APIxử lý request. Node.js cung cấp I/O non-blocking giúp xử lý nhiều request đồng thời một cách hiệu quả. Kết hợp với các middleware hỗ trợ như body-parser, cors, dotenv, hệ thống có thể quản lý dữ liệuxác thực người dùng một cách bảo mật.

2.2. MySQL và quản lý cơ sở dữ liệu

MySQL được chọn làm hệ quản trị cơ sở dữ liệu chính cho đồ án website quản lý cửa hàng nội thất. MySQL cung cấp khả năng lưu trữ dữ liệu sản phẩm, thông tin khách hàng, lịch sử đơn hàng, và báo cáo thống kê. Sử dụng ORM như Sequelize hoặc Knex.js giúp tương tác với database một cách an toàndễ quản lý. MySQL đảm bảo tính toàn vẹn dữ liệuhiệu suất truy vấn tốt.

III. Phân tích Yêu cầu và Chức năng Hệ thống

Hệ thống quản lý cửa hàng nội thất được thiết kế với ba lớp người dùng chính, mỗi lớp có chức năng và quyền hạn khác nhau. Khách hàng có thể tìm kiếm sản phẩm, xem chi tiết sản phẩm, thêm vào giỏ hàng, thanh toán trực tuyến, và theo dõi đơn hàng. Nhân viên bán hàng được quyền quản lý danh sách sản phẩm, xử lý đơn hàng, cập nhật tình trạng giao hàng, và hỗ trợ khách hàng. Quản trị viên có toàn quyền quản lý hệ thống, xem báo cáo thống kê, phân tích doanh thu, quản lý người dùng, và cấu hình hệ thống. Các yêu cầu phi chức năng bao gồm bảo mật cao, tính sẵn sàng 99%, thời gian tải trang dưới 3 giây, và hỗ trợ mobile responsive.

3.1. Chức năng dành cho khách hàng

Khách hàng có thể đăng ký tài khoản, đăng nhập bảo mật, tìm kiếm sản phẩm theo nhiều tiêu chí, xem chi tiết sản phẩm với hình ảnh và mô tả đầy đủ. Hệ thống cho phép thêm sản phẩm vào giỏ hàng, quản lý giỏ hàng, thanh toán trực tuyến an toàn, theo dõi đơn hàng theo thời gian thực. Khách hàng cũng có thể xem lịch sử mua hàng, để lại bình luận và đánh giá sản phẩm, nhận thông báo về các khuyến mãi và sản phẩm mới.

3.2. Chức năng dành cho quản trị viên và nhân viên

Quản trị viên có thể quản lý toàn bộ danh sách sản phẩm, cập nhật giá sản phẩm, quản lý kho hàng, xem báo cáo thống kê doanh thu, phân tích lợi nhuận, quản lý tài khoản nhân viên, cấu hình hệ thống. Nhân viên được phép xem danh sách sản phẩm, xử lý đơn hàng, cập nhật tình trạng giao hàng, quản lý khách hàng, hỗ trợ khách hàng qua hệ thống tin nhắn, xuất báo cáo doanh số bán hàng.

IV. Hướng phát triển và Lợi ích của Hệ thống

Đồ án website quản lý cửa hàng nội thất mang lại nhiều lợi ích thực tiễn cho các cửa hàng nội thất hiện đại. Hệ thống giúp tự động hóa quá trình quản lý, giảm thời gian xử lý đơn hàng, tăng hiệu suất làm việc, cải thiện trải nghiệm khách hàng, và tăng doanh số bán hàng. Về bảo mật, hệ thống sử dụng mã hóa password, xác thực JWT, HTTPS protocol, đảm bảo thông tin khách hàng an toàn. Hướng phát triển tiếp theo có thể bao gồm tích hợp thanh toán qua ví điện tử, hệ thống AI gợi ý sản phẩm, livestream shopping, ứng dụng mobile native, chatbot AI hỗ trợ khách hàng 24/7, tích hợp cộng đồng mạng xã hội, và phân tích dữ liệu advanced để dự báo xu hướng thị trường.

4.1. Lợi ích kinh doanh và vận hành

Website quản lý cửa hàng nội thất mang lại lợi ích kinh tế đáng kể cho doanh nghiệp. Hệ thống tự động quản lý kho, giảm sai sót trong xử lý đơn hàng, tăng tốc độ giao dịch, cải thiện khả năng phục vụ khách hàng. Quản trị viên có thể ra quyết định dựa trên dữ liệu thực, tối ưu hóa chiến lược kinh doanh, tăng customer retention. Hệ thống cũng giúp mở rộng thị trường bán hàng, tiếp cận khách hàng toàn quốc, giảm chi phí nhân công quản lý.

4.2. Kế hoạch mở rộng và cải tiến trong tương lai

Để nâng cao cạnh tranh thị trường, hệ thống có thể tích hợp AI để gợi ý sản phẩm cá nhân hóa, phát triển ứng dụng mobile cho iOSAndroid, cải thiện hệ thống thanh toán với nhiều cách thức thanh toán, triển khai chatbot AI cho hỗ trợ khách hàng tự động. Ngoài ra, có thể tích hợp live shopping, xây dựng cộng đồng trực tuyến, sử dụng analytics nâng cao để dự báo xu hướng, tối ưu hóa SEO để tăng traffic organic, mở rộng hệ sinh thái với các dịch vụ liên quan.

28/12/2025

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

Chương 1: Giới thiệu đề tài: Trình bày lý do chọn đề tài, mục đích, đối tượng và phạm vi nghiên cứu của hệ thống.  Chương 2: Nghiên cứu lý thuyết: Trình bày các khái niệm cơ bản về phát triển website bán hàng trực tuyến, các công nghệ và phương pháp nghiên cứu.  Chương 3: Phân tích hệ thống: Phân tích yêu cầu hệ thống, sơ đồ phân rã chức năng, phân tích và thiết kế hệ thống.  Chương 4: Xây dựng website: Trình bày quá trình xây dựng website.

 Chương 5: Kết luận: Đưa ra những ưu điểm, hạn chế và hướng phát triển tiếp theo cho hệ thống. 7 Chapter 1 GIỚI THIỆU ĐỀ TÀI 1.Lý do chọn đề tài Nội thất đóng vai trò quan trọng trong việc tạo dựng không gian sống và làm việc của mỗi người. Hiện nay, nhu cầu mua sắm nội thất đang ngày càng gia tăng do sự phát triển của đời sống và nhu cầu nâng cao chất lượng không gian sống. Tuy nhiên, việc lựa chọn nội thất phù hợp về mẫu mã, kích thước và chất lượng thường tốn rất nhiều thời gian và công sức khi phải đến trực tiếp các cửa hàng nội thất truyền thống.

Trong khi đó, xu hướng mua sắm online đang ngày càng trở nên phổ biến, giúp khách hàng tiết kiệm thời gian và dễ dàng so sánh sản phẩm từ nhiều thương hiệu khác nhau. Sự phát triển của công nghệ thông tin và Internet mang đến cơ hội lớn cho các doanh nghiệp trong việc quảng bá sản phẩm và tiếp cận khách hàng tiềm năng. Việc xây dựng một website quản lý cửa hàng nội thất sẽ giúp cửa hàng dễ dàng đưa sản phẩm của mình lên môi trường trực tuyến, tiếp cận với khách hàng một cách nhanh chóng và hiệu quả, đồng thời tối ưu hóa quy trình quản lý và vận hành cửa hàng. Chính vì những lý do trên, em quyết định chọn thực hiện đề tài Xây dựng website quản lý cửa hàng nội thất.

Website này sẽ giúp cửa hàng giới thiệu sản phẩm, quản lý thông tin đơn hàng và tương tác với khách hàng một cách thuận tiện, nhanh chóng.Mục đích Xây dựng một website hỗ trợ mua bán nội thất trực tuyến, giao diện trực quan, thân thiện, màu sắc hài hòa, đáp ứng các chức năng cần thiết của một website thương mại điện tử. Xây dựng một website dành cho quản trị viên với các chức năng quản lý thông tin đa dạng, tiện dụng. 8 Cung cấp báo cáo kinh doanh đơn giản với bố cục rõ ràng, thông tin chi tiết giúp chủ cửa hàng nắm bắt tình hình hoạt động kinh doanh.Đối tượng  Khách hàng chưa có tài khoản (Guest).  Khách hàng đã đăng ký tài khoản (Customer).

 Quản trị viên (Admin).  Nhân viên cửa hàng (Staff).Phạm vi nguyên cứu 1. Phạm vi môi trường Triển khai dự án trên môi trường web. Phạm vi chức năng Các chức năng phía khách hàng:  Đăng nhập, đăng ký, đăng xuất, quên mật khẩu, thay đổi thông tin tài khoảng,.

 Các chức năng mua hàng: tìm kiếm, sắp xếp, lọc sản phẩm, thêm sản phẩm vào giỏ hàng, thực hiện đặt hàng và theo dỗi trạng thái đơn hàng. Các chức năng phía quản trị viên:  Quản lý tài khoảng nhân viên  Quản lý tài khoảng khách hàng  Quản lý danh mục sản phẩm  Quản lý sản phẩm  Quản lý đơn hàng  Xem báo cáo thống kê Các chức năng phí nhân viên: 9  Quản lý tài khoảng khách hàng  Quản lý danh mục sản phẩm  Quản lý sản phẩm  Quản lý đơn hàng  Cập nhật trạng thái đơn hàng Trọng tâm:  Trọng tâm là bán hàng trực tuyến: Không cần quản lý tồn kho thực tế, thay vào đó tập trung vào quy trình giao hàng và xử lý đơn hàng online.  Hệ thống website cửat hàng này sẽ đơn giản hơn nhiều so với phần mềm quản lý cửa hàng, tập trung vào trải nghiệm mua sắm trực tuyến và quản lý quy trình bán hàng từ xa. Chapter 2 NGUYÊN CỨU LÝ THUYẾT 1.

Kiến thức nền tảng Để thiết kế và hoàn thiện sản phẩm đúng với yêu cầu người dùng, em đã vận dụng các kiến thức có liên quan, cụ thể:  Công cụ thiết kế diagram: Draw.  Công cụ thiết kế giao diện: Figma.  Ngôn ngữ sử dụng: JavaScript.  Hệ quản trị cơ sở dữ liệu: MySQL.

 Source Control: Github. Công nghệ sử dụng 1. MySQL Khái niệm MySQL chính là hệ quản trị cơ sở dữ liệu mã nguồn mở Relational Database Management System – RDBMS vào thời điểm hiện tại được dùng phổ biến trên phạm vi toàn cầu. Hệ quản trị cơ sở dữ liệu này hoạt động dựa trên mô hình chuẩn mực là Client (Máy khách) – Server (Máy chủ) Cơ chế hoạt động của MySQL  MySQL tạo ra bảng dữ liệu để có thể lưu trữ dữ liệu và định nghĩa về sự liên quan giữa những bảng đó.

 Client sẽ trực tiếp gửi yêu cầu SQL bằng 1 lệnh đặc biệt có trên MySQL.  Ứng dụng tại server sẽ tiến hành phản hồi thông tin cũng như trả về những kết quả trên máy client. Ưu điểm  Mã nguồn mở và miễn phí: MySQL là một trong những hệ quản trị cơ sở dữ liệu phổ biến nhất và miễn phí.  Hỗ trợ các tính năng SQL chuẩn: MySQL hỗ trợ đầy đủ các lệnh SQL như SELECT, INSERT, UPDATE, DELETE.

 Hiệu suất cao: Tối ưu cho các ứng dụng web có số lượng truy vấn lớn.  Hỗ trợ đa nền tảng: Chạy được trên nhiều hệ điều hành khác nhau. Nhược điểm  Khả năng mở rộng hạn chế: So với các cơ sở dữ liệu NoSQL như MongoDB, MySQL gặp khó khăn khi mở rộng quy mô lớn. 11  Yêu cầu bảo trì định kỳ: Cần bảo trì và sao lưu dữ liệu thường xuyên để tránh mất mát dữ liệu.

 Không hỗ trợ tốt dữ liệu phi cấu trúc: MySQL phù hợp hơn với dữ liệu có cấu trúc (structured data), không linh hoạt như NoSQL. ORM Sequelize Khái niệm Sequelize là một ORM (Object Relational Mapping) cho Node.js, giúp lập trình viên tương tác với cơ sở dữ liệu MySQL thông qua các đối tượng JavaScript thay vì các câu lệnh SQL thuần túy. Ưu điểm  Tự động hóa truy vấn SQL: Sequelize giúp giảm thiểu việc viết các câu lệnh SQL phức tạp bằng cách sử dụng các đối tượng JavaScript.  Hỗ trợ nhiều cơ sở dữ liệu: Sequelize có thể làm việc với nhiều cơ sở dữ liệu khác nhau như MySQL, PostgreSQL, SQLite, và MSSQL.

 Quản lý quan hệ dễ dàng: Sequelize hỗ trợ các mối quan hệ giữa các bảng (One-to-One, One-to-Many, Many-to-Many).  Xử lý dữ liệu dễ dàng: Giúp thao tác với dữ liệu dễ dàng thông qua các phương thức CRUD (Create, Read, Update, Delete). Nhược điểm  Cần học thêm cú pháp riêng: Sequelize có cú pháp riêng, lập trình viên cần thời gian để làm quen.  Hiệu suất thấp hơn SQL thuần: So với việc sử dụng SQL thuần, Sequelize có thể chậm hơn trong một số trường hợp phức tạp.

 Cấu hình phức tạp: Khi dự án lớn, việc cấu hình Sequelize có thể trở nên phức tạp và khó quản lý.js là một framework web cho Node.js, giúp xây dựng các ứng dụng backend nhanh chóng và dễ dàng. Express cung cấp các công cụ để xử lý request/response, quản lý route và tích hợp với các cơ sở dữ liệu.js là một nền tảng JavaScript chạy trên server, giúp xây dựng các ứng dụng backend hiệu quả, nhanh chóng và không đồng bộ.js hỗ trợ xử lý nhiều kết nối đồng thời và là lựa chọn phổ biến cho các ứng dụng thời gian thực. JavaScript Javascript là một nền tảng (cross-platform), ngôn ngữ kịch bản hướng đối tượng (object-oriented). Nó là một ngôn ngữ nhỏ và nhẹ.

Chạy trong môi trường máy chủ lưu trữ (ví dụ: Trình duyệt web), JavaScript có thể được kết nối với các đối tượng của môi trường để cung cấp kiểm soát chương trình đối với chúng. JavaScript là ngôn ngữ lập trình dựa trên logic. Nó có thể được sử dụng để sửa đổi nội dung trang web. Và khiến nó hoạt động theo nhiều cách khác nhau để đáp ứng với hành động của người dùng.

Các cách sử dụng phổ biến cho JavaScript bao gồm các hộp xác nhận, kêu gọi hành động và thêm các danh tính mới vào thông tin hiện có. React Khái niệm React 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) theo hướng component. React 13 cho phép tạo các ứng dụng web nhanh, hiệu quả và dễ bảo trì bằng cách chia nhỏ giao diện thành các thành phần (component) có thể tái sử dụng. Ưu điểm  Tái sử dụng component: React cho phép chia nhỏ giao diện thành các component có thể tái sử dụng, giúp giảm thời gian phát triển.

 Hiệu suất cao: React sử dụng Virtual DOM giúp cập nhật giao diện nhanh chóng và tối ưu hiệu suất.  Cộng đồng lớn: React có một cộng đồng phát triển mạnh mẽ, nhiều thư viện và công cụ hỗ trợ.  SEO tốt hơn: React hỗ trợ server-side rendering (SSR), giúp cải thiện SEO cho các ứng dụng web. Nhược điểm  Cần học thêm công cụ hỗ trợ: React yêu cầu kiến thức về JSX, state management (Redux, Context API) và các công cụ build như Webpack.

 Cập nhật thường xuyên: React thường xuyên cập nhật phiên bản, khiến việc duy trì dự án cần phải theo kịp các thay đổi mới.  Chỉ là thư viện giao diện: React chỉ tập trung vào phần giao diện, cần kết hợp thêm các công nghệ khác để xây dựng ứng dụng hoàn chỉnh. CSS/SASS Khái niệm CSS (Cascading Style Sheets) là ngôn ngữ định dạng dùng để thiết kế giao diện trang web, giúp kiểm soát cách hiển thị nội dung HTML như màu sắc, bố cục, font chữ, khoảng cách và hiệu ứng. 14 SASS (Syntactically Awesome Stylesheets) là một tiền xử lý của CSS, giúp viết CSS hiệu quả hơn, tổ chức mã tốt hơn, đồng thời hỗ trợ các tính năng như biến, vòng lặp và mixin mà CSS thông thường không có.

Ưu điểm  Tách biệt nội dung và trình bày: CSS giúp tách biệt phần giao diện (style) khỏi phần nội dung (HTML), giúp mã dễ bảo trì hơn.  Tái sử dụng mã: Với CSS, bạn có thể áp dụng cùng một kiểu dáng cho nhiều trang web mà không cần viết lại.  Kiểm soát giao diện tốt hơn: CSS cho phép tùy chỉnh giao diện chi tiết như màu sắc, font chữ, bố cục, hiệu ứng động.  SASS cải thiện hiệu suất: SASS hỗ trợ các tính năng như biến, vòng lặp, mixin giúp việc viết CSS nhanh chóng và hiệu quả hơn.

Nhược điểm  Thiếu tính năng động: CSS không thể xử lý các thao tác logic hay tương tác động, cần kết hợp với JavaScript.  Khó quản lý trong dự án lớn: Khi dự án lớn, việc quản lý các tệp CSS có thể trở nên phức tạp nếu không tổ chức tốt.

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