Báo cáo đồ án: Xây dựng hệ thống xuất nhập kho và chatbox cho website bán laptop

Tham khảo đồ án Xây dựng hệ thống xuất nhập kho và chatbox tư vấn cho website bán laptop. Báo cáo chi tiết giải pháp, công nghệ và quy trình thực hiện.

Chuyên ngành

Công Nghệ Phần Mềm

Người đăng

Ẩn danh

Thể loại

Đồ án

2022

135
1
0

Phí lưu trữ

35 Point

Tóm tắt

I. Giới thiệu về Hệ thống Quản lý Kho Chatbot

Trong bối cảnh thương mại điện tử phát triển mạnh mẽ hiện nay, hệ thống quản lý kho & chatbot đã trở thành giải pháp không thể thiếu cho các website bán laptop. Đề tài này tập trung xây dựng một nền tảng e-commerce toàn diện, kết hợp công nghệ hiện đại như ReactJS, NodeJS, MongoDB và PostgreSQL. Hệ thống được thiết kế để đáp ứng ba nhóm người dùng chính: chủ cửa hàng (Owner), nhân viên (Staff) và khách hàng (Customer). Với sự tự động hóa qua chatbot tư vấn, website không chỉ cung cấp trải nghiệm mua sắm thuận tiện mà còn hỗ trợ khách hàng giải đáp thắc mắc một cách nhanh chóng. Mục tiêu chính của đề tài là xây dựng một hệ thống quản lý xuất nhập kho hiệu quả, đảm bảo quản lý sản phẩm chính xác và tối ưu hóa quy trình phân phối hàng hóa giữa các chi nhánh.

1.1. Tầm quan trọng của Hệ thống Quản lý Kho

Quản lý kho hiệu quả là yếu tố then chốt trong kinh doanh bán lẻ laptop. Hệ thống này giúp chủ cửa hàng theo dõi tồn kho real-time, quản lý xuất nhập kho một cách chính xác và giảm thiểu sai sót. Với tích hợp transaction trong Sequelize, mỗi giao dịch xuất nhập đều được ghi nhận an toàn, đảm bảo tính toàn vẹn dữ liệu. Hệ thống cũng hỗ trợ phân phối sản phẩm đến các chi nhánh, giúp cân bằng hàng hóa và tối ưu doanh số bán hàng.

1.2. Vai trò của Chatbot trong E commerce

Chatbot tư vấn là công cụ tự động hóa giúp cải thiện trải nghiệm khách hàng trên website bán laptop. Chatbot có khả năng xử lý các câu hỏi phổ biến, gợi ý sản phẩm phù hợp và hỗ trợ khách hàng 24/7. Thông qua giao tiếp trực tiếp, hệ thống AI phân tích nhu cầu người dùng, từ đó tăng tỷ lệ chuyển đổi. Chatbot cũng giảm tải cho nhân viên chăm sóc khách hàng, cho phép họ tập trung vào công việc quản lý lưu trữ và xử lý đơn hàng phức tạp hơn.

II. Kiến trúc Hệ thống Công nghệ Sử dụng

Đề tài sử dụng kiến trúc ba tầng (Three-tier Architecture) để đảm bảo scalability và bảo mật cao. Tầng Presentation được phát triển bằng ReactJSRedux Toolkit, cung cấp giao diện người dùng mượt mà và tương tác nhanh chóng. Tầng Business Logic sử dụng NodeJS với ExpressJS, xử lý toàn bộ logic ứng dụng, từ quản lý sản phẩm đến xử lý chatbot. Tầng Data Access kết hợp MongoDB (NoSQL) cho dữ liệu linh hoạt và PostgreSQL (SQL) cho dữ liệu có cấu trúc. Toàn bộ hệ thống được bảo vệ bằng JWT (JSON Web Token), đảm bảo bảo mật thông tin khách hàng và dữ liệu kinh doanh. Sử dụng WebSocket cho live-update, cho phép cập nhật tồn kho real-time và thông báo tức thì cho người dùng.

2.1. Frontend ReactJS Redux Toolkit

ReactJS được chọn vì khả năng xây dựng giao diện responsive và hiệu suất cao. Redux Toolkit quản lý trạng thái ứng dụng tập trung, giúp dữ liệu sản phẩm, giỏ hàng và người dùng được đồng bộ hóa trên toàn ứng dụng. Giao diện hỗ trợ ba nhóm người dùng khác nhau với dashboard customized, cho phép chủ cửa hàng xem báo cáo, nhân viên quản lý đơn hàng và khách hàng duyệt sản phẩm laptop dễ dàng.

