Với những khó khăn và phức tạp đó thì chúng ta đã đặt ra vấn đềvề việc đưa các ứng dụng công nghệ thông tin nhằm giúp giảm tải công việcquản lý bằng những phương pháp thủ công của con ng
TỔNG QUAN VỀ ĐỀ TÀI
Tổng quan
1.1.1 Lý do chọn đề tài
Trong bối cảnh sự phát triển mạnh mẽ của công nghệ và sự phổ biến của thiết bị công nghệ điện tử, việc tiếp cận hệ thống thông tin quản lý trở thành ưu tiên hàng đầu đối với các tổ chức và doanh nghiệp Chính với xu hướng này, nhóm đã chọn đề tài "Website bán hàng trực tuyến" để áp dụng công nghệ ReactJs và NodeJs, nhằm nâng cao chất lượng quản lý mua sắm và tạo ra một trải nghiệm mua sắm chuyên nghiệp và thuận lợi nhất.
Mục đích nghiên cứu đề tài là gì?
Vấn đề mục đích nghiên cứu đề tài xây dựng trang web bán hàng trực tuyến có thể làm nhằm cải thiện quy trình quản lý và hoạt động của cửa hàng theo những vấn đề Dưới đây là một số mục đích nghiên cứu:
- Tăng hiệu quả vận hành: Nghiên cứu có thể tập trung vào việc xây dựng một hệ thống cửa hàng thông minh, giúp tăng cường hiệu quả vận hành của shop Điều này có thể bao gồm quản lý hàng hóa, quản lý kho, quản lý thu chi, và tổ chức thông tin một cách hợp lý để giảm thiểu thời gian và công sức của người quản lý và nhân viên.
- Tối ưu hóa trải nghiệm người dùng: Nghiên cứu có thể tập trung vào việc cải thiện trải nghiệm người dùng trên trang web bán hàng, bao gồm thiết kế giao diện, tốc độ tải trang, và cách thức sắp xếp sản phẩm để tạo sự thu hút và thuận tiện cho người mua.
- Phân tích thị trường và cạnh tranh: Nghiên cứu có thể giúp bạn hiểu rõ thị trường thời trang hiện tại, xác định các đối thủ cạnh tranh, và tìm ra cơ hội để phát triển kế hoạch kinh doanh của bạn.
- Xác định yếu tố quyết định mua sắm: Nghiên cứu về những yếu tố quyết định mua sắm của khách hàng trên trang web thời trang có thể giúp bạn tối ưu hóa việc quảng cáo, cách chọn sản phẩm, và cách chăm sóc khách hàng.
- Tối ưu hóa hoạt động kinh doanh: Nghiên cứu có thể giúp bạn cải thiện quy trình kinh doanh, từ quản lý hàng tồn kho và vận chuyển đến dịch vụ khách hàng và quản lý dữ liệu khách hàng.
- Phát triển chiến lược tiếp thị: Nghiên cứu có thể giúp bạn xác định các phương tiện tiếp thị hiệu quả như quảng cáo trực tuyến, tiếp thị mạng xã hội, email marketing, và chiến dịch tiếp thị khác để tăng doanh số bán hàng.
- Điều tra về xu hướng thời trang: Nghiên cứu có thể tập trung vào việc theo dõi và dự đoán các xu hướng thời trang, giúp bạn cung cấp các sản phẩm phù hợp với sở thích của khách hàng.
1.1.2 Mô tả chức năng của người dùng có trong hệ thống web
- Người dùng được chia làm 2 đối tượng chính: quản lý hệ thống web bán hàng trực tuyến (Admin) và người truy cập (User).
- Người quản trị (Admin): Người có quyền truy cập quản lí Website: chỉnh sửa thông tin, quản lý người dùng, hệ thống có chức năng cập nhật thông tin về sản phẩm như: thêm, sửa thông tin sản phẩm, xóa sản phẩm ,…
- Người truy cập (User): Họ sẽ là những người truy cập và trải nghiệm của người khách hàng là điều mà Admin cần lưu tâm nhất, để ý nhất Sẽ có chức năng thêm, sửa sản phẩm vào giỏ hàng được chọn, xóa sản phẩm khi không còn nhu cầu khi đã đăng nhập vào hệ thống
Chương trình quản lý web shop thời trang gồm các vấn đề như:
- Thể hiện được mô hình tổ chức nhãn hàng, sản phẩm.
- Quản lý quá trình bán của các sản phẩm theo quý hoặc theo năm.
- Hệ thống phải cho phép tạo ra các báo cáo về chất lượng của sản phẩm về cho web.
1.2 Công cụ và ngôn ngữ lập trình
1.2.1 Giới thiệu về các công cụ được sử dụng trong đề tài:
Hình 1.1 Giao diện trong Visual Studio code.
Visual Studio code là gì?
- Visual Studio Code chính là ứng dụng cho phép biên tập, soạn thảo các đoạn code để hỗ trợ trong quá trình thực hiện xây dựng, thiết kế website một cách nhanh chóng Visual Studio Code hay còn được viết tắt là VS Code. Trình soạn thảo này vận hành mượt mà trên các nền tảng như Windows, macOS, Linux Hơn thế nữa, VS Code còn cho khả năng tương thích với những thiết bị máy tính có cấu hình tầm trung vẫn có thể sử dụng dễ dàng.
- Visual Studio Code hỗ trợ đa dạng các chức năng Debug, đi kèm với Git, có Syntax Highlighting Đặc biệt là tự hoàn thành mã thông minh, Snippets, và khả năng cải tiến mã nguồn Nhờ tính năng tùy chỉnh, Visual Studio Code cũng cho phép các lập trình viên thay đổi Theme, phím tắt, và đa dạng các tùy chọn khác Mặc dù trình soạn thảo Code này tương đối nhẹ, nhưng lại bao gồm các tính năng mạnh mẽ.
- Dù mới được phát hành nhưng VSCode là một trong những Code Editor mạnh mẽ và phổ biến nhất dành cho lập trình viên Nhờ hỗ trợ nhiều ngôn ngữ lập trình phổ biến, tích hợp đầy đủ các tính năng và khả năng mở rộng, nên VSCode trở nên cực kì thân thuộc với bất kì lập trình viên nào.
Lịch sử hình thành Visual Studio Code:
- Chúng ta cùng nhìn lại lịch sử hình thành của Visual Studio Code với 3 mốc thời gian sau:
+, Ngày 29/4/2015: Visual Studio Code được Microsoft công bố lần đầu tiên tại Hội nghị Build 2015
+, Ngày 18/11/2015: Nguồn của Visual Studio Code đã được phát hành theo Giấy phép MIT và được cung cấp trên GitHub Bản hỗ trợ mở rộng cũng đã được công bố ngay sau đó.+, Ngày 14/4/2016: Visual Studio Code đã hoàn thành bản preview công khai và được phát hành trên Web Lúc này Visual Studio Code chỉ xếp thứ 13 trong số các công cụ phát triển phổ biến hàng đầu, với 7% trong số 47.000 người được hỏi sử dụng nó.
Những ưu điểm nổi bật của Visual Studio Code:
Giới thiệu về các công cụ được sử dụng trong đề tài
1.2.1 Giới thiệu về các công cụ được sử dụng trong đề tài:
Hình 1.1 Giao diện trong Visual Studio code.
Visual Studio code là gì?
- Visual Studio Code chính là ứng dụng cho phép biên tập, soạn thảo các đoạn code để hỗ trợ trong quá trình thực hiện xây dựng, thiết kế website một cách nhanh chóng Visual Studio Code hay còn được viết tắt là VS Code. Trình soạn thảo này vận hành mượt mà trên các nền tảng như Windows, macOS, Linux Hơn thế nữa, VS Code còn cho khả năng tương thích với những thiết bị máy tính có cấu hình tầm trung vẫn có thể sử dụng dễ dàng.
- Visual Studio Code hỗ trợ đa dạng các chức năng Debug, đi kèm với Git, có Syntax Highlighting Đặc biệt là tự hoàn thành mã thông minh, Snippets, và khả năng cải tiến mã nguồn Nhờ tính năng tùy chỉnh, Visual Studio Code cũng cho phép các lập trình viên thay đổi Theme, phím tắt, và đa dạng các tùy chọn khác Mặc dù trình soạn thảo Code này tương đối nhẹ, nhưng lại bao gồm các tính năng mạnh mẽ.
- Dù mới được phát hành nhưng VSCode là một trong những Code Editor mạnh mẽ và phổ biến nhất dành cho lập trình viên Nhờ hỗ trợ nhiều ngôn ngữ lập trình phổ biến, tích hợp đầy đủ các tính năng và khả năng mở rộng, nên VSCode trở nên cực kì thân thuộc với bất kì lập trình viên nào.
Lịch sử hình thành Visual Studio Code:
- Chúng ta cùng nhìn lại lịch sử hình thành của Visual Studio Code với 3 mốc thời gian sau:
+, Ngày 29/4/2015: Visual Studio Code được Microsoft công bố lần đầu tiên tại Hội nghị Build 2015
+, Ngày 18/11/2015: Nguồn của Visual Studio Code đã được phát hành theo Giấy phép MIT và được cung cấp trên GitHub Bản hỗ trợ mở rộng cũng đã được công bố ngay sau đó.+, Ngày 14/4/2016: Visual Studio Code đã hoàn thành bản preview công khai và được phát hành trên Web Lúc này Visual Studio Code chỉ xếp thứ 13 trong số các công cụ phát triển phổ biến hàng đầu, với 7% trong số 47.000 người được hỏi sử dụng nó.
Những ưu điểm nổi bật của Visual Studio Code:
- Visual Studio Code là gì được rất nhiều người tìm hiểu Đây cũng là một trong các ứng dụng được dân IT “săn đón” và tải về và sử dụng rất nhiều. Visual Studio Code cũng luôn có những cải tiến và tạo ra đa dạng các tiện ích đi kèm từ đó giúp cho các lập trình viên sử dụng dễ dàng hơn Trong đó có thể kể đến những ưu điểm sau:
+, Đa dạng ngôn ngữ lập trình giúp người dùng thỏa sức sáng tạo và sử dụng như HTML, CSS, JavaScript, C++,…
+, Ngôn ngữ, giao diện tối giản, thân thiện, giúp các lập trình viên dễ dàng định hình nội dung
+, Tích hợp các tính năng quan trọng như tính năng bảo mật (Git), khả năng tăng tốc xử lý vòng lặp (Debug),…
+, Đơn giản hóa việc tìm quản lý hết tất cả các Code có trên hệ thống.
+, VS Code có thể chạy trên nhiều nền tảng, bao gồm Windows, macOS và Linux, mang lại sự linh hoạt cho những nhà phát triển sử dụng nhiều hệ điều hành.
- Visual Studio Code là một trong những trình biên tập Code rất phổ biến nhất hiện nay Ứng dụng này cũng ngày càng chứng tỏ ưu thế vượt trội của mình khi so sánh với những phần mềm khác Visual Studio Code thực sự có thể đáp ứng được hầu hết nhu cầu cơ bản của lập trình viên.
Tại sao nên sử dụng Visual Studio Code:
- Không phải ngẫu nhiên mà Visual Studio Code được các lập trình viên ưa chuộng sử dụng Visual Studio Code mang rất nhiều ưu điểm vượt trội so với bất kỳ IDE nào khác:
+, Hỗ trợ đa nền tảng: Linux, Mac, Windows,
+, Hỗ trợ đa ngôn ngữ: C/C++, C#, F#, JavaScript, JSON, Visual Basic, HTML, CSS,
+, Kiến trúc mạnh mẽ và người dùng có thể khai thác mở rộng
+, Số lượng người sử dụng lớn tạo nên ộng đồng hỗ trợ rộng rãi
- Và trên hết, Visual Studio Code là phần mềm miễn phí Chính vì vậy ứng dụng chuyên biên tập, soạn thảo Code này trở nên phổ biến nhất hiện nay. Với việc không ngừng cải tiến và áp dụng rất nhiều các công nghệ mới, Visual Studio Code đã được các lập trình viên chứng minh hiệu quả Ngoài các Developers, thì Testers hay Data Administrators và tất cả những người dùng đang quan tâm đến lập trình đều có thể sử dụng Visual Studio.
MongoDB là một database hướng tài liệu (document), một dạng NoSQL database Vì thế, MongoDB sẽ tránh cấu trúc table-based của relational database để thích ứng với các tài liệu như JSON có một schema rất linh hoạt gọi là BSON MongoDB sử dụng lưu trữ dữ liệu dưới dạng Document JSON nên mỗi một collection sẽ các các kích cỡ và các document khác nhau Các dữ liệu được lưu trữ trong document kiểu JSON nên truy vấn sẽ rất nhanh.
- Định nghĩa thêm về MongoDB
MongoDB lần đầu ra đời bởi MongoDB Inc., tại thời điểm đó là thế hệ
10, vào tháng Mười năm 2007, nó là một phần của sản phẩm PaaS (Platform as a Service) tương tự như Windows Azure và Google App Engine Sau đó nó đã được chuyển thành nguồn mở từ năm 2009.
MongoDB đã trở thành một trong những NoSQL database nổi trội nhất bấy giờ, được dùng làm backend cho rất nhiều website như eBay, SourceForge và The New York Times.
Các feature của MongoDB gồm có:
Các ad hoc query: hỗ trợ search bằng field, các phép search thông thường, regular expression searches, và range queries.
Indexing: bất kì field nào trong BSON document cũng có thể được index.
Replication: có ý nghĩa là “nhân bản”, là có một phiên bản giống hệt phiên bản đang tồn tại, đang sử dụng Với cơ sở dữ liệu, nhu cầu lưu trữ lớn, đòi hỏi cơ sở dữ liệu toàn vẹn, không bị mất mát trước những sự cố ngoài dự đoán là rất cao Vì vậy, người ta nghĩ ra khái niệm
“nhân bản”, tạo một phiên bản cơ sở dữ liệu giống hệt cơ sở dữ liệu đang tồn tại, và lưu trữ ở một nơi khác, đề phòng có sự cố.
Aggregation: Các Aggregation operation xử lý các bản ghi dữ liệu và trả về kết quả đã được tính toán Các phép toán tập hợp nhóm các giá trị từ nhiều Document lại với nhau, và có thể thực hiện nhiều phép toán đa dạng trên dữ liệu đã được nhóm đó để trả về một kết quả duy nhất Trong SQL, count(*) và GROUP BY là tương đương với Aggregation trong MongoDB.
Lưu trữ file: MongoDB được dùng như một hệ thống file tận dụng những function trên và hoạt động như một cách phân phối qua sharding.
- Khi nào sử dụng MongoDB?
Ngôn ngữ sử dụng chính
2.1.1 Phân tích sơ bộ về hệ thống
- Quản lý thông tin web: Hệ thống web sẽ lưu trữ thông tin về các sản phẩm có trong shop, bao gồm tên , chủ sở hữu, mặt hàng kinh doanh. Điều này giúp quản lý chính xác thông tin về các quầy kinh doanh và tạo điều kiện thuận lợi cho việc tra cứu và liên hệ.
- Quản lý sản phẩm: Hệ thống web cho phép admin ghi nhận thông tin về sản phẩm, bao gồm tên sản phẩm, giá cả và thông tin khác liên quan Nó giúp các admin có thể dễ dàng theo dõi và quản lý hàng hóa một cách hiệu quả, đồng thời cung cấp thông tin về tình trạng sản phẩm và nhắc nhở về việc cần nhập hàng mới.
- Quản lý đơn hàng: Hệ thống web hỗ trợ các admin trong việc ghi nhận các giao dịch mua bán hàng hóa Nó có thể ghi lại thông tin về ngày, giờ, số lượng hàng hóa, giá tiền và phương thức thanh toán Điều này giúp admin theo dõi thu chi và tạo ra các báo cáo tài chính liên quan.
- Quản lý người dùng và quyền truy cập: Hệ thống web hỗ trợ quản lý người dùng và phân quyền truy cập Có thể xác định vai trò và quyền hạn cho từng người dùng trong hệ thống, giới hạn quyền truy cập vào các chức năng và thông tin cụ thể Điều này đảm bảo an toàn thông tin và quản lý hiệu quả của hệ thống.
- Quản lý bình luận: Người dùng có thể đưa ra các bình luận cũng như các đánh giá về sản phẩm và các vấn đề xoay quanh sản phẩm để cho trang
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG “WEB BÁN HÀNG”
Phân tích hệ thống
2.1.1 Phân tích sơ bộ về hệ thống
- Quản lý thông tin web: Hệ thống web sẽ lưu trữ thông tin về các sản phẩm có trong shop, bao gồm tên , chủ sở hữu, mặt hàng kinh doanh. Điều này giúp quản lý chính xác thông tin về các quầy kinh doanh và tạo điều kiện thuận lợi cho việc tra cứu và liên hệ.
- Quản lý sản phẩm: Hệ thống web cho phép admin ghi nhận thông tin về sản phẩm, bao gồm tên sản phẩm, giá cả và thông tin khác liên quan Nó giúp các admin có thể dễ dàng theo dõi và quản lý hàng hóa một cách hiệu quả, đồng thời cung cấp thông tin về tình trạng sản phẩm và nhắc nhở về việc cần nhập hàng mới.
- Quản lý đơn hàng: Hệ thống web hỗ trợ các admin trong việc ghi nhận các giao dịch mua bán hàng hóa Nó có thể ghi lại thông tin về ngày, giờ, số lượng hàng hóa, giá tiền và phương thức thanh toán Điều này giúp admin theo dõi thu chi và tạo ra các báo cáo tài chính liên quan.
- Quản lý người dùng và quyền truy cập: Hệ thống web hỗ trợ quản lý người dùng và phân quyền truy cập Có thể xác định vai trò và quyền hạn cho từng người dùng trong hệ thống, giới hạn quyền truy cập vào các chức năng và thông tin cụ thể Điều này đảm bảo an toàn thông tin và quản lý hiệu quả của hệ thống.
- Quản lý bình luận: Người dùng có thể đưa ra các bình luận cũng như các đánh giá về sản phẩm và các vấn đề xoay quanh sản phẩm để cho trang web có thể phát triển cũng như hạn chế tối đa các lỗi và các vấn đề liên quan đến sản phẩm và trang web.
2.1.2 Phân tích thành phần có trong hệ thống:
- Trang chính (Homepage): Trang này là điểm khách hàng đầu tiên thấy khi truy cập vào trang web Nó nên cung cấp thông tin tổng quan về thương hiệu, sản phẩm mới, ưu đãi, và dẫn dắt người dùng đến các phần khác của trang web.
- Danh mục sản phẩm (Product Categories): Danh mục sản phẩm là phần quan trọng trên trang web bán hàng, nhóm các sản phẩm có liên quan lại với nhau để tạo ra trải nghiệm mua sắm thuận tiện cho khách hàng Các danh mục giúp người dùng dễ dàng tìm kiếm và lựa chọn sản phẩm một cách hiệu quả, đồng thời giúp quản trị trang web tổ chức thông tin một cách có tổ chức.
- Trang sản phẩm chi tiết (Product Detail Page): Trang này hiển thị thông tin chi tiết về sản phẩm bao gồm hình ảnh, giá, mô tả, kích thước, màu sắc, đánh giá, và lựa chọn mua hàng.
- Giỏ hàng (Shopping Cart): Giỏ hàng cho phép khách hàng xem và chỉnh sửa danh sách sản phẩm họ đã chọn, tính tổng giá trị đơn hàng và tiến hành thanh toán.
- Trang thanh toán (Checkout): Trang thanh toán là trung tâm của quá trình mua sắm trực tuyến, nơi mà khách hàng hoàn tất giao dịch Thiết kế tối giản và thuận tiện trên trang thanh toán giúp người dùng dễ dàng nhập thông tin thanh toán, xem trước đơn hàng và đảm bảo an toàn cho giao dịch Các tính năng như tự động điền thông tin, phương thức thanh toán đa dạng và xác nhận đơn hàng đều quan trọng để tạo ra trải nghiệm thanh toán suôn sẻ và tin cậy.
- Hệ thống thanh toán (Payment System): Hệ thống thanh toán phải tích hợp với các cổng thanh toán để xử lý thanh toán trực tuyến an toàn và tiện lợi.
- Quản lý đơn hàng (Order Management): Hệ thống quản lý đơn hàng cho phép quản lý và theo dõi trạng thái đơn hàng, cập nhật thông tin vận chuyển, và xử lý các yêu cầu đổi/trả hàng.
- Quản lý sản phẩm (Product Management): Hệ thống quản lý sản phẩm giúp thêm mới sản phẩm, chỉnh sửa thông tin, quản lý tồn kho, và quản lý hình ảnh sản phẩm.
- Quản lý khách hàng (Customer Management): Hệ thống quản lý khách hàng lưu trữ thông tin cá nhân của khách hàng, cho phép đăng ký, đăng nhập, và quản lý thông tin cá nhân.
- Tích hợp dịch vụ vận chuyển (Shipping Integration): Kết nối với các dịch vụ vận chuyển để tính toán phí giao hàng và cung cấp lựa chọn vận chuyển cho khách hàng.
Thiết kế hệ thống
2.2.1 Biểu đồ Usecase tổng quan của admin.
- Admin đăng nhập vào hệ thống:
Hình 2.3 Admin quản l礃Ā người truy cập
2.2.2 Biểu đồ usecase tổng quan admin:
Hình 2.4 Biểu đồ Usecase đăng nhập nhân viên.
- Usecase mô tả chức năng thêm, sửa, xóa sản phẩm của Admin:
Hình 2.5 Biểu đồ Usercase biểu diễn chức năng của Admin
2.2.3 Biểu đồ usecase tổng quan của user.
Hình 2.9 Usecase nhận đơn hàng
XÂY DỰNG CHƯƠNG TRÌNH
Giao diện dành cho User
- Giao diện web Web bán hàng
Hình 3.1 Giao diện vào trang web
- Giao diện khi đã thêm được sản phẩm vào giỏ hàng:
Hình 3.2 Giao diện khi thêm sản phẩm
- Giao diện danh mục sản phẩm:
Hình 3.3 Giao diện danh mục sản phẩm
- Giao diện khi ta muốn đổi mật khẩu:
Hình 3.4 Giao diện đổi mật khẩu
- Giao diện đổi thông tin người dùng:
Hình 3.5 Giao diện đổi thông tin người dùng
Hình 3.6 Giao diện sản phẩm
Giao diện cho Admin
- Giao diện trang chủ admin
Hình 3.7 Giao diện của Admin
- Giao diện thêm danh mục sản phẩm
Hình 3.8 Giao diện thêm sản phẩm
Hình 3.9 Danh sách quản l礃Ā sản phẩm được thêm
- Giao diện của tất cả người dùng.
Hình 3.10 Giao diện quản l礃Ā người dùng
Thiết kế cơ sở dữ liệu
- Bảng thông tin chi tiết
Khóa ngo愃⌀i id int ✓ name varchar(500)
Tên thuộc tính Kiểu dữ liệu Khóa chính
Khóa ngo愃⌀i id int ✓ name varchar(500) price double category_id ✓ created_at updated_at
Khóa ngo愃⌀i id int ✓ name varchar(50)
Khóa ngo愃⌀i id int ✓ fullname varchar(50) username varchar(50) password varchar(225) email varchar(400) address varchar(500) status int
Khóa ngo愃⌀i id int ✓ name varchar(100) email varchar(100) subject varchar(200) message varchar(200) created_at datetime status int user_id int ✓
Tên thuộc Kiểu dữ Khóa Khóa tính liệu chính ngo愃⌀i id int ✓ fullname varchar(100
) orderdate datetime status int total double user_id int ✓
Khóa ngo愃⌀i id int ✓ price double quanlity int total double product_id int ✓ order_id int ✓ status int
- Sơ đồ quan hệ giữa các bảng
CÀI ĐẶT , PHÂN QUYỀN, BỐ TRÍ CÁC THƯ MỤC DỰ ÁN
Cấu trúc thư mục cho dự án ReactJS
1 Thư mục public/: Chứa các tệp tĩnh không biên dịch.
2 Thư mục src/ Chứa mã nguồn ứng dụng React:
assets/: Lưu trữ tài nguyên như hình ảnh và các tệp tài nguyên khác.
components/: Các thành phần React.
pages/: Trang chính của ứng dụng.
services/: Dịch vụ (API services, logic xử lý, ).
utils/: Tiện ích và hàm tiện ích hỗ trợ.
index.js: Điểm bắt đầu.
3 gitignore: Cấu hình Git để loại bỏ các tệp không cần thiết.
4 package.json: Mô tả dự án, phụ thuộc, và scripts.
5 README.md: Tài liệu mô tả.
Thư mục public/ được public để có thể truy cập từ bên ngoài.
Thư mục src/ chứa mã nguồn và không cần phải được public.
Cấu trúc dự Án Node.js (Express.js)
1 Thư mục config/: Chứa cấu hình, ví dụ như cấu hình cơ sở dữ liệu.
2 Thư mục controllers/: Các controllers xử lý logic.
3 Thư mục models/: Định nghĩa các mô hình cho cơ sở dữ liệu.
4 Thư mục routes/: Các tuyến đường của ứng dụng.
5 Thư mục services/: Dịch vụ cung cấp chức năng nền.
6 .gitignore: Cấu hình Git để loại bỏ các tệp không cần thiết.
7 app.js: Điểm bắt đầu của ứng dụng Node.js.
8 package.json: Mô tả dự án, phụ thuộc, và scripts.
9 README.md: Tài liệu mô tả.
Các thư mục ẩn (config/, controllers/, models/, routes/, services/, app.js) không cần phải được public.
Chỉ public những API routes mà bạn muốn người dùng có thể gọi trực tiếp.
Quản lý mã nguồn với GitHub
Chúng tôi đã sử dụng GitHub để quản lý mã nguồn của dự án React.js. Điều này giúp chúng tôi theo dõi và điều chỉnh mã nguồn hiệu quả, cũng như tạo điểm kiểm soát và tích hợp liên tục.
Nhóm phát triển đã clone repository từ GitHub về máy cục bộ để có thể làm việc trên mã nguồn.
- git clone https://github.com/dankieuks/Fruit2
Mọi thay đổi mới đều được thực hiện trên một nhánh mới để tránh ảnh hưởng đến mã nguồn chính.
- git checkout -b feature/new-feature
Thực Hiện Công Việc và Commit:
Đội ngũ phát triển thực hiện công việc trên nhánh của mình và thực hiện commit các thay đổi.
- git commit -m "Implement new feature"
Push Nhánh và Tạo Pull Request:
Nhánh mới được đẩy lên repository trên GitHub và một Pull Request (PR) được tạo để đánh giá và tích hợp thay đổi vào nhánh chính.
- git push origin feature/new-feature
Thành viên khác của đội ngũ có thể đánh giá thay đổi và sau đó nhóm quản lý có thể merge PR vào nhánh chính nếu mọi thứ ổn.
C Tích Hợp Liên Tục (CI/CD)
Chúng tôi đã tích hợp liên tục (CI) để tự động kiểm tra và xây dựng mã nguồn mỗi khi có thay đổi được đưa lên repository Điều này giúp đảm bảo chất lượng mã nguồn và ngăn chặn các lỗi từ việc xuất bản mã nguồn.
CÀI ĐẶT KIỂM THỬ, ĐÁNH GIÁ VÀ HƯỚNG PHÁT TRIỂN
Cài đặt, kiểm thử
Mở source code bật Terminal nhập lệnh :
- Mỗi thành viên sau khi hoàn thành tính năng của mình sẽ tự kiểm thử để phát hiện tất cả các lỗi phát sinh và sau đó tự gỡ lỗi.
- Sau khi các tính năng hoàn chỉnh, nhóm trưởng tiến hành Merge code để hợp nhất các tính năng lại, các thành viên sẽ test tổng thể phần mềm phù hợp các tính chất :
- Phía Client : Sử dụng công cụ React Developer Tools để kiểm tra tương tác từ người dùng tới Website , gửi Request tới Server, Responsive Design,
- Phía Server : Sử dụng công cụ Postman để kiểm tra gửi yêu cầu đến API từ phía server kiểm tra các tính năng như xem Headers, Body, vàResponse Time để đảm bảo rằng tất cả đều đúng, kiểm thử các phương thức như GET, POST hoặc PUT, DELETE bạn cần cung cấp dữ liệu tương ứng trong phần Body của yêu cầu…
+, Tính đúng đắn: Kết quả trả về của phần mềm cho người dùng phải chính xác
+, Tính tiện dụng và hiệu quả: hệ thống web phải cung cấp cho người dùng sự tiện lợi, thoải mái khi sử dụng
+,Tính ổn định: Phát hiện tất cả các lỗi phát sinh cả về giao diện lẫn xử lý Sau khi phát hiện lỗi, tiến hành thông báo để các thành viên khác sửa lỗi.
STT Các chức năng Tiến độ hoàn thành
1 Thêm sửa xóa sản phẩm/người dùng 100 %
4 Thống kê danh sách admin 90 %
7 Cập nhật thông tin người dùng 100%
Đánh giá
- Đã vận dụng lý thuyết Cơ sở dữ liệu và Phân tích hệ thống vào đề tài.
- Giao diện thân thiện với người dùng.
- Học hỏi được nhiều kinh nghiệm trong cách giao tiếp cũng như trong công việc, hiểu được nhiều hơn về cách quản lý bán hàng, có cơ hội để vận dụng kiến thức lý thuyết trong nhà trường áp dụng vào thực tiễn.
- Tạo được các thư viện, hiểu sâu hơn về lập trình web.
- Cách tổ chức dữ liệu và kỹ thuật lập trình chưa được tốt.
- Bắt lỗi người dùng chưa được toàn diện.
- Các chức năng của chương trình chưa linh động.
- Chưa bảo mật được toàn bộ dữ liệu.
- Chưa có chức năng Import, Export cơ sở dữ liệu từ Excel, Sao lưu và phục hồi dữ liệu.
Hướng phát triển
Xử lý tất cả các sự kiện, các lỗi ngoài ý muốn tốt hơn của chương trình và người dùng thao tác lên chương trình.
Cải tiến chương trình, thêm nhiều chức năng hơn.
Nâng cao tính linh động của trang web.
Thêm các chức năng mới để đáp ứng người dùng một các tốt hơn.
Áp dụng công nghệ như AI, Machine Learning để gợi ý sản phẩm cho khách hàng.
Sử dụng Machine Learning để thống kê.
Tích hợp và hỗ trợ khách hàng tìm kiếm sản phẩm bằng hình ảnh và giọng nói.
Cải thiện kết quả tìm kiếm.
Sử dụng Machine Learning để dự đoán nhu cầu mua hàng hóa của khách hàng
Cải thiện giao diện người dùng, hỗ trợ lọc sản phẩm nâng cao