PHÁT BIỂU BÀI TOÁN
Website bán hàng trực tuyến
Website bán hàng trực tuyến, hay còn gọi là website thương mại điện tử, là trang thông tin điện tử được thiết lập để hỗ trợ toàn bộ hoặc một phần quy trình mua bán hàng hóa và cung ứng dịch vụ Nó bao gồm các hoạt động từ giới thiệu sản phẩm, giao kết hợp đồng, cung cấp dịch vụ, cho đến thanh toán và hỗ trợ sau bán hàng.
• Giúp tạo dựng hình ảnh về một doanh nghiệp uy tín, chuyên nghiệp và thân thiện hơn đối với khách hàng
• Giúp các cửa hàng, doanh nghiệp có thể chủ động xây dựng hình ảnh, quảng bá thương hiệu theo yêu cầu riêng
Tương tác hiệu quả với khách hàng được nâng cao nhờ khả năng nhận phản hồi nhanh chóng thông qua tính năng chat trực tuyến và các hình thức liên hệ trực tuyến khác.
Giúp việc bán hàng trở nên nhanh chóng và thuận tiện hơn, tất cả các khâu như trưng bày sản phẩm, giao kết hợp đồng, thanh toán, giao hàng và chăm sóc khách hàng đều được tích hợp gọn gàng trong một website.
• Giúp các cửa hàng, doanh nghiệp triển khai các kế hoạch Marketing Online hiệu quả
Hệ thống của bạn có thể hoạt động liên tục 24/7, cho phép khách hàng thực hiện giao dịch mua bán và đặt hàng ngay cả khi cửa hàng hoặc doanh nghiệp đang ngừng hoạt động Điều này không chỉ tạo thuận lợi cho khách hàng mà còn giúp thúc đẩy doanh thu một cách hiệu quả.
Chatbot
Chatbot là một ứng dụng trí tuệ nhân tạo (AI) giúp tương tác với con người, thay thế nhân viên trong việc tư vấn và giải đáp thắc mắc của khách hàng Hiện nay, chatbot được sử dụng phổ biến trong nhiều lĩnh vực để thực hiện các nhiệm vụ khác nhau.
• Đưa ra kết quả tìm kiếm, cập nhật tin tức
Việc ứng dụng chatbot vào bán hàng trực tuyến đem lại rất nhiều lợi ích to lớn
Cụ thể như cá nhân hóa trải nghiệm khách hàng, giảm thiểu được chi phí hay phản hồi khách hàng một cách nhanh chóng nhất.
Khảo sát hiện trạng
Sau khi khảo sát hiện trạng thông qua các trang web bán hàng như “nongsan.congthuong.hochiminhcity.gov.vn, chopp.vn, bachhoaxanh.com”, tôi đã tổng hợp được một số thông tin quan trọng.
Người quản trị website giữ vị trí cao nhất, có khả năng theo dõi tình hình thu nhập, quản lý tất cả các thay đổi trên trang web và cấp quyền cho nhân viên.
Nhân viên có thể theo dõi số lượng đơn đặt hàng trong ngày và trong tuần, cũng như số đơn đã được giải quyết, để sẵn sàng báo cáo cho chủ cửa hàng bất kỳ lúc nào.
• Khách hàng: có nhu cầu mua sắm hàng hóa, họ sẽ tìm kiếm các mặt hàng cần thiết từ hệ thống và đặt mua các mặt hàng này
Em có xem rất nhiều mẫu đơn trên web thì hầu hết đều có nội dung như sau:
• Thông tin người mua: Họ tên, quê quán nơi đang sống, ngày tháng năm sinh, nghề nghiệp, email, điện thoại
• Thông tin về hàng hóa: Loại nông sản, giá cả, thông tin nông sản
Thông tin về thanh toán bao gồm các phương thức như thanh toán trực tiếp hoặc qua tài khoản ngân lượng, ngày giao hàng cụ thể, thông tin nhận hàng chi tiết, cước vận chuyển áp dụng và tổng số tiền cần thanh toán.
2.3.3 Đánh giá hiện trạng và hướng giải quyết
• Ưu điểm: Qua quá trình khảo sát thì em thấy hầu hết các web bán hàng trực tuyến đều có những tính năng mà em có thể áp dụng:
- Giới thiệu được thông tin sản phẩm
- Chi tiết giỏ hàng và chi tiết đơn hàng được thể hiện đầy đủ, rõ ràng
- Thông tin của người dùng bao gồm thông tin cá nhân và thông tin các đơn hàng đều được liệt kê
- Trang quản trị admin đầy đủ thông tin và các chức năng cơ bản như: thêm, xóa, sửa, tìm kiếm, bộ lọc và báo cáo, thống kê,
• Nhược điểm: Bên cạnh đó, vẫn còn một số hạn chế mà em có thể khắc phục:
Trong phần đơn đặt hàng, thông tin người đặt mua được cung cấp đầy đủ từ tài khoản, nhưng thông tin người nhận thường chỉ có địa chỉ, gây khó khăn trong việc quản lý đơn hàng.
- Nhân viên cửa hàng trả lời tin nhắn nên không thể đảm bảo 24/7 mỗi ngày
- Người dùng không thể tìm kiếm sản phẩm qua nhiều từ khóa mình nhớ
- Các khách vãng lai muốn sử dụng thử dịch vụ trong cửa hàng đều phải cung cấp thông tin và tạo tài khoản
- Hiển thị thêm phần nhập thông tin cho người nhận hàng
- Tích hợp chatbot để tư vấn cho người dùng
- Bộ tìm kiếm có thể nhập nhiều từ khóa
- Khách hàng mua hàng mà không cần đăng nhập
CƠ SỞ LÝ THUYẾT
Laravel PHP Framework
MVC là mô hình kiến trúc phần mềm nhằm quản lý và phát triển dự án phần mềm một cách hệ thống, đồng thời tạo ra giao diện người dùng hiệu quả Hệ thống MVC được chia thành ba thành phần tương tác với nhau, giúp tách biệt nguyên tắc nghiệp vụ và giao diện người dùng.
Ba thành phần chính bao gồm:
Controller đóng vai trò trung gian giữa model và view, tiếp nhận yêu cầu từ client, xử lý request, tải model, gửi dữ liệu qua view tương ứng và trả kết quả về cho client.
Model chịu trách nhiệm thao tác với cơ sở dữ liệu, bao gồm tất cả các hàm và phương thức truy vấn dữ liệu Controller sẽ sử dụng các hàm và phương thức của model để lấy dữ liệu và gửi đến view.
• View: Sẽ nhận dữ liệu từ controller và hiển thị nội dung sang các đoạn mã HTML, bạn có thể hiểu đơn giản là thành phần giao diện
3.1.2 Giới thiệu về Laravel PHP Framewora
Hình 3.1 Laravel PHP Framework (Nguồn ảnh: laravel.com/ [Truy cập: 04-06-2022])
Laravel là một framework PHP mã nguồn mở và miễn phí, được thiết kế để hỗ trợ phát triển phần mềm theo kiến trúc MVC Framework này giúp lập trình viên tăng tốc độ phát triển ứng dụng, tiết kiệm thời gian, nâng cao tính ổn định và giảm thiểu việc viết lại mã nguồn.
• Sử dụng các tính năng mới nhất của PHP
• Nguồn tài nguyên vô cùng lớn và sẵn có
• Tốc độ xử lý nhanh
Bootstrap
Hình 3.2 Bootstrap Framework (Nguồn ảnh: getbootstrap.com [Truy cập: 04-06-2022])
Bootstrap là một bộ công cụ mã nguồn mở miễn phí, giúp tạo ra mẫu website hoàn chỉnh với các thuộc tính giao diện được định sẵn như kích thước, màu sắc, độ cao và độ rộng Nhờ vào Bootstrap, các designer có thể sáng tạo nhiều sản phẩm mới mẻ một cách nhanh chóng, tiết kiệm thời gian trong quá trình thiết kế giao diện website.
• Chất lượng sản phẩm đầu ra hoàn hảo
3.2.2 Hướng dẫn sử dụng Bootstrap cơ bản
Để sử dụng Bootstrap 4, bạn cần thêm thẻ HTML5 doctype ở đầu trang, cùng với thuộc tính lang và bộ ký tự phù hợp Bootstrap ứng dụng các phần tử HTML và thuộc tính CSS, vì vậy việc cài đặt đúng doctype là rất quan trọng.
Bootstrap 4 được phát triển với tiêu chí mobile-first, giúp tối ưu hóa trải nghiệm người dùng trên các thiết bị di động Để đảm bảo website hiển thị chính xác và linh hoạt với kích thước trình duyệt, bạn cần thêm thẻ vào phần của trang web.
• Khi sử dụng trên webiste của riêng mình, người dùng cần bọc toàn bộ nội dung trong webiste bằng thẻ container (class container hoặc container-fluid).
jQuery
jQuery là một thư viện JavaScript, không phải là một ngôn ngữ lập trình độc lập, giúp người dùng thực hiện nhiều tác vụ một cách dễ dàng và hiệu quả hơn Thư viện này cung cấp các API để đơn giản hóa việc duyệt tài liệu HTML, thực hiện hoạt ảnh, xử lý sự kiện và thao tác AJAX jQuery tương thích tốt với nhiều trình duyệt khác nhau.
• jQuery xử lý code rất nhanh và có khả năng mở rộng
• jQuery tạo điều kiện cho người dùng viết các mã chức năng bằng các dòng tối thiểu jQuery cải thiện hiệu suất lập trình web
• jQuery phát triển các ứng dụng có tương thích với trình duyệt
• Hầu hết các tính năng mới của trình duyệt mới đều được jQuery sử dụng.
MySQL
Hình 3.4 Hệ quản trị dữ liệu MySQL (Nguồn ảnh: www.mysql.com [Truy cập: 04-06-2022])
MySQL là một hệ quản trị cơ sở dữ liệu miễn phí, thường được sử dụng cùng với Apache và PHP Với sự phát triển mạnh mẽ từ cộng đồng mã nguồn mở, MySQL nhận được nhiều hỗ trợ từ các lập trình viên đam mê Hệ thống này sử dụng cú pháp truy xuất và mã lệnh tương tự như ngôn ngữ SQL, giúp người dùng dễ dàng làm quen và áp dụng.
MySQL là một hệ quản trị cơ sở dữ liệu nhanh chóng, ổn định và dễ sử dụng, với khả năng tương thích cao trên nhiều hệ điều hành Nó cung cấp một loạt các hàm tiện ích mạnh mẽ, giúp nâng cao hiệu suất và bảo mật Chính vì vậy, MySQL là lựa chọn lý tưởng cho các ứng dụng truy cập cơ sở dữ liệu qua Internet.
3.4.2 Một số đặc điểm của MySQL
• MySQL là một phần mềm quản trị cơ sở dữ liệu dạng server-based (gần tương đương với SQL Server của Microsoft)
• MySQL quản lý dữ liệu thông qua các cơ sở dữ liệu, mỗi cơ sở dữ liệu có thể có nhiều bảng quan hệ chứa dữ liệu
• MySQL có cơ chế phân quyền người sử dụng riêng, mỗi người dùng có thể được quản lý một hoặc nhiều cơ sở dữ liệu khác nhau
PHÂN TÍCH & THIẾT KẾ
Xác định yêu cầu
4.1.1 Danh sách các yêu cầu chức năng
STT Tên yêu cầu Ghi chú
1 Đăng nhập Yêu cầu ở giao diện của khách hàng và nhân viên
2 Đăng ký tài khoản Yêu cầu ở giao diện của khách hàng
3 Xem thông tin sản phẩm Yêu cầu ở giao diện của khách hàng
4 Quản lý giỏ hàng Yêu cầu ở giao diện của khách hàng
5 Xem thông tin tài khoản Yêu cầu ở giao diện của khách hàng
6 Chatbot tư vấn Yêu cầu ở giao diện của khách hàng
7 Vòng quay may mắn Yêu cầu ở giao diện của khách hàng
8 Quản lý danh mục Yêu cầu ở giao diện của nhân viên
9 Quản lý sản phẩm Yêu cầu ở giao diện của nhân viên
10 Quản lý mã khuyến mãi Yêu cầu ở giao diện của nhân viên
11 Quản lý thông tin khách hàng Yêu cầu ở giao diện của nhân viên
12 Quản lý đơn đặt hàng Yêu cầu ở giao diện của nhân viên
13 Quản lý kho hàng Yêu cầu ở giao diện của nhân viên
14 Thống kê doanh thu Yêu cầu ở giao diện của nhân viên
15 Quản lý nhà cung cấp Yêu cầu ở giao diện của nhân viên
16 Quản lý nhân viên Yêu cầu ở giao diện của nhân viên
Bảng 4.1 Danh sách các yêu cầu chức năng
4.1.2 Danh sách biểu mẫu và quy định của biểu mẫu
4.1.2.1 Đăng ký tài khoản khách hàng
Biểu mẫu 1 Đăng ký tài khoản khách hàng
• Quy định: Họ tên, địa chỉ, số điện thoại, email, mật khẩu bắt buộc nhập và đúng định dạng
- Họ tên, địa chỉ, số điện thoại, email, phương thức thanh toán bắt buộc nhập và đúng định dạng
- Phương thức thanh toán là “Chuyển tiền trực tiếp” hoặc “thanh toán khi nhận hàng”
4.1.2.3 Cập nhật tài khoản cá nhân (khách hàng)
Cập nhật tài khoản cá nhân (khách hàng)
• Quy định: Họ tên, địa chỉ, số điện thoại, email, mật khẩu bắt buộc nhập và đúng định dạng
Quản lý danh mục Tên danh mục:
- Tên dạnh mục, mô tả bắt buộc nhập và đúng định dạng
- Kích hoạt phải là giá trị “có” hoặc “không”
Sản phẩm Tên sản phẩm:
Giá: … Đơn vị: … Ảnh sản phẩm: …
- Tên sản phẩm, mô tả, danh mục, giá, đơn vị, ảnh sản phẩm, kích hoạt bắt buộc nhập và đúng định dạng
- Kích hoạt phải là giá trị “có” hoặc “không”
4.1.2.6 Quản lý mã khuyến mãi
Quản lý mã khuyến mãi
Giá trị đơn hàng áp dụng:
- Mã khuyến mãi, mức giảm giá bắt buộc nhập
- Khách hàng áp dụng phải là “Tất cả khách hàng”, “Khách hàng VIP” hoặc “Khách hàng thường”
4.1.2.7 Quản lý đơn đặt hàng
Quản lý đơn đặt hàng Khách hàng:
Người nhận: … Địa chỉ: Điện thoại:
- Họ tên, địa chỉ, số điện thoại, email, phương thức thanh toán bắt buộc nhập và đúng định dạng
- Phương thức thanh toán là “Chuyển tiền trực tiếp” hoặc “thanh toán khi nhận hàng”
Nhập kho Nhân viên nhập hàng: …
• Quy định: Sản phẩm và số lượng bắt buộc nhập và đúng định dạng
4.1.2.9 Quản lý nhà cung cấp
Quản lý nhà cung cấp
• Quy định: Họ tên, địa chỉ, số điện thoại, email, mật khẩu bắt buộc nhập và đúng định dạng
• Quy định: Họ tên, địa chỉ, số điện thoại, email, mật khẩu bắt buộc nhập và đúng định dạng
Đặc tả use-case
4.2.1 Sơ đồ use-case tổng quát
Hình 4.1 Sơ đồ use-case tổng quát
STT Tên Actor Ý nghĩa/Ghi chú
1 Người dùng Người sử dụng, có nhu cầu mua hàng trên website
2 Nhân viên Người chịu trách nhiệm quản lý sản phẩm, đơn đặt hàng, mã khuyến mãi, báo cáo thống kê và nhập hàng
3 Quản trị Người chịu trách nhiệm quản lý nhân viên và vận hành website
Bảng 4.2 Danh sác các actor
4.2.3 Danh sách các Use-case
STT Tên Use-case Ý nghĩa/Ghi chú
1 Đăng nhập Đăng nhập tài khoản để vào hệ thống
2 Đăng ký Đăng ký tài khoản để đăng nhập vào hệ thống
3 Xem thông tin sản phẩm Tìm kiếm, xem thông tin chi tiết, bình luận, yêu thích sản phẩm
4 Quản lý giỏ hàng Thêm sản phẩm vào giỏ hàng và thanh toán
5 Chatbot tư vấn Tự động giải đáp khi người dùng cần tư vấn
6 Xem thông tin tài khoản Quản lý thông tin cá nhân, xem các đơn đặt hàng, các sản phẩm yêu thích và các mã khuyến mãi
7 Vòng quay Quay vòng quay để người dùng có thể nhận mã khuyến mãi từ cửa hàng
8 Quản lý sản phẩm Xem, thêm, chỉnh sửa thông tin, xuất QR sản phẩm
9 Quản lý danh mục Xem, thêm chỉnh sửa thông tin danh mục sản phẩm
10 Quản lý thông tin người dùng
Xem, chỉnh sửa thông tin người dùng
11 Quản lý đơn hàng Tạo đơn hàng, in đơn hàng, quản lý lịch sử giao hàng, xác nhận thanh toán
12 Quản lý mã khuyến mãi Xem, thêm, chỉnh sửa thông tin các mã khuyến mãi
13 Báo cáo, thống kê Thống kê doanh thu theo sản phẩm, theo ngày, theo khách hàng
14 Quản lý nhân viên Xem, thêm, chỉnh sửa thông tin và nhân viên
15 Quản lý kho Xem và nhập hàng vào kho
16 Quản lý nhà cung cấp Xem, thêm, chỉnh sửa thông tin nhà cung cấp
Bảng 4.3 Danh sách các use-case
Hình 4.2 Use-case đăng nhập
Tên Use-case Đăng nhập
Mô tả Được sử dụng bởi người dùng, nhân viên và quản lý đăng nhập vào hệ thống nhằm sử dụng các chức năng trong phần mềm
Actor(s) Người dùng, Nhân viên, Quản trị
Trigger Người dùng/nhân viên/quản trị muốn đăng nhập vào ứng dụng Nông
- Tài khoản người dùng đã được tạo sẵn
- Tài khoản người dùng đã được phân quyền
- Thiết bị người dùng đã kết nối Internet khi thực hiện đăng nhập
- Người dùng/nhân viên/quản lý đăng nhập ứng dụng thành công
- Hệ thống ghi nhận hoạt động đăng nhập thành công vào Activity Log
Basic flow 1 Người dùng/nhân viên/quản lý truy cập ứng dụng Nông Sản Việt
2 Người dùng/nhân viên/quản lý chọn đăng nhập
3 Người dùng/nhân viên/quản lý nhập tài khoản và chọn đăng nhập
4 Hệ thống xác thực thông tin đăng nhập và truy cập vào ứng dụng
5 Hệ thống ghi nhận hoạt động đăng nhập thành công
Exception flow 1 Người dùng/nhân viên/quản trị xác nhận thông tin đăng nhập không
2 Người dùng/nhân viên/quản trị chọn lệnh hủy đăng nhập
Bảng 4.4 Use-case đăng nhập
Hình 4.3 Use-case đăng ký
Tên Use-case Đăng ký
Mô tả Được sử dụng bởi người dùng nhằm tạo tài khoản đăng nhập vào ứng dụng Actor(s) Người dùng
{Trigger Người dùng muốn tạo tài khoản đăng nhập vào ứng dụng Nông Sản Việt Pre-
- Người dùng chưa có hoặc muốn tạo thêm tài khoản
-Thiết bị người dùng đã kết nối Internet khi thực hiện đăng ký
-Người dùng đăng ký tài khoản ứng dụng thành công
-Hệ thống ghi nhận thông tin vào cơ sở dữ liệu và chuyển sang trang chủ Basic flow 1 Người dùng truy cập vào ứng dụng Nông Sản Việt
2 Người dùng chọn phương thức đăng ký
3 Người dùng nhập thông tin đăng ký tài khoản và chọn đăng ký
4 Hệ thống xác thực thông tin và thông báo tạo tài khoản thành công
5 Hệ thống ghi nhận thông tin vào cơ sở dữ liệu và chuyển sang trang chủ Exception flow 1 Thông tin đăng ký không hợp lệ
2 Người dùng chọn lệnh hủy đăng ký Use-case dừng lại
Bảng 4.5 Use-case đăng ký
4.2.6 Xem thông tin sản phẩm
Hình 4.4 Use-case xem thông tin sản phẩm
Tên Use-case Xem thông tin sản phẩm
Mô tả Được sử dụng bởi người dùng nhằm xem, bình luận, yêu thích sản phẩm và thêm giỏ hàng trong ứng dụng
Trigger Người dùng xem thông tin sản phẩm trong ứng dụng
- Người dùng nhấn chọn sản phẩm
- Thiết bị đã kết nối Internet
- Hệ thống hiển thị chi tiết sản phẩm mà người dùng cần xem
Basic flow 1 Người dùng truy cập vào ứng dụng Nông Sản Việt
2 Người dùng tìm kiếm sản phẩm (thông qua danh mục hoặc tìm kiếm sản phẩm bằng từ khóa)
3 Người dùng chọn sản phẩm cần xem và bình luận về sản phẩm Exception flow Người dùng thoát khỏi trang chi tiết sản phẩm
Bảng 4.6 Use-case xem thông tin sản phẩm
Hình 4.5 Use-case quản lý giỏ hàng
Tên Use-case Quản lý giỏ hàng
Mô tả Được sử dụng nhằm thực hiện các thao tác quản lý giỏ hàng
Trigger Người dùng muốn thực hiện các thao tác với giỏ hàng trong ứng dụng Pre-
- Người dùng vào trang chi tiết sản phẩm và thêm giỏ hàng
- Thiết bị đã kết nối Internet
- Người dùng thực hiện các thao tác thanh toán giỏ hàng trong ứng dụng thành công và hệ thống trả về thông báo
Basic flow 1 Người dùng đăng nhập vào ứng dụng Nông Sản Việt
2 Người dùng truy cập vào trang sản phẩm ứng dụng Nông Sản Việt
3 Người dùng nhấn thêm vào giỏ hàng
4 Người dùng thực hiện các thao tác xóa, sửa lên danh sách đơn đặt hàng trong ứng dụng
5 Người dùng chọn thông tin giao hàng và thanh toán giỏ hàng
6 Ứng dụng hiển thị thanh toán thành công
7 Đơn hàng được được cập nhật trong database
Exception flow 1 Thông tin người dùng nhập không hợp lệ
2 Người dùng thoát khỏi trình quản lý đơn đặt hàng
Bảng 4.7 Use-case quản lý giỏ hàng
Hình 4.6 Use-case Chatbot tư vấn
Tên Use-case Chatbot tư vấn
Mô tả Được sử dụng bởi người dùng nhằm sử dụng chức năng chatbot tư vấn trong ứng dụng Actor(s) Người dùng
Trigger Người dùng dùng chatbot để được hỗ trợ tư vấn
- Người dùng nhấn vào ô chatbot
- Thiết bị đã kết nối Internet
- Hệ thống tư vấn người dùng qua chatbot
Basic flow 1 Người dùng truy cập vào ứng dụng nông sản Việt
2 Người dùng đăng nhập thành công vào ứng dụng
3 Người dùng nhấn vào ô chat bot
4 Người dùng nhập thông tin cần trao đổi
Exception flow Nguời dùng tắt khung chat
Bảng 4.8 Use-case chatbot tư vấn
4.2.9 Xem thông tin tài khoản
Hình 4.7 Use-case xem thông tin tài khoản
Tên Use-case Xem thông tin tài khoản
Mô tả Được sử dụng nhằm thực hiện các thao tác xem thông tin cá nhân, đơn hàng, sản phẩm yêu thích và mã khuyến mãi
Trigger Người dùng muốn thực hiện các thao tác xem/cập nhật thông tin cá nhân, đơn hàng, sản phẩm yêu thích và mã khuyến mãi
- Người dùng đã có tài khoản và đăng nhập vào hệ thống
- Người dùng nhấn chọn xem thông tin tài khoản
- Thiết bị đã kết nối Internet
Hệ thống hiển thị các thông tin về tài khoản mà người dùng muốn xem
Basic flow 1 Người dùng đăng nhập vào ứng dụng Nông Sản Việt
2 Người dùng truy cập vào trang thông tin sản phẩm trong ứng dụng
3 Người dùng chọn thông tin mà người dùng muốn xem (thông tin cá nhân, thông tin đơn hàng, sản phẩm yêu thích, mã khuyến mãi) Exception flow
Người dùng thoát khỏi trang xem thông tin tài khoản
Bảng 4.9 Use-case xem thông tin tài khoản
Hình 4.8 Use-case quản lý sản phẩm
Tên Use-case Quản lý sản phẩm
Mô tả Được sử dụng nhằm thực hiện các thao tác thêm, xóa, sửa, xuất QR cho sản phẩm
Trigger Nhân viên muốn thực hiện các thao tác thêm, xóa, sửa, xuất QR sản phẩm trong ứng dụng
- Nhân viên đã có tài khoản và tài khoản đã được phân quyền
- Thiết bị đã kết nối Internet
- Nhân viên thực hiện các thao tác với sản phẩm trong ứng dụng thành công và hệ thống sẽ cập nhật dữ liệu
Basic flow 1 Nhân viên truy cập vào trang admin ứng dụng Nông Sản Việt
2 Nhân viên đăng nhập thành công vào ứng dụng
3 Nhân viên chọn chức năng quản lý sản phẩm
4 Nhân viên thực hiện các thao tác thêm, xóa, sửa, xuất QR cho danh sách sản phẩm trong ứng dụng
5 Ứng dụng hiển thị cập nhật thông tin thành công
6 Dữ liệu được cập nhật trong database
Exception flow 1 Thông tin chỉnh sửa không hợp lệ
2 Nhân viên thoát khỏi trình quản lý sản phẩm
Bảng 4.10 Use-case quản lý sản phẩm
Hình 4.9 Use-case quản lý danh mục
Tên Use-case Quản lý danh mục
Mô tả Được sử dụng nhằm thực hiện các thao tác thêm, xóa, sửa danh mục Actor(s) Nhân viên
Trigger Nhân viên muốn thực hiện các thao tác thêm, xóa, sửa danh mục trong ứng dụng
- Nhân viên đã có tài khoản và tài khoản đã được phân quyền
- Thiết bị đã kết nối Internet
- Nhân viên thực hiện các thao tác thêm, xóa, sửa danh mục trong ứng dụng thành công
Basic flow 1 Nhân viên truy cập vào trang admin ứng dụng Nông Sản Việt
2 Nhân viên đăng nhập thành công vào ứng dụng
3 Nhân viên chọn chức năng quản lý danh mục
4 Nhân viên thực hiện các thao tác thêm, xóa, sửa lên danh sách danh mục trong ứng dụng
5 Ứng dụng hiển thị cập nhật thông tin thành công
6 Dữ liệu được cập nhật trong database
Exception flow 1 Thông tin chỉnh sửa không hợp lệ
2 Admin thoát khỏi trình quản lý danh mục
Bảng 4.11 Use-case quản lý danh mục
4.2.12 Quản lý thông tin khách hàng
Hình 4.10 Use-case quản lý thông tin khách hàng
Tên Use-case Quản lý thông tin khách hàng
Mô tả Được sử dụng nhằm thực hiện thao tác quản lý thông tin khách hàng Actor(s) Nhân viên
Trigger Nhân viên muốn thực hiện các thao tác thêm, xóa, sửa thông tin người dùng trong ứng dụng
Pre-Condition(s) - Nhân viên đã có tài khoản và tài khoản đã được phân quyền
- Thiết bị đã kết nối Internet
- Nhân viên thực hiện các thao tác thêm, xóa, sửa thông tin người dùng trong ứng dụng
Basic flow 1 Nhân viên truy cập vào trang admin ứng dụng Nông Sản Việt
2 Nhân viên đăng nhập thành công vào ứng dụng
3 Nhân viên chọn chức năng quản lý nhà thông tin khách hàng
4 Nhân viên thực hiện các thao tác xem chi tiết thông tin và khóa tài khoản khách hàng trong ứng dụng
5 Ứng dụng hiển thị cập nhật thông tin thành công
6 Dữ liệu được cập nhật trong database
Exception flow 1 Thông tin chỉnh sửa không hợp lệ
2 Nhân viên thoát khỏi trình quản lý thông tin khách hàng
Bảng 4.12 Use-case quản lý thông tin khách hàng
Hình 4.11 Use-case quản lý đơn hàng
Tên Use-case Quản lý đơn hàng
Mô tả: Công cụ này được sử dụng để thực hiện các thao tác liên quan đến đơn hàng, bao gồm tạo đơn, in đơn hàng, quản lý lịch sử giao hàng và xác nhận thanh toán Actor: Nhân viên.
Trigger Nhân viên muốn thực hiện các các thao tác với đơn hàng trong ứng dụng
Pre-Condition(s) - Nhân viên đã có tài khoản và tài khoản đã được phân quyền
- Thiết bị đã kết nối Internet
- Nhân viên thực hiện các thao tác với đơn hàng trong ứng dụng thành công và hệ thống cập nhật dữ liệu
Basic flow 1 Nhân viên truy cập vào trang admin ứng dụng Nông Sản Việt
2 Nhân viên đăng nhập thành công vào ứng dụng
3 Nhân viên chọn chức năng quản lý đơn hàng
4 Nhân viên thực hiện các thao tác lên danh sách trong ứng dụng
5 Ứng dụng hiển thị cập nhật thông tin thành công
6 Dữ liệu được cập nhật trong database
Exception flow 1 Thông tin chỉnh sửa không hợp lệ
2 Nhân viên thoát khỏi trình quản lý đơn hàng
Bảng 4.13 Use-case quản lý đơn hàng
4.2.14 Quản lý mã khuyến mãi
Hình 4.12 Use-case quản lý mã khuyến mãi
Tên Use-case Quản lý mã khuyến mãi
Mô tả Được sử dụng nhằm thực hiện các thao tác thêm, sửa mã khuyến mãi
Pre-Condition(s) - Nhân viên đã có tài khoản và tài khoản đã được phân quyền
- Thiết bị đã kết nối Internet
- Nhân viên thực hiện các thao tác thêm, sửa mã khuyến mãi trong ứng dụng thành công và hệ thống cập nhật dữ liệu
Basic flow 1 Nhân viên truy cập vào trang admin ứng dụng Nông Sản Việt
2 Nhân viên đăng nhập thành công vào ứng dụng
3 Nhân viên chọn chức năng quản lý mã khuyến mãi
4 Nhân viên thực hiện các thao tác thêm, sửa mã khuyến mãi trong ứng dụng
5 Ứng dụng hiển thị cập nhật thông tin thành công
6 Dữ liệu được cập nhật trong database
Exception flow 1 Thông tin chỉnh sửa không hợp lệ
2 Nhân viên thoát khỏi trình quản lý mã khuyến mãi
Bảng 4.14 Use-case quản lý mã khuyến mãi
Hình 4.13 Use-case thống kê doanh thu
Tên Use-case Báo cáo, thống kê
Mô tả Được sử dụng nhằm thực hiện các thao tác báo cáo, thống kê Actor(s) Nhân viên
Trigger Nhân viên muốn thực hiện các thao tác thống kê trong ứng dụng
Pre-Condition(s) - Nhân viên đã có tài khoản và tài khoản đã được phân quyền
- Thiết bị đã kết nối Internet
- Nhân viên thực hiện các thao tác báo cáo, thống kê trong ứng dụng thành công và hệ thống đổ ra dữ liệu
Basic flow 1 Nhân viên truy cập vào trang admin ứng dụng Nông Sản Việt
2 Nhân viên đăng nhập thành công vào ứng dụng
3 Nhân viên chọn chức năng thống kê doanh thu (theo thời gian, theo sản phẩm, theo người)
4 Nhân viên chọn xem theo bảng biểu hoặc theo biểu đồ
Exception flow Nhân viên thoát khỏi trang báo cáo thống kê
Bảng 4.15 Use-case thống kê doanh thu
Hình 4.14 Use-case quản lý nhân viên
Tên Use-case Quản lý nhân viên
Mô tả Được sử dụng nhằm thực hiện các thao tác thêm, xóa, sửa, xem lịch sử hoạt động của nhân viên
Trigger Quản trị muốn thực hiện các thao tác thêm, xóa, sửa của nhân viên
- Quản trị đã có tài khoản và tài khoản đã được phân quyền
- Thiết bị đã kết nối Internet
- Quản trị thực hiện các thao tác với thông tin nhân viên trong ứng dụng thành công và hệ thống sẽ cập nhật dữ liệu
Basic flow 1 Quản lý truy cập vào trang admin ứng dụng Nông Sản Việt
2 Quản lý đăng nhập thành công vào ứng dụng
3 Quản lý chọn chức năng quản lý nhân viên
4 Quản lý thực hiện các thao tác với danh sách nhân viên
5 Ứng dụng hiển thị cập nhật thông tin thành công
6 Dữ liệu được cập nhật trong database
Exception flow 1 Thông tin chỉnh sửa không hợp lệ
2 Quản lý thoát khỏi trình quản lý nhân viên
Bảng 4.16 Use-case quản lý nhân viên
Hình 4.15 Use-case quản lý kho
Tên Use-case Quản lý kho
Mô tả Được sử dụng nhằm thực hiện các thao tác xem và nhập hàng vào kho Actor(s) Nhân viên
Trigger Nhân viên muốn thực hiện các thao tác xem và nhập hàng vào kho trong ứng dụng
- Nhân viênđã có tài khoản và tài khoản đã được phân quyền
- Thiết bị đã kết nối Internet
- Nhân viênthực hiện các thao tác xem và nhập hàng vào kho trong ứng dụng thành công và hệ thống sẽ cập nhật dữ liệu
Basic flow 1 Nhân viên truy cập vào trang admin ứng dụng Nông Sản Việt
2 Nhân viên đăng nhập thành công vào ứng dụng
3 Nhân viên chọn chức năng quản lý kho
4 Nhân viên thực hiện các xem và cập nhật số lượng, nhập hàng vào kho trong ứng dụng
5 Ứng dụng hiển thị cập nhật thông tin thành công
6 Dữ liệu được cập nhật trong database
Exception flow 1 Thông tin chỉnh sửa không hợp lệ
2 Nhân viên thoát khỏi trình quản lý kho
Bảng 4.17 Use-case quản lý kho
4.2.18 Quản lý nhà cung cấp
Hình 4.16 Use-case quản lý nhà cung cấp
Tên Use-case Quản lý nhà cung cấp
Mô tả Được sử dụng nhằm thực hiện thao tác thêm, xóa, sửa cho nhà cung cấp
Trigger Nhân viên muốn thực hiện các thao tác thao tác thêm, xóa, sửa cho nhà cung cấp
- Nhân viên đã có tài khoản và tài khoản đã được phân quyền
- Thiết bị đã kết nối Internet
- Nhân viên thực hiện các thao tác với nhà cung cấp trong ứng dụng thành công và hệ thống sẽ cập nhật dữ liệu
Basic flow 1 Nhân viên truy cập vào trang admin ứng dụng Nông Sản Việt
2 Nhân viên đăng nhập thành công vào ứng dụng
3 Nhân viên chọn chức năng quản lý nhà cung cấp
4 Nhân viên thực hiện các thao tác thêm, xóa, sửa cho nhà cung cấp
5 Ứng dụng hiển thị cập nhật thông tin thành công
6 Dữ liệu được cập nhật trong database
Exception flow 1 Thông tin chỉnh sửa không hợp lệ
2 Nhân viên thoát khỏi trình quản lý nhà cung cấp
Bảng 4.18 Use-case quản lý nhà cung cấp
Sơ đồ hoạt động
Hình 4.17 Sơ đồ hoạt động - đăng ký
4.3.2 Xem thông tin sản phẩm
Hình 4.18 Sơ đồ hoạt động - xem thông tin sản phẩm
Hình 4.19 Sơ đồ hoạt động - quản lý giỏ hàng
4.3.4 Xem thông tin tài khoản
Hình 4.20 Sơ đồ hoạt động - xem thông tin tài khoản
Hình 4.21 Sơ đồ hoạt động - quản lý sản phẩm
Hình 4.22 Sơ đồ hoạt động - quản lý danh mục
Hình 4.23 Sơ đồ hoạt động - quản lý nhân viên
Hình 4.24 Sơ đồ hoạt động - quản lý đơn hàng
4.3.9 Quản lý mã khuyến mãi
Hình 4.25 Sơ đồ hoạt động - quản lý mã khuyến mãi
Hình 4.26 Sơ đồ hoạt động – thống kê doanh thu
Hình 4.27 Sơ đồ hoạt động - quản lý kho
4.3.12 Quản lý nhà cung cấp
Hình 4.28 Sơ đồ hoạt động - quản lý nhà cung cấp
Thiết kế dữ liệu
Hình 4.29 Sơ đồ dữ liệu
4.4.2 Danh sách các bảng dữ liệu trong sơ đồ
STT TÊN BẢNG DỮ LIỆU Ý NGHĨA GHI CHÚ
1 product Dữ liệu về sản phẩm
2 menu Dữ liệu về danh mục
3 customer Dữ liệu khách hàng
4 order Dữ liệu đơn đặt hàng
5 order_detail Dữ liệu chi tiết đơn đặt hàng
6 shipping Dữ liệu giao hàng
7 payment Dữ liệu thanh toán
8 comment Dữ liệu bình luận sản phẩm
9 voucher Dữ liệu mã khuyến mãi
10 use_voucer Dữ liệu sử dụng mã khuyến mãi
11 rotate Dữ liệu vòng quay may mắn
12 staff Dữ liệu nhân viên
13 warehouse_goods Dữ liệu kho hàng
14 suplier Dữ liệu nhà cung cấp
15 staff_log Dữ liệu nhật kí nhân viên
Bảng 4.18 Danh sách các bảng dữ liệu
4.4.3 Mô tả từng bảng dữ liệu
1 ID int 20 ký tự Mã sản phẩn
2 name string 255 ký tự Tên sản phẩm
3 description string 255 ký tự Mô tả sản phẩm
4 price int 11 ký tự Giá sản phẩm
5 menu_id int 20 ký tự Mã danh mục
6 thumb string 255 ký tự Ảnh
7 active string 255 ký tự Trạng thái
1 ID int 20 ký tự Mã danh mục
2 name string 255 ký tự Tên
3 description string 255 ký tự Mô tả
4 active string 255 ký tự Trạng thái
KIỂU RÀNG BUỘC Ý NGHĨA GHI
1 ID int 20 ký tự Mã khách hàng
2 name string 255 ký tự Họ tên
3 username string 100 ký tự Tài khoản
4 passsword string 100 ký tự Mật khẩu
5 address string 255 ký tự Địa chỉ
6 phone string 100 ký tự Điện thoại
7 email string 255 ký tự Email
8 avatar string 255 ký tự Ảnh đại diện
1 ID int 20 ký tự Mã đơn đặt hàng
2 status string 255 ký tự Trạng thái
3 total int 11 ký tự Tổng tiền
4 created_at datetime Ngày đặt
1 ID int 20 ký tự Mã chi tiết đơn hàng
2 name string 255 ký tự Tên sản phẩm
3 quantity int 11 ký tự Số lượng sản phẩm
4 price int 11 ký tự Giá sản phẩm
1 ID int 20 ký tự Mã đơn đặt hàng
2 name string 255 ký tự Họ tên người nhận
3 address string 255 ký tự Địa chỉ người nhận
4 phone string 100 ký tự Số điện thoại
5 email string 100 ký tự Email người nhận
6 note string 255 ký tự Ghi Chú
7 status string 255 ký tự Trạng thái đơn hàng
1 ID int 20 ký tự Mã thanh toán
2 method string 255 ký tự Phương thức thanh toán
3 status string 255 ký tự Trạng thái thanh toán
1 ID int 20 ký tự Mã bình luận
2 content string 255 ký tự Nội dung bình luận
3 created_at datetime 255 ký tự Thời gian bình luận
1 ID int 20 ký tự ID mã giảm giá
2 code string 255 ký tự Mã voucher
3 value int 11 ký tự Giá trị giảm giá
4 order_min string 255 ký tự Giá trị nhỏ nhất đơn hàng
5 order_max int 11 ký tự Giá trị lớn nhất đơn hàng
6 quantity int 11 ký tự Số lượng mã giảm giá
7 quantity_per_account string 255 ký tự Số lượng mỗi tài khoản
8 date_start string 255 ký tự Ngày bắt đầu
9 date_end string 255 ký tự Ngày kết thúc
10 describe int 11 ký tự Mô tả
11 customer_type int 11 ký tự Loại khách hàng
1 ID int 20 ký tự Mã sử dụng
2 customer_id int 20 ký tự Mã khách hàng
3 order_id int 20 ký tự Mã đơn đặt hàng
4 voucher_id int 20 ký tự Mã voucher
5 use_at datetime Thời gian sử dụng
1 ID int 20 ký tự Mã quay vòng
2 customer_id int 20 ký tự Mã khách hàng
3 voucher_id int 20 ký tự Mã voucher
4 route_at date_time Thời gian quay vòng
1 ID int 20 ký tự Mã nhân viên
2 name string 255 ký tự Họ tên
3 username string 100 ký tự Tài khoản
4 passsword string 100 ký tự Mật khẩu
5 address string 255 ký tự Địa chỉ
6 phone string 100 ký tự Điện thoại
7 email string 255 ký tự Email
1 ID int 20 ký tự Mã hàng trong kho
2 inventory_quantity int 11 ký tự Số lượng tồn kho
3 delivery_quantity int 11 ký tự Số lượng đang giao
4 wait_delivery_quantity int 11 ký tự Số lượng đợi giao
1 ID int 20 ký tự Mã nhà cung cấp
2 name string 255 ký tự Họ tên
3 address string 255 ký tự Địa chỉ
4 phone string 100 ký tự Điện thoại
5 email string 255 ký tự Email
1 ID int 20 ký tự Mã nhật ký nhân viên
2 action int 11 ký tự Hoạt động
3 created_at datetime Thời gian hoạt động
XÂY DỰNG ỨNG DỤNG
Website người dùng
Hình 5.1 Màn hình trang chủ
Khi người dùng truy cập trang web, giao diện mặc định sẽ hiển thị thông tin cửa hàng, bao gồm banner, sản phẩm mới và các sản phẩm bán chạy.
Thanh điều hướng (top navigation) nằm ở đầu giao diện trang chủ và toàn bộ website, giúp người dùng dễ dàng truy cập vào các phần chính của trang.
- Link “Đăng nhập/Đăng ký”: Điều hướng tới trang Đăng nhập, đăng ký
- Link “Đăng xuất”: Đăng xuất tài khoản
- Link “Trang Chủ”: Điều hướng tới Trang chủ
- Link “Mua Hàng”: Điều hướng tới trang Danh sách sản phẩm
- Link “Vòng quay may mắn”: Điều hướng tới trang Vòng quay may mắn
- Link “Tài khoản”: Điều hướng tới trang Thông tin tài khoản
- Button “Giỏ hàng”: Điều hướng tới trang Giỏ hàng
5.1.2 Màn hình đăng nhập, đăng ký
Hình 5.2 Màn hình đăng nhập, đăng ký
• Đây là giao diện giúp người dùng đăng nhập hoặc đăng ký (nếu chưa có tài khoản)
• Sau khi nhập thông tin đăng nhập hoặc đăng ký thành công, hệ thống sẽ thông báo thành công và chuyền hướng sang trang chủ
• Nếu đăng nhập hoặc đăng ký thất bại, hệ thống sẽ thông báo lỗi, nguyên nhân thất bại và người dùng sẽ thao tác lại
5.1.3 Màn hình xem danh sách sản phẩm
Hình 5.3 Màn hình xem danh sách sản phẩm
• Đây là giao diện giúp người dùng xem danh sách sản phẩm
• Các thao tác người dùng có thể trải nghiệm trên giao diện:
- Link “Danh mục”: Người dùng chọn các sản phẩm theo danh mục
- Thanh “Tìm kiếm”: Người dùng tìm sản phẩm bằng nhiều cụm từ
- Button “Yêu thích”: Thêm sản phẩm vào danh sách yêu thích
- Button “Thêm giỏ hàng”: Thêm sản phẩm vào giỏ hàng
• Giao diện này được xử lý bằng Ajax và API, không load lại trang khi tìm sản phẩm giúp tăng trải nghiệm cho người dùng
5.1.4 Màn hình xem chi tiết sản phẩm
Hình 5.4 Màn hình xem chi tiết sản phẩm
• Đây là giao diện giúp người dùng xem chi tiết thông tin sản phẩm
• Các thao tác người dùng có thể trải nghiệm trên giao diện:
- Button “Thêm giỏ hàng”: Người dùng thêm sản phẩm vào giỏ hàng
- Button “Yêu thích”: Người dùng thêm sản phẩm vào yêu thích
- Tab “Thông tin thực phẩm”: Người dùng xem thông tin về thành phần, mùa vụ, đóng gói, hạn sử dụng, xuất sứ của sản phẩm
- Tab “Bình luận”: Người dùng bình luận, đánh giá sản phẩm
Khi người dùng thêm sản phẩm vào giỏ hàng thành công, hệ thống sẽ hiển thị thông báo thành công Tuy nhiên, nếu người dùng không nhập số lượng sản phẩm, hệ thống sẽ thông báo thất bại.
Hình 5.5 Màn hình giỏ hàng
• Đây là giao diện giúp người dùng quản lý giỏ hàng
• Các thao tác người dùng có thể trải nghiệm trên giao diện:
- Button “Cập nhật”: Người dùng cập nhật số lượng sản phẩm
- Button “Xóa”: Người dùng xóa sản phẩm trong giỏ hàng
- Form text “Mã giảm giá”: Người dùng nhập mã giảm giá
- Button “Thanh toán”: Hệ thống chuyển hướng sang trang Thanh toán giỏ hàng
Khi người dùng nhập thông tin chính xác và thực hiện thanh toán, hệ thống sẽ hiển thị thông báo thành công Ngược lại, nếu người dùng không điền số lượng sản phẩm hoặc nhập mã giảm giá không chính xác, hệ thống sẽ thông báo thất bại.
5.1.6 Màn hình nhập thông tin thanh toán
Hình 5.6 Màn hình nhập thông tin thanh toán
• Đây là giao diện giúp người dùng nhập thông tin thanh toán và đặt hàng
• Các thao tác người dùng có thể trải nghiệm trên giao diện:
- Form “Thông tin giao hàng”: Người dùng nhập thông tin giao hàng
- Input radio “Phương thức thanh toán”: Người dùng chọn phương thức thanh toán
- Button “Đặt hàng”: Người dùng đặt hàng
Người dùng cần kiểm tra kỹ giỏ hàng, nhập thông tin và chọn thanh toán Hệ thống sẽ thông báo thành công và lưu lại thông tin, đồng thời gửi email xác nhận cho người dùng.
• Nếu người dùng nhập không đầy đủ thông tin hoặc thông tin không chính xác, hệ thống sẽ thông báo thất bại và lỗi cho người dùng
5.1.7 Màn hình vòng quay may mắn
Hình 5.7 Màn hình vòng quay may mắn
• Đây là giao diện giúp người dùng quay vòng quay may mắn
• Các thao tác người dùng có thể trải nghiệm trên giao diện:
- Button “Quay ngay”: Người dùng quay vòng quay
- Button “Tiếp tục quay”: Người dùng tiếp tục quay và vòng quay sẽ được tạo lại
Khi người dùng thực hiện quay thành công, họ sẽ nhận được một mã khuyến mãi tương ứng với số tiền đã quay Mã khuyến mãi này sẽ được hiển thị trong danh sách mã khuyến mãi của tài khoản người dùng.
• Giao diện này sử dụng công nghệ jQuery, Ajax và tham khảo qua website: https://www.w3schools.com/jquery/jquery_animate.asp
5.1.8 Màn hình xem thông tin tài khoản
Hình 5.8 Màn hình xem thông tin tài khoản
• Đây là giao diện giúp người dùng xem và cập nhật thông tin tài khoản
• Các thao tác người dùng có thể trải nghiệm trên giao diện:
- Form “Thông tin tài khoản”: Người dùng nhập thông tin tài khoản
- Button “Cập nhật”: Thông tin tài khoản được cập nhật
• Nếu người dùng nhập không đầy đủ thông tin hoặc thông tin không chính xác, hệ thống sẽ thông báo thất bại và lỗi cho người dùng
5.1.9 Màn hình danh sách đặt hàng
Hình 5.9 Màn hình danh sách đặt hàng
• Đây là giao diện giúp người dùng xem và quản lý lí lịch sử đặt hàng
• Các thao tác người dùng có thể trải nghiệm trên giao diện:
- Button “Xem đơn hàng”: Người dùng xem chi tiết đơn hàng
- Button “Hủy đơn hàng”: Người dùng hủy đơn hàng
- Button “In đơn hàng”: Người dùng in đơn hàng
• Người dùng chỉ Hủy đơn khi đơn hàng đang ở tình trạng “Đang xử lý”
• Người dùng chỉ In đơn hàng khi đơn hàng đang ở tình trạng “Đã nhận hàng”
5.1.10 Màn hình danh sách mã khuyến mãi
Hình 5.10 Màn hình danh sách mã khuyến mãi
• Đây là giao diện giúp người dùng xem danh sách và copy mã khuyến mãi mà tài khoản có thể sử dụng
5.1.11 Màn hình danh sách sản phẩm yêu thích
Hình 5.11 Màn hình danh sách sản phẩm yêu thích
• Đây là giao diện giúp người dùng xem sản phẩm yêu thích đến người dùng nhanh chóng mua sắm
• Các thao tác người dùng có thể trải nghiệm trên giao diện:
- Button “Yêu thích”: Người dùng thêm sản phẩm yêu thích
- Button “Bỏ yêu thích”: Người dùng bỏ sản phẩm yêu thích.
Website nhân viên
Hình 5.12 Màn hình đăng nhập (nhân viên)
• Đây là giao diện cho người quản trị, nhân viên đăng nhập vào hệ thống website nhân viên
• Nhân viên nhập email và mật khẩu, chọn button “Đăng nhập”
• Nếu thông tin đăng nhập chính xác, nhân viên sẽ được chuyển hướng vào trang chủ hệ thống website nhân viên Ngược lại, nhân viên phải đăng nhập lại
Hình 5.13 Màn hình trang chủ (nhân viên)
Giao diện mặc định khi truy cập trang web của nhân viên cung cấp thống kê chi tiết về các thông tin quan trọng của cửa hàng, bao gồm số lượng dữ liệu cần thiết.
Thanh điều hướng bên trái trang chủ và toàn bộ website nhân viên giúp người dùng dễ dàng truy cập vào các phần chính của website, tạo thuận lợi cho việc tìm kiếm thông tin.
- Link “Danh mục”: Điều hướng tới trang Quản lý danh mục
- Link “Sản phẩm”: Điều hướng tới trang Quản lý sản phẩm
- Link “Mã khuyến mãi”: Điều hướng tới trang Mã khuyến mãi
- Link “Khách hàng”: Điều hướng tới trang Quản lý khách hàng
- Link “Đơn đặt hàng”: Điều hướng tới trang Quản lý đơn đặt hàng
- Link “Kho hàng”: Điều hướng tới trang Quản lý kho hàng
- Link “Thống kê doanh thu”: Điều hướng tới trang Thống kê doanh thu
- Link “Nhà cung cấp”: Điều hướng tới trang Quản lý nhà cung cấp
- Link “Nhân viên”: Điều hướng tới trang Quản lý nhân viên
• Danh sách thả xuống khi rê chuột vào avatar ở phía bên phải màn hình hiển thị các thông tin để nhân viên quản lý tài khoản của mình
- Link “Tài khoản”: Điều hướng tới trang Quản lý tài khoản
- Link “Đổi mật khẩu”: Điều hướng tới trang Đổi mật khẩu
Hình 5.14 Dropdown quản lý tài khoản
5.2.3 Màn hình danh sách danh mục
Hình 5.15 Màn hình danh sách danh mục
• Đây là giao diện giúp nhân viên xem danh sách danh mục và thực hiện các thao tác quản lý danh mục
• Các thao tác nhân viên có thể trải nghiệm trên giao diện:
- Button “Bộ lọc”: Hiển thị bộ lọc danh mục
- Button “Tạo mới”: Chuyển hướng đến trang tạo mới danh mục
- Thanh “Tìm kiếm”: Tìm kiếm danh mục
- Button “Cập nhật”: Chuyển hướng đến trang cập nhật danh mục
- Button “Delete”: Xóa danh mục
• Khi xóa danh mục, hệ thống sẽ xác nhận lại nhân viên có chắc chắn xóa hay không
• Giao diện sử dụng công nghệ DataTables giúp cho việc truy cập dữ liệu trong các bảng HTML
5.2.4 Màn hình tạo mới danh mục
Hình 5.16 Màn hình tạo danh mục
• Đây là giao diện giúp nhân viên tạo danh mục
• Các thao tác nhân viên có thể trải nghiệm trên giao diện:
- Form “Thông tin”: Nhân viên thông tin danh mục
- Button “Tạo danh mục”: Hệ thống lưu dữ liệu và chuyển hướng sang trang Danh sách danh mục
• Nếu nhân viên nhập không đầy đủ thông tin hoặc thông tin không chính xác, hệ thống sẽ thông báo thất bại và lỗi ra giao diện
5.2.5 Màn hình danh sách sản phẩm
Hình 5.17 Màn hình danh sách sản phẩm
• Đây là giao diện giúp nhân viên xem danh sách sản phẩm và thực hiện các thao tác quản lý sản phẩm
• Các thao tác nhân viên có thể trải nghiệm trên giao diện:
- Button “Bộ lọc”: Hiển thị bộ lọc sản phẩm
- Button “Tạo mới”: Chuyển hướng đến trang tạo mới sản phẩm
- Thanh “Tìm kiếm”: Tìm kiếm sản phẩm
- Button “Cập nhật”: Chuyển hướng đến trang cập nhật sản phẩm
- Button “Delete”: Xóa sản phẩm
- Button “Xuất QR”: Chuyển hướng đến trang xuất QR sản phẩm
• Khi xóa danh mục, hệ thống sẽ xác nhận lại nhân viên có chắc chắn xóa hay không
• Giao diện sử dụng công nghệ DataTables giúp cho việc truy cập dữ liệu trong các bảng HTML
5.2.6 Màn hình thêm sản phẩm
Hình 5.18 Màn hình thêm sản phẩm
• Đây là giao diện giúp nhân viên tạo mới sản phẩm
• Các thao tác nhân viên có thể trải nghiệm trên giao diện:
- Form “Thông tin”: Nhân viên thông tin sản phẩm
- Button “Tạo sản phẩm”: Hệ thống lưu dữ liệu và chuyển hướng sang trang Danh sách sản phẩm
• Nếu nhân viên nhập không đầy đủ thông tin hoặc thông tin không chính xác, hệ thống sẽ thông báo thất bại và lỗi ra giao diện
5.2.7 Màn hình danh sách đơn đặt hàng
Hình 5.19 Màn hình danh sách đơn đặt hàng
• Đây là giao diện giúp nhân viên xem danh sách đơn đặt hàng và thực hiện các thao tác quản lý đơn đặt hàng
• Các thao tác nhân viên có thể trải nghiệm trên giao diện:
- Button “Bộ lọc”: Hiển thị bộ lọc đơn đặt hàng
- Button “Xem chi tiết”: Chuyển hướng đến trang xem chi tiết mỗi đơn đặt hàng
- Thanh “Tìm kiếm”: Tìm kiếm đơn đặt hàng
- Button “Cập nhật”: Cập nhật trạng thái đơn đặt hàng
- Button “Delete”: Xóa đơn đặt hàng
- Button “In đơn đặt”: Xuất đơn đặt hàng ra Excel
• Khi xóa đơn đặt, hệ thống sẽ xác nhận lại nhân viên có chắc chắn xóa hay không
• Giao diện sử dụng công nghệ DataTables giúp cho việc truy cập dữ liệu trong các bảng HTML Ngoài ra, giao diện còn sử dụng công nghệ
PHPExcel để in đơn đặt hàng
5.2.8 Màn hình chi tiết đơn hàng
Hình 5.20 Màn hình chi tiết đơn hàng
• Đây là giao diện giúp nhân viên xem chi tiết đơn đặt hàng
Giao diện hiển thị rõ ràng các thông tin quan trọng như thông tin khách hàng, tổng tiền thanh toán, thời gian đặt hàng, trạng thái đơn hàng, chi tiết sản phẩm trong đơn và thông tin giao hàng.
5.2.9 Màn hình quản lý kho hàng
Hình 5.21 Màn hình quản lý kho hàng
• Đây là giao diện giúp nhân viên xem danh sách kho hàng và chuẩn bị cho việc nhập hàng mới
• Các thao tác nhân viên có thể trải nghiệm trên giao diện:
- Button “Bộ lọc”: Hiển thị bộ lọc kho hàng
- Button “Cập nhật”: Cập nhật số lượng sản phẩm tồn kho (tăng hoặc giảm)
• Giao diện sử dụng công nghệ DataTables giúp cho việc truy cập dữ liệu trong các bảng HTML Ngoài ra, giao diện còn sử dụng công nghệ
PHPExcel để in đơn đặt hàng
Hình 5.22 Màn hình nhập hàng
• Đây là giao diện giúp nhân viên nhập hàng
• Các thao tác nhân viên có thể trải nghiệm trên giao diện:
- Form “Thông tin nhập hàng”: Nhân viên nhập thông tin nhập hàng
- Button “Tạo số sản phẩm”: Nhân viên tạo số lượng sản phẩm nhập
- Form “Thông tin sản phẩm nhập hàng”: Nhân viên nhập thông tin sản phẩm nhập hàng
- Button “In hóa đơn”: Hệ thống in hóa đơn nhập hàng bằng Excel
• Khi nhân viên nhập hàng thành công, hệ thống sẽ cập nhật dữ liệu và in hóa đơn nhập hàng cho nhân viên Giao diện sử dụng công nghệ
PHPExcel để in hóa đơn này
• Nếu nhân viên nhập không đầy đủ thông tin hoặc thông tin không chính xác, hệ thống sẽ thông báo thất bại và lỗi ra giao diện
5.2.11 Màn hình quản lý khách hàng
Hình 5.23 Màn hình quản lý khách hàng
• Đây là giao diện giúp nhân viên quản lý khách hàng
• Các thao tác nhân viên có thể trải nghiệm trên giao diện:
- Button “Bộ lọc”: Hiển thị bộ lọc khách hàng
- Button “Tạo mới”: Chuyển hướng đến trang tạo mới khách hàng
- Thanh “Tìm kiếm”: Tìm kiếm khách hàng
- Button “Xem chi tiết”: Chuyển hướng đến xem chi tiết thông tin khách hàng
- Button “Khóa”: Khóa tài khoản khách hàng
• Giao diện sử dụng công nghệ DataTables giúp cho việc truy cập dữ liệu trong các bảng HTML Ngoài ra, giao diện còn sử dụng công nghệ
PHPExcel để in đơn đặt hàng
5.2.12 Màn hình chi tiết khách hàng
Hình 5.24 Màn hình chi tiết khách hàng
• Đây là giao diện giúp nhân viên xem chi tiết thông tin khách hàng
• Giao diện hiển thị đầy đủ thông tin khách hàng và lịch sử đặt hàng của khách hàng
5.2.13 Màn hình danh sách mã khuyến mãi
Hình 5.25 Màn hình danh sách mã khuyến mãi
• Đây là giao diện giúp nhân viên xem mã khuyến mãi và thực hiện các thao tác quản lý
• Các thao tác nhân viên có thể trải nghiệm trên giao diện:
- Button “Bộ lọc”: Hiển thị bộ lọc mã khuyến mãi
- Button “Tạo mới”: Chuyển hướng đến trang tạo mới mã khuyến mãi
- Thanh “Tìm kiếm”: Tìm kiếm mã khuyến mãi
- Button “Cập nhật”: Chuyển hướng đến trang cập nhật mã khuyến mãi
- Button “Xóa”: Xóa mã khuyến mãi
• Giao diện sử dụng công nghệ DataTables giúp cho việc truy cập dữ liệu trong các bảng HTML Ngoài ra, giao diện còn sử dụng công nghệ
PHPExcel để in đơn đặt hàng
• Khi xóa mã khuyến mãi, hệ thống sẽ xác nhận lại nhân viên có chắc chắn xóa hay không
5.2.14 Màn hình tạo mới mã khuyến mãi
Hình 5.26 Màn hình tạo mới mã khuyến mãi
• Đây là giao diện giúp nhân viên tạo mới mã khuyến mãi
• Các thao tác nhân viên có thể trải nghiệm trên giao diện:
- Form “Thông tin”: Nhân viên thông tin mã khuyến mãi
- Button “Tạo mã khuyến mãi”: Hệ thống lưu dữ liệu và chuyển hướng sang trang Danh sách mã khuyến mãi
• Nếu nhân viên nhập không đầy đủ thông tin hoặc thông tin không chính xác, hệ thống sẽ thông báo thất bại và lỗi ra giao diện
5.2.15 Màn hình danh sách nhân viên
Hình 5.27 Màn hình danh sách nhân viên
• Đây là giao diện giúp quản trị xem danh sách nhân viên và thực hiện các thao tác quản lý
• Các thao tác nhân viên có thể trải nghiệm trên giao diện:
- Button “Bộ lọc”: Hiển thị bộ lọc nhân viên
- Button “Tạo mới”: Chuyển hướng đến trang tạo mới nhân viên
- Button “Cập nhật”: Chuyển hướng đến trang cập nhật nhân viên
- Button “Xóa”: Xóa nhân viên ra khỏi danh sách
• Giao diện sử dụng công nghệ DataTables giúp cho việc truy cập dữ liệu trong các bảng HTML Ngoài ra, giao diện còn sử dụng công nghệ
PHPExcel để in đơn đặt hàng
• Khi xóa nhân viên, hệ thống sẽ xác nhận lại nhân viên có chắc chắn xóa hay không
5.2.16 Màn hình tạo nhân viên
Hình 5.28 Màn hình tạo nhân viên
• Đây là giao diện giúp người quản trị tạo mới nhân viên
• Các thao tác người quản trị có thể trải nghiệm trên giao diện:
- Form “Thông tin”: Người quản trị thông tin nhân viên
- Button “Tạo tài khoản”: Hệ thống lưu dữ liệu và chuyển hướng sang trang Danh sách mã khuyến mãi
• Nếu người quản trị nhập không đầy đủ thông tin hoặc thông tin không chính xác, hệ thống sẽ thông báo thất bại và lỗi ra giao diện
5.2.17 Màn hình thống kê doanh thu
Hình 5.29 Màn hình thống kê doanh thu theo bảng biểu
Hình 5.30 Màn hình thống kê doanh thu theo biểu đồ
• Đây là giao diện giúp nhân viên thống kê doanh thu
• Các thao tác người quản trị có thể trải nghiệm trên giao diện:
- Button “Biểu đồ”: Thống kê theo biểu đồ
- Button “Bảng”: Thống kê theo bảng.
Các giao diện khác
5.3.1 Giao diện email về đơn hàng
Hình 5.31 Giao diện mail - đơn hàng
• Mail được gửi về tài khoản sau khi xác nhận thanh toán đơn hàng
• Hệ thống sử dụng công nghệ Mail Laravel để gửi mail về tài khoản
(Nguồn tham khảo: laravel.com/docs/8.x/mail)
Hình 5.32 Thông báo thành công
• Thông báo được hiển thị khi hệ thống thông báo các thao tác của người dùng thành công
• Thông báo dùng công nghệ SweetAlert
(Nguồn tham khảo: sweetalert.js.org/guides/)
Hình 5.33 Thông báo thất bại
• Thông báo được hiển thị khi hệ thống thông báo các thao tác của người dùng thất bại
• Thông báo sử dụng công nghệ SweetAlert
(Nguồn tham khảo: sweetalert.js.org/guides/)
Hình 5.34 Xác nhận xóa
• Xác nhận được hiển thị khi nhân viên hoặc người dùng xóa dữ liệu
• Xác nhận được sử dụng tính năng Modal của Bootstraps 4
(Nguồn tham khảo: getbootstrap.com/docs/4.0/components/modal/ )
5.3.5 Giao diện excel phiếu nhập hàng
Hình 5.35 Giao diện excel - phiếu nhập hàng
• Hệ thống in hóa đơn bằng Excel khi nhân viên nhập hàng
• Hệ thống sử dụng công nghệ PHPExcel để in hóa đơn này
(Nguồn tham khảo: github.com/PHPOffice/PHPExcel)