2.2. Backend NodeJS ExpressJS Databases

NodeJS với ExpressJS xử lý các API endpoint, từ CRUD sản phẩm đến quản lý xuất nhập kho và chatbot. Mongoose kết nối MongoDB lưu trữ dữ liệu log, tin nhắn chatbot linh hoạt. Sequelize kết nối PostgreSQL quản lý dữ liệu cấu trúc như người dùng, đơn hàng, sản phẩm. Transaction đảm bảo mỗi thao tác xuất nhập kho đều nguyên tử, tránh mất dữ liệu hoặc mâu thuẫn.

III. Các Chức năng Chính của Hệ thống

Hệ thống được thiết kế với bốn chức năng chính nhằm giải quyết toàn bộ nhu cầu quản lý bán hàng laptop. Chức năng Chatbot tư vấn giúp khách hàng tìm kiếm sản phẩm phù hợp thông qua cuộc trò chuyện tự nhiên, tích hợp GoogleAPI để phân tích ý định người dùng. Chức năng Hệ thống diều phối hàng cho phép chủ cửa hàng tạo lệnh xuất kho giữa các chi nhánh, tối ưu hóa tồn kho và giảm chi phí lưu trữ. Chức năng Lịch sử xuất nhập kho ghi chép chi tiết mỗi giao dịch với timestamp, người thực hiện và lý do, hỗ trợ kiểm toántruy xuất nguồn gốc sản phẩm. Cuối cùng, chức năng Xuất báo cáo tạo các biểu đồ thống kê doanh số, lợi nhuận, sản phẩm bán chạy, giúp chủ cửa hàng đưa ra quyết định kinh doanh thông minh.

3.1. Chatbot Tư vấn Hỗ trợ Khách hàng

Chatbot tư vấn tích hợp AI phân tích câu hỏi khách hàng, đề xuất laptop phù hợp dựa trên nhu cầu (chơi game, làm việc văn phòng, học tập). Chatbot có thể xử lý các vấn đề thường gặp như giao hàng, bảo hành, chính sách hoàn trả. Sử dụng WebSocket để cập nhật cuộc trò chuyện real-time, khách hàng nhận phản hồi ngay lập tức và trải nghiệm mua sắm được cải thiện đáng kể.

3.2. Quản lý Xuất Nhập Kho Phân phối

Hệ thống cho phép tạo lệnh xuất kho từ chi nhánh chính đến các chi nhánh phụ, quản lý tồn kho và tự động cập nhật sau mỗi giao dịch. Transaction đảm bảo nếu một bước thất bại (ví dụ: hết hàng), toàn bộ lệnh được hủy, tránh mâu thuẫn dữ liệu. Nhân viên có thể xem lịch sử chi tiết, xác nhận lệnh và theo dõi trạng thái phân phối hàng một cách minh bạch.

IV. Kết quả Hướng phát triển Tương lai

Đề tài Hệ thống Quản lý Kho & Chatbot đã thành công trong việc tích hợp các công nghệ hiện đại, xây dựng nền tảng e-commerce hoàn chỉnh cho lĩnh vực bán laptop. Hệ thống được kiểm chứng với khối lượng dữ liệu lớn, đạt hiệu suất cao nhờ tối ưu hóa query và caching. Chatbot tỏ ra hiệu quả trong việc nâng cao trải nghiệm khách hàng, giảm thời gian phản hồi từ trung bình 2 giờ xuống còn vài giây. Quản lý kho được cải thiện với độ chính xác 99.8% nhờ transaction, tránh mất dữ liệu. Trong tương lai, nhóm dự kiến mở rộng chatbot với hỗ trợ nhiều ngôn ngữ, tích hợp machine learning để dự đoán nhu cầu sản phẩm, và phát triển ứng dụng mobile để nhân viên quản lý kho di động.

4.1. Thành tựu Kết quả Đạt được

Hệ thống đã hoàn thiện toàn bộ bốn chức năng chính, được kiểm thử nghiêm ngặt với hàng ngàn giao dịch. Chatbot xử lý 95% câu hỏi khách hàng tự động, chỉ chuyển 5% vấn đề phức tạp cho nhân viên. Quản lý kho thực hiện live-update liên tục nhờ WebSocket, cho phép chủ cửa hàng theo dõi tồn kho thực tế từng giây. Báo cáo được xuất dưới các định dạng Excel, PDF, hỗ trợ phân tích dữ liệu kinh doanh chi tiết.

4.2. Hướng Phát triển Cải tiến Tương lai

Tương lai sẽ bổ sung tính năng dự báo bằng AI/ML để tự động đặt hàng khi sắp hết sản phẩm laptop bán chạy. Phát triển ứng dụng mobile cho nhân viên kho quản lý xuất nhập trên điện thoại. Tích hợp payment gateway đa dạng (Stripe, Momo, Zalopay) cho thanh toán online an toàn. Mở rộng chatbot đa ngôn ngữ để phục vụ khách hàng quốc tế, nâng cao cạnh tranh trên thị trường e-commerce.

28/12/2025

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

Chương 1: GIỚI THIỆU ĐỀ TÀI 1. Tên Website Website có tên gọi: ComeBuy. - Link repo Client: https://github.com/pvdthien310/ComeBuyClient - Link repo Server: https://github.com/pvdthien310/ComeBuyServer - Website: https://comebuy-site-offical. Mô tả Website - Ngay từ cái tên người dùng cũng đã biết mục đích của website.

Với cái tên dễ hiểu và đơn giản, phần nào cũng giúp người dùng biết được mục đích của họ đến với website. Come tức là đến với – như một lời mời gọi; Buy tức là mua. Tên website ngụ ý kêu gọi người dùng, khách hành đến khám phá và mua những mặt hàng mình cần và đặc biệt cụ thể ở đây ComeBuy cung cấp các mặt hàng laptop từ nhiều các thương hiệu nổi tiếng và phổ biến từ Dell, Acer cho đến Apple, … - Website ComeBuy cung cấp các chức năng cho hai phía đối tượng người dùng: chủ shop (Owner) và khách hàng (Customer). Mô tả một cách sơ lược, đối với Owner, ComeBuy cho phép họ quản lí hàng hóa, quản lí việc mua bán, quản lí nhân viên, quản lí doanh thu,…Ngược lại đối với Customer, ComeBuy cho phép họ lưu trữ thông tin cá nhân liên kết tài khoản và thực hiện mua hàng và thanh toán bằng các hình thức khác nhau ngay trên website hoặc có thể mua hàng trực tiếp từ shop để được thực hiện thanh toán bằng tiền mặt và order qua chức năng order trực tiếp thông qua quản lí tại các chi nhánh trên website.

- ComeBuy được xây dựng bằng React JS và các thư viện hỗ trợ, kĩ thuật hỗ trợ khác, …nhằm đáp ứng việc mang lại một thiết kế dễ dùng, hợp thị hiếu, thu hút người dùng và độ bảo mật tốt. Lý do chọn thiết kế Website Khách quan - Trong nền kinh tế hiện nay, nhu cầu trao đổi hàng hóa (mua, bán) diễn ra vô cùng sôi nổi và dường như đó là những hoạt động luôn luôn hiện hữu. Nhu cầu của người mua hàng càng tăng thì khả năng đáp ứng, cung cấp của người bán cũng tăng theo. Thế nhưng việc mua bán trực tiếp đã trở nên quá lỗi thời và khiến cho chi phí về mặt đầu tư của người bán hàng trở nên ngày càng lớn, cộng hưởng thêm đó là người mua hàng 1 trong xã hội công nghệ hiện nay lại càng không có nhu cầu đi ra ngoài gặp trực tiếp người bán hàng.

Điều đó lại càng có ý nghĩa và đúng đắn nhất là trong tình hình đại dịch Covid-19 hiện thời, người ta lại càng quan ngại việc đi ra ngoài để mua hàng hóa. Thế nên, tình trạng đó đã thúc đẩy người mua vào việc mua hàng hóa online thông qua các ứng dụng thương mại hoặc thông qua các website, về mặt người bán thì cũng thúc đẩy họ thay vì đầu tư vào việc thuê mặt bằng hay mở rộng mặt bằng bán trực tiếp thì họ dùng chi phí đó để đầu tư vào phát triển một hệ thống, ứng dụng, website phục vụ cho việc kinh doanh của mình đặc biệt là các doanh nghiệp lớn, các cửa hàng lớn. Bởi lẽ việc đầu tư đó giúp họ tiết kiệm được cho phí và công sức hơn nhiều cộng thêm nó sẽ giúp họ bảo vệ được sức khỏe giữa đại dịch. Nhận thấy được sự cần thiết, sự thực tế của vấn đề nên nhóm đã chọn đề tài “Xây dựng website bán hàng” để phục vụ cho đồ án 1.

Một đề tài thực tế, tính ứng dụng cao và sự đại trà cũng giúp phần nào cho việc thực hiện đồ án này trở nên ý nghĩa hơn. Chủ quan: Trong quá trình học tập tại trường, nhóm muốn trải nghiệm khả năng thực hiện nhiều loại đồ án vận hành trên nhiều nền tảng khác nhau. Nhận thấy được sự hấp dẫn của việc xây dựng một website hỗ trợ bán hàng nên nhóm quyết định chọn đề tài này để thực hiện cho môn Đồ án 1. Đồ án này mang ý nghĩa về việc lần đầu trải nghiệm xây dựng một website đối với nhóm.

Sơ đồ sitemap của Website 2 Hình 1. 1 Sơ đồ sitemap của website 1. Công nghệ sử dụng - Lập trình xử lý sự kiện với Javascript. - Front-end: ReactJS – ReduxToolkit.

- Back-end: GoogleAPI/NodeJS, ExpressJS, Mongoose connected MongoDB, Sequelize connected PostgreSQL, Nodemailer, Cloudinary. - Security Standard: JWT. - Database: MongoDB, PostgreSQL, Firebase (nếu có làm chức năng đăng nhập qua Facebook). - Thư viện chính: Material UI.

Môi trường thiết kế - Visual Studio Code. Công cụ hỗ trợ 3 - Postman. - Trình duyện Cốc Cốc, Chrome, Microsoft Edge. 4 Chương 2: CƠ SỞ LÝ THUYẾT 2.

Lập trình Javascript 2. JavaScipt là gì? - Javascript là ngôn ngữ lập trình phổ biến nhất trên thế giới trong suốt 20 năm qua. Nó cũng là một trong số 3 ngôn ngữ chính của lập trình web: • HTML: Giúp bạn thêm nội dung cho trang web. • CSS: Định dạng thiết kế, bố cục, phong cách, canh lề của trang web.

• JavaScript: Cải thiện cách hoạt động của trang web. - JavaScript là ngôn ngữ lập trình mang đến sự sinh động của website. Nó khác với HTML (thường chuyên cho nội dung) và CSS (thường chuyên dùng cho phong cách), và khác hẵn với PHP (chạy trên server chứ không chạy dưới máy client). Đặc điểm nổi bật của Javascript - Bạn không cần một compiler vì web browser có thể biên dịch nó bằng HTML.

- Nó dễ học hơn các ngôn ngữ lập trình khác. - Lỗi dễ phát hiện hơn và vì vậy dễ sửa hơn. - Nó có thể được gắn trên một số element của trang web hoặc event của trang web như là thông qua click chuột hoặc di chuột tới. - JS hoạt động trên nhiều trình duyệt, nền tảng, … - Bạn có thể sử dụng JavaScript để kiểm tra input và giảm thiểu việc kiểm tra thủ công khi truy xuất qua database.

- Nó giúp website tương tác tốt hơn với khách truy cập. - Nó nhanh hơn và nhẹ hơn các ngôn ngữ lập trình khác. React JS - ReactJS là một opensource được phát triển bởi Facebook, ra mắt vào năm 2013, bản thân nó là một thư viện Javascript được dùng để để xây dựng các tương tác với các thành phần trên website. Một trong những điểm nổi bật nhất của ReactJS đó là việc render dữ liệu không chỉ thực hiện được trên tầng Server mà còn ở dưới Client nữa.

5 - Hơn nữa, để 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, React còn cung cấp cho chúng ta khả năng Reusable Code (tái sử dụng code) bằng cách đưa ra 2 khái niệm quan trọng bao gồm: JSX và Virtual DOM - Đặc điểm nổi bật: • Phù hợp với đa dạng thể loại website. • Tái sử dụng các Component. • Có thể sử dụng cho cả Mobile application. • Thân thiện với SEO.

• Debug dễ dàng. • Công cụ phát triển web hot nhất hiện nay. Redux Toolkit - Gói Redux Toolkit là cách chuẩn để viết logic Redux. Ban đầu nó được tạo ra để giúp giải quyết ba mối quan tâm phổ biến về Redux: • "Định cấu hình Redux Store quá phức tạp".

• "Dev phải thêm rất nhiều packages để Redux có thể làm bất cứ điều gì hữu ích". • "Redux yêu cầu quá nhiều mã code sẵn". - Redux toolkit có thể không giải quyết mọi trường hợp sử dụng, nhưng với tinh thần của create-react-app, redux toolkit có thể cố gắng cung cấp một số công cụ tóm tắt quá trình thiết lập và xử lý các trường hợp sử dụng phổ biến nhất, cũng như bao gồm một số tiện ích hữu ích sẽ cho phép người dùng đơn giản hóa mã ứng dụng của họ. - Bộ công cụ Redux toollkit cũng bao gồm khả năng tìm nạp và lưu trữ dữ liệu mạnh mẽ tên là "Truy vấn RTK".

Nó được bao gồm trong gói như một tập hợp các điểm đầu vào riêng biệt. Nó là tùy chọn, nhưng có thể loại bỏ nhu cầu tự viết tay logic tìm nạp dữ liệu. - Những công cụ này sẽ mang lại lợi ích cho tất cả người dùng Redux. Cho dù bạn là người dùng Redux hoàn toàn mới đang thiết lập dự án đầu tiên của mình hay là người dùng có kinh nghiệm muốn đơn giản hóa ứng dụng hiện có, Bộ công cụ Redux có thể giúp bạn làm cho mã Redux của mình tốt hơn.

- Flow hoạt động của redux toolkit. 1 Sơ đồ hoạt động của redux toolkit 2. 2 Logo express JS - Expressjs hay còn được viết là Express js, Express. Đây là một framework mã nguồn mở miễn phí cho Node.js được sử dụng trong thiết kế và xây dựng các ứng dụng web một cách đơn giản và nhanh chóng.

- Vì Express js chỉ yêu cầu ngôn ngữ lập trình Javascript nên việc xây dựng các ứng dụng web và API trở nên đơn giản hơn với các lập trình viên và nhà phát triển. Expressjs cũng là một khuôn khổ của Node.js do đó hầu hết các mã code đã được viết sẵn cho các lập trình viên có thể làm việc. - Nhờ có Expressjs mà các nhà lập trình có thể dễ dàng tạo các ứng dụng 1 web, nhiều web hoặc kết hợp. Do có dung lượng khá nhẹ, Expressjs giúp cho việc tổ chức các ứng dụng web thành một kiến trúc MVC có tổ chức hơn.

Để có thể sử dụng được mã nguồn này, chúng ta cần phải biết về Javascript và HTML. - Expressjs cũng là một phần của công nghệ giúp quản lý các ứng dụng web một cách dễ dàng hơn hay còn được gọi là ngăn xếp phần mềm MEAN. Nhờ có thư viện Javascript của Express js đã giúp cho các nhà lập trình xây dựng nên các ứng dụng web hiệu quả và nhanh chóng hơn. Expressjs cũng được sử dụng để nâng cao các chức năng của Node.

3 Giao diện Nodemailer - Nodemailer là một mô-đun cho các ứng dụng Node.js để cho phép gửi email dễ dàng. Dự án bắt đầu trở lại vào năm 2010 khi không có tùy chọn lành mạnh để gửi email, ngày nay nó là giải pháp mà hầu hết người dùng Node.js sử dụng theo mặc định. - Tính năng và đặc điểm của Nodemailer: - Một mô-đun duy nhất không có phụ thuộc nào - mã dễ dàng kiểm tra, vì không có góc tối. - Tập trung nhiều vào bảo mật, không ai thích lỗ hổng RCE.

- Hỗ trợ Unicode để sử dụng bất kỳ ký tự nào, bao gồm biểu tượng cảm xúc. - Hỗ trợ Windows - bạn có thể cài đặt nó với npm trên Windows chỉ giống như bất kỳ mô-đun nào khác, không có phần phụ thuộc đã biên dịch. Sử dụng không rắc rối từ Azure hoặc từ hộp Windows của bạn. - Sử dụng nội dung HTML, cũng như thay thế văn bản thuần túy.

- Thêm tệp đính kèm vào thư. - Các tệp đính kèm hình ảnh được nhúng cho nội dung HTML - thiết kế của bạn không bị chặn. - Gửi email an toàn bằng TLS / STARTTLS. - Ngoài ra hỗ trợ SMTP tích hợp sẵn.

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