Website quản lý Tiệm bánh “H&H Bakery” có thể đóng góp lớn cho sự kinh doanh bánh ngọt theo nhiều cách: - Cung cấp khách hàng nền tảng xem thông tin sản phẩm dịch vụ của cửa hàng bánh cũ
GIỚI THIỆU ĐỀ TÀI
Tên đồ án
Phát triển Website quản lý tiệm bánh.
Lí do chọn đề tài
Ngành công nghiệp bánh ngọt đã trải qua sự tăng trưởng đáng kể Với sự phát triển của đặt hàng trực tuyến và giao hàng tại nhà, các cửa hàng bánh bây giờ có cơ hội đặc biệt để tiếp cận với một đối tượng khách hàng rộng hơn và tối ưu hóa hoạt động của họ thông qua sự sử dụng công nghệ
Website quản lý Tiệm bánh “H&H Bakery” có thể đóng góp lớn cho sự kinh doanh bánh ngọt theo nhiều cách:
- Cung cấp khách hàng nền tảng xem thông tin sản phẩm dịch vụ của cửa hàng bánh cũng như đặt hàng trực tiếp, giảm thời gian, chi phí nghiệp vụ
- Giúp doanh nghiệp quản lý hàng tồn kho, theo dõi dữ liệu về bán hàng và khách hàng, và ra quyết định cẩn thận về chiến lược sản xuất và tiếp thị.
Mục đích đề tài
Website Quản lý Tiệm bánh H&H Bakery được phát triển nhằm:
- Cung cấp cho khách hàng một nền tảng để đặt hàng và truy cập thông tin về sản phẩm và dịch vụ của tiệm bánh
- Giúp doanh nghiệp quản lý tốt hơn về kho hàng, theo dõi dữ liệu bán hàng và khách hàng, và thực hiện quyết định thông minh về chiến lược sản xuất và marketing
- Tăng hiệu suất và giảm thời gian chờ cho khách hàng khi đặt hàng
- Cung cấp dữ liệu quan trọng về sở thích và xu hướng của khách hàng cho doanh nghiệp
- Cung cấp một trải nghiệm trực tuyến tốt hơn cho khách hàng
Phạm vi đề tài
Nền tảng hỗ trợ: Triển khai trên website Đối tượng sử dụng:
- Khách hàng: Có thể đặt hàng, xem các mục trong menu và giá cả cũng như theo dõi trạng thái đơn hàng của họ thông qua trang web
- Doanh nghiệp: Có thể quản lý đơn đặt hàng, xem dữ liệu khách hàng và báo cáo bán hàng, quản lý hàng tồn kho và sản xuất, đồng thời cập nhật sản phẩm trong kho hàng và thông tin giá cả thông qua trang web
- Quản trị viên: Có thể quản lý tài khoản và quyền của người dùng, đồng thời thực hiện các nghiệp vụ bảo trì trang web
Danh sách các chức năng:
Bảng 1.1 Danh sách các chức năng
Chức năng Mô tả Đặt bánh Khách hàng có thể đặt hàng trực tuyến và xem thông tin về các sản phẩm và dịch vụ của tiệm bánh
Khách hàng có thể theo dõi trạng thái đơn hàng của mình theo thời gian thực
Tích hợp với các cổng thanh toán phổ biến để thực hiện các giao dịch trực tuyến an toàn
Quản lý tồn kho Khả năng quản lý hàng tồn kho, theo dõi dữ liệu bán hàng và khách hàng
Quản lý dữ liệu khách hàng
Khách hàng có thể tạo tài khoản để lưu thông tin cá nhân và lịch sử đặt hàng
Quản lý sản phẩm Khả năng quản lý và hiển thị thông tin về các sản phẩm và dịch vụ của tiệm bánh
Các chức năng để quản lý các khuyến mãi và theo dõi hiệu suất bán hàng
Báo cáo và phân tích
Khả năng tạo báo cáo và phân tích dữ liệu để cung cấp thông tin cho các quyết định kinh doanh
Phân quyền Khả năng phân quyền các nhóm người dùng trong hệ thống.
Những vấn đề còn tồn tại
- Về phía khách hàng: Thiếu sự tin tưởng vào cửa hàng khi không thể tham khảo các thông tin cơ bản như hình ảnh, thông tin nguyên vật liệu, ngày sản xuất và ngày hết hạn của sản phẩm từ xa
- Về phía doanh nghiệp: Không tạo được niềm tin nơi khách hàng, khó cạnh tranh với các thương hiệu lớn khi không có một nền tảng giúp quảng cáo, nhận đặt hàng giúp tăng doanh thu và phát triển doanh nghiệp Khó khăn trong việc thu thập dữ liệu về sở thích và xu hướng của các tín đồ mê ngọt để doanh nghiệp đưa ra các chiến lược kinh doanh, sản xuất phù hợp và bắt kịp xu hướng của khách hàng.
Những vấn đề mà đề tài tập trung
- Cung cấp cho phía khách hàng một nền tảng để đặt hàng và truy cập thông tin về sản phẩm và dịch vụ của tiệm bánh, tăng hiệu suất và giảm thời gian chờ cho khách khi đặt hàng Cung cấp một trải nghiệm đặt bánh trực tuyến tốt hơn cho khách hàng
- Giúp doanh nghiệp quản lý tốt hơn về kho hàng, theo dõi dữ liệu bán hàng và khách hàng, và thực hiện quyết định thông minh về chiến lược sản xuất và tiếp thị Cung cấp dữ liệu quan trọng về sở thích và xu hướng của khách hàng cho doanh nghiệp
CƠ SỞ LÍ THUYẾT
Công cụ sử dụng
- Công cụ thiết kế UI/UX: Framer
- Ngôn ngữ sử dụng: TypeScript, TSX, CSS3
- Cơ sở dữ liệu: Firebase
- Công nghệ sử dụng: ReactJS, NodeJS, ThreeJS
Mô hình Client-Server [2]
- Server là nơi giúp lưu trữ tài nguyên cũng như cài đặt các chương trình dịch vụ theo đúng như yêu cầu của client Client bao gồm máy tính cũng như các loại thiết bị điện tử nói chung sẽ tiến hành gửi yêu cầu đến server
Hình 2.1 Mô hình Client-Server
- Ưu điểm của mô hình client-server: o Tập trung: Ưu điểm đầu tiên của mô hình Client Server kiểu mạng khách chủ đó chính là khả năng kiểm soát tập trung, tất cả mọi thông tin cần thiết đều sẽ được đặt ở một vị trí duy nhất o Bảo mật: Trong mạng Client Server, tất cả các dữ liệu đều sẽ được bảo vệ một cách tối đa nhờ vào hệ thống kiến trúc tập trung o Khả năng mở rộng: Mô hình mạng kết nối Client Server có khả năng mở rộng vô cùng tốt Người dùng có thể tăng được số lượng tài nguyên của mình bất cứ lúc nào
16 o Khả năng truy cập: Hoàn toàn không hề có sự phân biệt giữa các vị trí hay nền tảng với nhau
- Nhược điểm của mô hình client-server: o Khả năng phản hồi: Nếu máy chủ không được tối ưu hoặc tải cao, nó có thể gây trễ và làm giảm trải nghiệm người dùng khi phản hồi o Độ trễ mạng: Phụ thuộc mạnh vào nền tảng mạng để truyền tải dữ liệu o Độ phức tạp: Mô hình client-server yêu cầu bạn phải xử lý và có kiến thức cao cả phần client và phần server
Tóm lại, mô hình client-server có nhiều ưu điểm và cũng nhiều nhước điểm Áp dụng mô hình này nên được cân nhắc cho phù hợp yêu cầu.
Phương pháp thực hiện
- Tìm hiểu công nghệ: Reactjs, Nodejs, Firebase, ThreeJS
- Tìm hiểu các công cụ hỗ trợ: Framer, LucidChart (WebApp hỗ trợ vẽ diagram)
- Môi trường làm việc: Jira
- Thu thập yêu cầu thông qua: o Tạo phiếu khảo sát khảo sát nhu cầu người dùng (người tiêu thụ) o Tạo phiếu trắc nghiệm, bài phỏng vấn nghiệp vụ tại các tiệm bánh, doanh nghiệp liên quan trong lĩnh vực o Tìm hiểu các ứng dụng hiện có trên thị trường o Phân tích và xác định yêu cầu
- Thiết kế: o Thiết kế đối tượng o Thiết kế dữ liệu o Thiết kế giao diện
- Cài đặt → Kiểm thử → Hoàn thiện sản phẩm
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
Khảo sát hiện trạng
- Hiện trạng tổ chức: Các bên sử dụng gồm khách hàng và nhân viên doanh nghiệp Vai trò trong doanh nghiệp: Nhân viên, giám đốc và quản lý
- Hiện trạng nghiệp vụ: Quy trình đặt bánh: Tiếp nhận khách hàng, tiếp nhận thông tin đặt hàng, số lượng bánh, ghi thông tin khách hàng, thanh toán và xuất hóa đơn
- Các sản phẩm tương tự trên thị trường:
Bảng 3.1 Bảng so sánh các sản phẩm tương tự trên thị trường
Tính năng bbanghouse.com khietminhb akery.com
Sản phẩm của nhóm Đặt bánh Có Không Đảm bảo
Tra cứu bánh Có Có Đảm bảo
Tra cứu thông tin cụ thể về bánh:
Nguyên vật liệu, ngày sản xuất, ngày hết hạn…
Lưu trữ thông tin khách hàng ở mức chi tiết
Quản lý tồn kho Không Không Đảm bảo
Giao diện trực quan Có Không Đảm bảo
Tùy chỉnh bánh theo yêu cầu Không Không Đảm bảo
Theo dõi thông tin đơn hàng Không Không Đảm bảo
Hệ thống khuyến mãi nâng cao Không Không Đảo bảo
Xác định và mô hình hóa yêu cầu
Bảng 3.2 Danh sách các yêu cầu Nghiệp vụ
STT Tên yêu cầu Quy định
3 Quản lý dữ liệu khách hàng
5 Báo cáo và Phân tích
7 Đặt bánh theo yêu cầu
8 Liên hệ qua live chat box
11 Nhập xuất giữa các chi nhánh
Bảng 3.3 Danh sách các yêu cầu tiến hóa
STT Nghiệp vụ Tham số cần thay đổi
Bảng 3.4 Bảng trách nhiệm yêu cầu tiến hóa
STT Nghiệp vụ Người dùng Phần mềm
1 Đặt bánh Cho biết giá trị mới
Ghi nhận giá trị mới và thay đổi cách thức kiểm tra
Cho biết giá trị mới
Ghi nhận giá trị mới và thay đổi cách thức kiểm tra
Bảng 3.5 Danh sách các yêu cầu hiệu quả
STT Nghiệp vụ Tốc độ xử lý
2 Quản lý tồn kho Ngay tức thì
3 Quản lý dữ liệu khách hàng Ngay tức thì
4 Quản lý sản phẩm Ngay tức thì
5 Báo cáo và Phân tích Ngay tức thì
6 Quản lý Chi nhánh Ngay tức thì
7 Đặt bánh theo yêu cầu Ngay tức thì
8 Liên hệ qua live chat box Ngay tức thì
9 Theo dõi đơn hàng Ngay tức thì
10 Hệ thống khuyến nghị Ngay tức thì
11 Nhập xuất giữa các chi nhánh Ngay tức thì
12 Phân quyền Ngay tức thì
Bảng 3.6 Bảng trách nhiệm yêu cầu hiệu quả
STT Nghiệp vụ Người dùng Phần mềm
1 Đặt bánh Nhập thông tin đúng và chính xác
Thực hiện yêu cầu hiệu quả, chính xác và nhanh chóng
2 Quản lý tồn kho Thực hiện yêu cầu hiệu quả, chính xác và nhanh chóng
3 Quản lý dữ liệu khách hàng
Thực hiện yêu cầu hiệu quả, chính xác và nhanh chóng
4 Quản lý sản phẩm Nhập thông tin đúng và chính xác
Thực hiện yêu cầu hiệu quả, chính xác và nhanh chóng
5 Báo cáo và Phân tích Nhập thông tin đúng và chính xác
Cho ra kết quả chính xác và nhanh nhất
6 Quản lý Chi nhánh Thực hiện yêu cầu hiệu quả, chính xác và nhanh chóng
7 Đặt bánh theo yêu cầu
Nhập thông tin đúng và chính xác Thực hiện yêu cầu hiệu quả, chính xác và nhanh chóng
8 Liên hệ qua live chat box
Thực hiện yêu cầu hiệu quả, chính xác và nhanh chóng
9 Theo dõi đơn hàng Thực hiện yêu cầu hiệu quả, chính xác và nhanh chóng
Thực hiện yêu cầu hiệu quả, chính xác và nhanh chóng
11 Nhập xuất giữa các chi nhánh
Nhập thông tin đúng và chính xác Thực hiện yêu cầu hiệu quả, chính xác và nhanh chóng
12 Phân quyền Ghi nhận và lưu trữ thông tin chính xác
Bảng 3.7 Danh sách các yêu cầu tiện dụng
STT Nghiệp vụ Mức độ dễ học Mức độ dễ sử dụng
1 Đặt bánh Không cần học Dễ dàng tra cứu và lựa chọn loại bánh phù hợp, hình thức thanh toán đa dạng
2 Quản lý tồn kho 5 phút hướng dẫn Dễ dàng với giao diện trực quan
3 Quản lý dữ liệu khách hàng
5 phút hướng dẫn Dễ dàng với giao diện trực quan
4 Quản lý sản phẩm 5 phút hướng dẫn Dễ dàng với giao diện trực quan
5 Báo cáo và phân tích 2 phút hướng dẫn Báo cáo có thể tùy biến nhiều lựa chọn theo nhu cầu
6 Quản lý Chi nhánh 5 phút hướng dẫn Dễ dàng với giao diện trực quan
7 Đặt bánh theo yêu cầu
2 phút hướng dẫn Dễ dàng với giao diện trực quan
8 Liên hệ qua live chat box
30 giây hướng dẫn Dễ dàng với giao diện trực quan
9 Theo dõi đơn hàng Không cần hướng dẫn Dễ dàng với giao diện trực quan
10 Hệ thống khuyến nghị Không cần hướng dẫn Dễ dàng với giao diện trực quan
11 Nhập xuất giữa các chi nhánh
1 phút hướng dẫn Dễ dàng với giao diện trực quan
12 Phân quyền 5 phút hướng dẫn
Bảng 3.8 Bảng trách nhiệm yêu cầu tiện dụng
STT Nghiệp vụ Người dùng Phần mềm
1 Đặt bánh Thực hiện đúng yêu cầu
2 Quản lý tồn kho Xem hướng dẫn sử dụng Thực hiện đúng yêu cầu
3 Quản lý dữ liệu khách hàng Xem hướng dẫn sử dụng Thực hiện đúng yêu cầu
4 Quản lý sản phẩm Xem hướng dẫn sử dụng Thực hiện đúng yêu cầu
5 Báo cáo và phân tích Xem hướng dẫn sử dụng Thực hiện đúng yêu cầu
6 Quản lý Chi nhánh Xem hướng dẫn sử dụng Thực hiện đúng yêu cầu
7 Đặt bánh theo yêu cầu Xem hướng dẫn sử dụng Thực hiện đúng yêu cầu
8 Liên hệ qua live chat box
10 Hệ thống khuyến nghị Thực hiện đúng yêu cầu
11 Nhập xuất giữa các chi nhánh
Xem hướng dẫn sử dụng Thực hiện đúng yêu cầu
12 Phân quyền Xem hướng dẫn sử dụng Thực hiện đúng yêu cầu
Bảng 3.9 Danh sách các yêu cầu an toàn
STT Nghiệp vụ Đối tượng liên quan
1 Không cho phép hủy Hóa đơn đã thanh toán, bánh và loại bánh đã được bán
Bảng 3.10 Bảng trách nhiệm các yêu cầu an toàn
STT Nghiệp vụ Người dùng Phần mềm
1 Không cho phép hủy Cho biết đối tượng cần hủy Không hủy đối tượng
Bảng 3.11 Danh sách các yêu cầu bảo mật
STT Nghiệp vụ Quản trị Chủ doanh nghiệp Nhân viên
2 Quản lý dữ liệu khách hàng
4 Báo cáo và phân tích X
6 Liên hệ qua live chat box
8 Nhập xuất giữa các chi nhánh
Bảng 3.12 Bảng trách nhiệm yêu cầu bảo mật
STT Vai trò Người dùng Phần mềm
1 Quản trị Cho biết nhóm người dùng, người dùng và các quyền của nhóm người dùng đó
Thực hiện đúng yêu cầu
Cung cấp tên và mật khẩu Thực hiện đúng yêu cầu
3.2.2 Mô hình hóa yêu cầu
Bảng 3.13 Bảng danh sách chức năng chính thức
STT Chức năng Mô tả
1 Đặt bánh Đặt bánh trực tuyến và xem thông tin các sản phẩm, dịch vụ tiệm bánh
Theo dõi đơn hàng theo thời gian thực
2 Quản lý tồn kho Khả năng quản lý hàng tồn kho, theo dõi dữ liệu bán hàng và khách hàng
3 Quản lý dữ liệu khách hàng Khách hàng có thể tạo tài khoản để lưu thông tin cá nhân và lịch sử đặt hàng
4 Quản lý sản phẩm Quản lý và hiển thị thông tin các sản phẩm, dịch vụ tiệm bánh
Các công cụ Quản lý các chiến dịch tiếp thị và theo dõi hiệu suất bán hàng
5 Báo cáo và Phân tích Báo cáo và phân tích dữ liệu để cung cấp thông tin cho các quyết định kinh doanh
6 Quản lý Chi nhánh Quản lý thông tin chi nhánh, quản trị chi nhánh và các thông tin khác liên quan tới chi nhánh
7 Đặt bánh theo yêu cầu Khách hàng có thể đặt bánh theo yêu cầu, sở thích của bản thân theo 2 cách thức linh hoạt: Upload ảnh sản phẩm đã chụp hoặc tự tay thiết kế bánh ở dạng vật thể 3d trên trình duyệt web
8 Liên hệ qua live chat box Khách hàng có thể liên hệ qua live chat với nhân viên chăm sóc khách hàng
9 Theo dõi đơn hàng Khách hàng có thể theo dõi đơn hàng qua kênh Email và Trang web của tiệm bánh
10 Hệ thống khuyến nghị Khách hàng có thể nhận được các khuyến nghị sản phẩm phù hợp với ý muốn của
25 họ trong khảo sát từ các hóa đơn họ đã thanh toán trong quá khứ
11 Nhập xuất giữa các chi nhánh Các chi nhánh có thể đưa ra yêu cầu nhập và xuất các lô bánh cho nhau
12 Phân quyền Khả năng phân quyền các nhóm người dùng trong hệ thống
Bảng 3.14 Bảng mô tả các tác nhân
STT Mã Actor Tên Actor Ý nghĩa/Ghi chú
1 KH Khách hàng Người xem sản phẩm và đặt bánh
2 ĐH Nhân viên điều hành / Chủ doanh nghiệp
Chủ tiệm bánh, người sẽ quản lý hoạt động doanh nghiệp và giám sát website
3 ADM Quản trị viên Người phụ trách quản lý website, bao gồm việc cập nhật nội dung, khắc phục vấn đề kỹ thuật và phân quyền và giám sát hoạt động người dùng
4 NV Nhân viên bếp Nhân viên thực hiện nghiệp vụ giao hàng của doanh nghiệp
5 CN Quản lý chi nhánh Quản lý chi nhánh
Bảng 3.15 Bảng danh sách Use-case chung cho các Actor
STT Mã Use Case Tên Use Case Ý nghĩa/Ghi chú
2 C-UC01 Quản lý thông tin tài khoản
Người dùng có thể quản lý thông tin tài khoản (xem, xóa, sửa)
3 C-UC02 Xem danh sách sản phẩm bánh
Người dùng có thể xem danh sách sản phẩm của tiệm bánh, xem chi tiết sản phẩm, hình ảnh và thêm vào giỏ hàng nếu muốn
4 C-UC03 Xem chi tiết sản phẩm bánh
Người dùng có thể xem chi tiết sản phẩm để biết được các thông tin khác của sản phẩm như miêu tả, hình ảnh
Bảng 3.16 Bảng danh sách Use-case cho khách hàng
STT Mã Use Case Tên Use Case Ý nghĩa/Ghi chú
2 KH-UC01 Đặt hàng Khách hàng có thể đặt hàng cho các sản phẩm bánh, tùy chọn nhu cầu giao nhận hàng và phương thức thanh toán
3 KH-UC02 Xem tình trạng đơn hàng
Khách hàng có thể theo dõi trạng thái đơn đặt hàng
4 KH-UC03 Thanh toán đơn hàng
Người dùng có thể thanh toán cho đơn đặt hàng thông qua trang web bằng cách sử dụng cổng thanh toán an toàn
5 KH-UC04 Xem lịch sử đặt hàng
Một khách hàng có thể xem lịch sử đặt hàng của mình, bao gồm các chi tiết như ngày đặt hàng, các mặt hàng được mua và trạng thái thanh toán
7 KH-UC05 Hủy đơn đặt hàng
Người dùng có thể hủy đơn hàng đã đặt
8 KH-UC06 Quản lý giỏ hàng
Người dùng có thể thêm, xóa sản phẩm khỏi giỏ hàng và tùy chỉnh số lượng mỗi sản phẩm trong giỏ hàng tùy ý
9 KH-UC07 Đặt hàng theo yêu cầu cá nhân
Người dùng có đặt hàng sản phẩm bánh được tùy chỉnh theo sở thích của mình
Bảng 3.17 Bảng danh sách Use-case cho người trong doanh nghiệp
Case Tên Use Case Ý nghĩa/Ghi chú
1 ĐH-UC01 Quản lý loại bánh
Nhân viên quản lý có thể tạo, cập nhật và xóa các danh mục bánh để sắp xếp các loại bánh
2 ĐH-UC02 Quản lý kho bánh
Nhân viên quản lý có thể thêm, chỉnh sửa hoặc loại bỏ các sản phẩm khỏi hàng tồn kho của
27 tiệm bánh và cập nhật trạng thái và giá cả của chúng
4 ĐH-UC03 Xem báo cáo Một người dùng doanh nghiệp có thể xem các báo cáo bán hàng, bao gồm dữ liệu bán hàng hàng ngày, hàng tuần và hàng tháng
6 ĐH-UC04 Quản lý khuyến mãi
Cho phép nhân viên / chủ doanh nghiệp tạo và quản lý các ưu đãi quảng cáo, chẳng hạn như giảm giá, phiếu giảm giá và chương trình khách hàng thân thiết, để khuyến khích khách hàng và tăng doanh số
7 ĐH-UC05 Quản lý chi nhánh
Chủ doanh nghiệp / Nhân viên quản lý có thể thêm, sửa, ngưng hoạt động chi nhánh trong hệ thống
7 ĐH-UC06 Quản lý cốt bánh cho doanh nghiệp
Chủ doanh nghiệp / Nhân viên quản lý có thể thêm xóa sửa các cốt bánh trong hệ thống
8 ĐH-UC07 Quản lý các model 3d bao gồm khuôn bánh và đồ trang trí cho doanh nghiệp
Chủ doanh nghiệp / Nhân viên quản lý có thể thêm xóa sửa các model 3d trong hệ thống
8 CN-UC01 Quản lý lô bánh Quản lý chi nhánh có thể xem / thêm / xóa / sửa lô hàng (bánh) trong hệ thống
9 NV-UC01 Quản lý đơn hang chung
Nhân viên có thể xem danh sách các đơn hàng hiện có, xem chi tiết và cập nhật tình trạng đơn hàng mà khách hàng đã đặt
10 NV-UC02 Quản lý đơn đặt hàng theo yêu cầu của khách hàng
Nhân viên có thể cập nhật giá tiền đơn hàng sau khi thỏa thuận với khách hàng và cập nhật trạng thái đơn hàng
Bảng 3.18 Bảng danh sách Use-case cho quản trị viên
STT Mã Use Case Tên Use Case Ý nghĩa/Ghi chú
1 ADM-UC01 Quản lý nhóm tài khoản
Quản trị viên có thể tạo, cập nhật và xóa loại nhóm tài khoản
2 ADM-UC02 Quản lý tài khoản
Quản trị viên có thể tạo, cập nhật và xóa tài khoản, cũng như xem thông tin
Hình 3.1 Lược đồ Use-case quản lý tài khoản
Hình 3.2 Lược đồ Use-case quản lý sản phẩm
Hình 3.3 Lược đồ Use-case quản lý đặt hàng
Hình 3.4 Lược đồ Use-case quản lý báo cáo
Hình 3.5 Lược đồ Use-case Quản lý chi nhánh
Bảng 3.19 Đặc tả Use-case C-UC01
Use Case Name Quản lý thông tin tài khoản
Description Cho phép người dùng quản lý thông tin tài khoản của họ trên trang web quản lý tiệm bánh
Người dùng có tài khoản (khách hàng, chủ doanh nghiệp/nhà điều hành, nhân viên nhà bếp, nhân viên giao hàng, quản trị viên)
Pre-Condition(s) Người dùng hiện đang đăng nhập vào tài khoản của họ
Post-Condition(s) Thông tin tài khoản của người dùng được cập nhật thành công
1 Người dùng điều hướng đến trang Cài đặt tài khoản trên trang web Quản lý Bakery
2 Người dùng cập nhật thông tin tài khoản của họ (ví dụ: tên, email, mật khẩu)
3 Người dùng nhấp vào nút Lưu để lưu các thay đổi của họ
4 Hệ thống xác nhận các thay đổi của người dùng và cập nhật thông tin tài khoản của họ
2a Nếu người dùng muốn thay đổi địa chỉ email của họ, hệ thống sẽ gửi email xác minh đến địa chỉ mới và nhắc người dùng xác minh địa chỉ mới trước khi cập nhật thông tin tài khoản của họ
2b Nếu người dùng muốn thay đổi mật khẩu của họ, hệ thống sẽ nhắc người dùng nhập mật khẩu hiện tại của họ trước khi cho phép họ đặt mật khẩu mới
Nếu người dùng nhập địa chỉ email hoặc mật khẩu không hợp lệ khi cập nhật thông tin tài khoản của họ, hệ thống sẽ hiển thị thông báo lỗi và nhắc người dùng sửa lỗi
Business rule(s) Chỉ người dùng đăng nhập mới có thể quản lý thông tin tài khoản của họ
Hệ thống phải có khả năng cập nhật thông tin tài khoản của người dùng một cách nhanh chóng và an toàn
Bảng 3.20 Đặc tả Use-case C-UC02
Use Case Name Xem danh sách sản phẩm bánh
Description Cho phép xem các sản phẩm bánh ngọt có sẵn trên trang web
Người dùng có tài khoản (khách hàng, chủ doanh nghiệp/nhà điều hành, nhân viên nhà bếp, nhân viên giao hàng, quản trị viên)
Post-Condition(s) Người dùng có thể xem các sản phẩm bánh ngọt có sẵn
1 Người dùng điều hướng đến trang Sản phẩm bánh ngọt
2 Trang web hiển thị một danh sách các sản phẩm bánh ngọt có sẵn
3 Người dùng có thể lọc các sản phẩm dựa trên các tiêu chí khác nhau như giá, danh mục, v.v
4 Người dùng có thể chọn một sản phẩm để xem thêm chi tiết về nó
2a Nếu không có sản phẩm bánh ngọt có sẵn, hệ thống sẽ hiển thị một thông báo cho biết rằng không có sản phẩm nào có sẵn
Business rule(s) Danh sách các sản phẩm bánh ngọt có sẵn phải được cập nhật và chính xác
Non-functional rule(s) Trang phải tải trong vòng 5 giây
Bảng 3.21 Đặc tả Use-case C-UC03
Use Case Name Xem chi tiết sản phẩm bánh
Description Cho phép xem thông tin chi tiết của sản phẩm bánh ngọt trên trang web
Actor(s) Người dùng có tài khoản hợp lệ với trang web quản lý bánh
Post-Condition(s) Người dùng có thể xem thông tin chi tiết của sản phẩm bánh ngọt đã chọn
1 Người dùng chọn một sản phẩm bánh ngọt từ danh sách các sản phẩm có sẵn
2 Trang web hiển thị thông tin chi tiết của sản phẩm đã chọn, chẳng hạn như tên, hình ảnh, giá cả, mô tả, v.v
3 Người dùng có thể thêm sản phẩm vào giỏ hàng của họ hoặc tiếp tục duyệt các sản phẩm
Alternative Flow Nếu sản phẩm đã chọn không còn nữa, trang web sẽ hiển thị một thông báo thích hợp cho người dùng
Non-functional rule(s) Trang phải tải trong vòng 5 giây
Bảng 3.22 Đặc tả Use-case KH-UC01
Use Case ID KH-UC01
Use Case Name Đặt hàng
Description Use case mô tả quá trình khách hàng đặt hàng ở trang web
Pre-Condition(s) Người dùng đã đăng nhập và có một hoặc nhiều sản phẩm trong giỏ hàng
Post-Condition(s) Đơn được đặt và khách hàng được yêu cầu xác nhận đặt hàng
1 Khách hàng chọn một (hoặc nhiều) sản phẩm để đặt hàng
2 Khách hàng chỉ định bất kỳ tùy chọn tùy chỉnh nào (nếu có)
3 Khách hàng thêm sản phẩm vào giỏ hàng của họ
4 Khách hàng nhập thông tin thanh toán và vận chuyển của họ
5 Khách hàng xác nhận đơn đặt hang và tiến hành thanh toán
6 Hệ thống xử lý đơn hàng và gửi xác nhận cho khách hàng
Exception Flow 1.a Khách hàng chọn một sản phẩm không có sẵn
5.a Khách hàng nhập thông tin không hợp lệ
Business rule(s) BR-KH-02: Khách hàng phải có thể chọn từ danh sách các sản phẩm có sẵn
NFR-KH-02: Hệ thống phải có khả năng xử lý một số lượng lớn các đơn đặt hàng trong giờ cao điểm
Bảng 3.23 Đặc tả Use-case KH-UC02
Use Case ID KH-UC02
Use Case Name Xem tình trạng đơn hàng
Description Use case này mô tả quy trình cho khách hàng kiểm tra trạng thái của đơn đặt hàng được đặt trước đó
Pre-Condition(s) Khách hàng có một đơn đặt hàng trước đây mà họ muốn kiểm tra trạng thái
Post-Condition(s) Khách hàng được cho xem trạng thái hiện tại của đơn đặt hàng của họ
Basic Flow 1 Khách hàng điều hướng đến trang "Lịch sử đặt hàng"
2 Khách hàng chọn thứ tự họ muốn kiểm tra trạng thái của
3 Hệ thống hiển thị trạng thái hiện tại của thứ tự
Business rule(s) BR-KH-03: Hệ thống phải duy trì một bản ghi chính xác về tất cả các đơn đặt hàng và trạng thái của chúng
NFR-KH-03: Hệ thống phải có khả năng xử lý một số lượng lớn các yêu cầu trạng thái đặt hàng trong giờ cao điểm
Bảng 3.24 Đặc tả Use-case KH-UC03
Use Case ID KH-UC03
Use Case Name Thanh toán đơn hàng
Description Cho phép khách hàng thanh toán cho đơn hàng bằng phương thức thanh toán ưa thích
Pre-Condition(s) Khách hàng có một đơn đặt hàng hiện chưa thanh toán
Post-Condition(s) Khoản thanh toán được xử lý và tình trạng đơn hàng chuyển sang “Đã thanh toán”
4 Khách hàng chọn phương thức thanh toán
5 Khách hàng nhập thông tin thanh toán
6 Hệ thống xác minh thông tin thanh toán
7 Thanh toán được xử lý
8 Hệ thống cập nhật trạng thái đơn hàng
1 Nếu thông tin thanh toán không chính xác, hệ thống sẽ nhắc khách hàng nhập thông tin hợp lệ
2 Nếu phương thức thanh toán không được hỗ trợ, hệ thống sẽ thông báo cho khách hàng và nhắc họ chọn phương thức thanh toán khác
Exception Flow 1 Nếu thanh toán không thể được xử lý, hệ thống sẽ thông báo cho khách hàng và nhắc họ thử lại sau
2 Nếu khoản thanh toán vượt quá số dư chưa thanh toán, hệ thống sẽ thông báo cho khách hàng và nhắc họ điều chỉnh số tiền thanh toán
Business rule(s) BR-KH-04: Số tiền thanh toán phải lớn hơn hoặc bằng số dư chưa thanh toán
Non-functional rule(s) NFR-KH-04: Thời gian xử lý thanh toán phải ít hơn 30 giây
Bảng 3.25 Đặc tả Use-case KH-UC04
Use Case ID KH-UC04
Use Case Name Xem lịch sử đặt hàng
Description Cho phép khách hàng xem danh sách tất cả các đơn đặt hàng trước đó
Pre-Condition(s) Khách hàng có một tài khoản đã đăng ký và đã đặt ít nhất một đơn đặt hàng trong quá khứ
Khách hàng có thể xem danh sách tất cả các đơn đặt hàng trước với chi tiết đơn đặt hàng, trạng thái và thông tin theo dõi (nếu có)
1 Khách hàng điều hướng đến trang "Lịch sử đặt hàng"
2 Hệ thống truy vấn lịch sử đặt hàng của khách hàng
3 Hệ thống hiển thị lịch sử đơn hàng cho khách hàng
Alternative Flow 3a Nếu không có đơn đặt hàng trước đó, hệ thống thông báo cho khách hàng và nhắc họ đặt hàng
Business rule(s) BR-KH-05: Lịch sử đặt hàng nên được sắp xếp theo đơn đặt hàng gần đây nhất trước
Non-functional rule(s) NFR-KH-05: Lịch sử đặt hàng sẽ tải trong vòng 5 giây
Bảng 3.26 Đặc tả Use-case KH-UC05
Use Case ID KH-UC05
Use Case Name Hủy đơn đặt hàng
Description Cho phép người dùng hủy đơn đã đặt trước đó
Pre-Condition(s) Đơn hàng muốn hủy của người dùng vẫn còn
Post-Condition(s) Đơn đặt hàng của khách hàng bị hủy và các mặt hàng bị xóa khỏi giỏ hàng của họ
1 Khách hàng truy cập lịch sử đặt hàng của họ
2 Khách hàng chọn thứ tự họ muốn hủy
3 Hệ thống nhắc nhở khách hàng xác nhận việc hủy bỏ
4 Khách hàng xác nhận việc hủy bỏ
5 Hệ thống loại bỏ các mặt hàng khỏi giỏ hàng của khách hàng và hủy bỏ đơn đặt hàng
Khách hàng có thể thay đổi ý định và chọn không hủy đơn đặt hàng Trong trường hợp này, hệ thống đưa khách hàng trở lại lịch sử đặt hàng của họ
Exception Flow Nếu đơn đặt hàng đã được hoàn thành, hệ thống thông báo cho khách hàng rằng họ không thể hủy đơn đặt hàng
Business rule(s) Một khách hàng chỉ có thể hủy một đơn đặt hàng chưa được hoàn thành
Non-functional rule(s) Tính năng đặt hàng hủy phải hoạt động 24/7
Bảng 3.27 Đặc tả Use-case KH-UC06
Use Case ID KH-UC06
Use Case Name Quản lý giỏ hàng
Description Cho phép khách hàng thêm hoặc loại bỏ các mặt hàng khỏi giỏ hàng của họ
Pre-Condition(s) Khách hàng phải được đăng nhập và xem danh sách các sản phẩm bánh ngọt có sẵn
Post-Condition(s) Giỏ hàng của khách hàng được cập nhật với các mặt hàng đã chọn
1 Khách hàng chọn một mặt hàng để thêm vào giỏ hàng của họ
2 Hệ thống thêm mặt hàng vào giỏ hàng của khách hàng
3 Khách hàng chọn một mặt hàng trong giỏ hàng của họ để loại bỏ
4 Hệ thống loại bỏ mặt hàng khỏi giỏ hàng của khách hàng
Khách hàng có thể quyết định không thêm bất kỳ mặt hàng nào vào giỏ hàng của họ Trong trường hợp này, hệ thống đưa khách hàng về danh sách các sản phẩm bánh ngọt có sẵn
Exception Flow Nếu mặt hàng hết hàng, hệ thống thông báo cho khách hàng rằng họ không thể thêm mặt hàng vào giỏ hàng của họ
Business rule(s) Khách hàng không thể đặt hàng nhiều hơn số lượng tối đa của một mặt hàng trong kho
Non-functional rule(s) Hệ thống phải cập nhật giỏ hàng trong thời gian thực
Bảng 3.28 Đặc tả Use-case KH-UC07
Use Case ID KH-UC07
Use Case Name Đặt hàng theo yêu cầu cá nhân
Cho phép khách hàng đặt hàng theo yêu cầu cá nhân theo 2 cách: Upload hình ảnh sản phẩm đã chụp hoặc tự tay thiết kế bánh dựa trên các model 3d có sẵn trong hệ thống
Pre-Condition(s) Khách hàng phải được đăng nhập
Post-Condition(s) Đơn được đặt
1 Khách hàng chọn một trong 2 hình thức đặt gồm Upload hình ảnh hoặc tự tay thiết kế
2 Điền các thông tin cần thiết bằng cách nhập hoặc kéo thả
3 Khách hàng nhập thông tin thanh toán và vận chuyển của họ
4 Khách hàng xác nhận đơn đặt hàng và tiến hành thanh toán
5 Hệ thống xử lý đơn hàng và gửi xác nhận cho khách hàng
Exception Flow 2.a Khách hàng nhập thông tin không hợp lệ
NFR-KH-09: Hệ thống phải có khả năng xử lý một số lượng lớn các đơn đặt hàng trong giờ cao điểm
Bảng 3.29 Đặc tả Use-case ĐH-UC01
Use Case ID ĐH-UC01
Use Case Name Quản lý loại bánh
Trường hợp sử dụng này cho phép chủ doanh nghiệp/nhà điều hành các loại (danh mục) của bánh ngọt được cung cấp trên trang web Họ có thể thêm, chỉnh sửa hoặc xóa các loại bánh ngọt khi cần thiết
Actor(s) Chủ doanh nghiệp / Người điều hành (ĐH)
Pre-Condition(s) Chủ doanh nghiệp / Người điều hành phải đăng nhập
Post-Condition(s) Những thay đổi được thực hiện đối với các loại bánh ngọt
(danh mục) được lưu trong hệ thống
1 Chủ sở hữu / nhà điều hành doanh nghiệp điều hướng đến trang quản lý loại bánh ngọt
2 Họ chọn tùy chọn để thêm, chỉnh sửa hoặc xóa loại bánh ngọt
3 Họ thực hiện các thay đổi cần thiết và lưu chúng
Nếu chủ doanh nghiệp/nhà khai thác gặp phải lỗi hoặc vấn đề trong quá trình, các thông báo lỗi phù hợp được hiển thị để hướng dẫn họ sửa chữa vấn đề
Bảng 3.30 Đặc tả Use-case ĐH-UC02
Use Case ID ĐH-UC02
Use Case Name Quản lý kho bánh
Trường hợp sử dụng này cho phép chủ doanh nghiệp/nhà điều hành quản lý việc lưu trữ bánh ngọt được cung cấp trên trang web Họ có thể thêm, chỉnh sửa hoặc xóa các sản phẩm bánh ngọt khi cần thiết
Actor(s) Chủ doanh nghiệp/Người điều hành (ĐH)
Pre-Condition(s) Chủ doanh nghiệp/nhà điều hành phải được đăng nhập
Post-Condition(s) Những thay đổi được thực hiện đối với lưu trữ bánh ngọt
(sản phẩm) được lưu trong hệ thống
1 Chủ sở hữu/nhà khai thác doanh nghiệp điều hướng đến trang quản lý lưu trữ bánh ngọt
2 Họ chọn tùy chọn để thêm, chỉnh sửa hoặc xóa một sản phẩm bánh ngọt
3 Họ thực hiện các thay đổi cần thiết và lưu chúng
3a Nếu hệ thống không nhận ra thông tin đăng nhập của người dùng, thông báo lỗi sẽ được hiển thị và người dùng được nhắc nhập thông tin đăng nhập của họ
Thiết kế cơ sở dữ liệu
3.3.1 Sơ đồ lớp ở mức phân tích
Hình 3.6 Sơ đồ lớp ở mức phân tích
3.3.1.2 Danh sách các lớp đối tượng và quan hệ
Bảng 3.40 Danh sách các lớp đối tượng và quan hệ
STT Tên lớp/quan hệ Loại Ý nghĩa Đặt lại tên
27 USER_NGUOI Quan hệ Quan hệ kế thừa
28 NHANVIEN_NGUOI Quan hệ Quan hệ kế thừa
29 QUANLY_NGUOI Quan hệ Quan hệ kế thừa
30 GIAMDOC_NGUOI Quan hệ Quan hệ kế thừa
35 SANPHAMDAT Lớp booking_it ems
40 TRAODOI_XUATLO Quan hệ Quan hệ kế thừa
41 TRAODOI_NHAPLO Quan hệ Quan hệ kế thừa
3.3.1.3 Mô tả từng lớp đối tượng và quan hệ
Bảng 3.41 Đối tượng LOAISANPHAM (productType)
STT Tên thuộc tính Kiểu Ý nghĩa/ghi chú
1 id string Mã loại sản phẩm
2 name string Tên loại sản phẩm
3 description string Mô tả loại sản phẩm
4 image string Link hình ảnh loại sản phẩm
5 isActive boolean Trạng thái loại sản phẩm
Bảng 3.42 Đối tượng SANPHAM (product)
STT Tên thuộc tính Kiểu Ý nghĩa/ghi chú
1 id string Mã sản phẩm
2 name string Tên sản phẩm
3 description string Mô tả sản phẩm
4 ingredients string Nguyên vật liệu cố định của sản phẩm
5 variants {id, material, size, price, isActive} object Một biến thể của bánh bao gồm: Mã, vật liệu không cố định, kích thước, giá, trạng thái
6 colors array Mảng các màu của sản phẩm
7 howToUse string Cách sử dụng sản phẩm
8 preservation string Cách bảo quản sản phẩm
9 images array Mảng các link hình ảnh sản phẩm
10 isActive string Trạng thái sản phẩm
11 productType_id string Mã loại sản phẩm
Bảng 3.43 Đối tượng LOBANH (batch)
STT Tên thuộc tính Kiểu Ý nghĩa/ghi chú
1 id string Mã lô bánh
2 totalQuantity number Tổng số bánh trong lô
3 soldQuantity number Số bánh đã bán trong lô
4 MFG string Ngày sản xuất lô
5 EXP string Ngày lô hết hạn
6 discount {time, percent} object Đối tượng chứa khoản thời gian bao lâu cho đến lúc bánh hết hạn thì cần được giảm giá
7 variant_id string Mã biến thể của sản phẩm
8 product_id string Mã sản phẩm
Bảng 3.44 Đối tượng KHUYENMAI (sale)
STT Tên thuộc tính Kiểu Ý nghĩa/ghi chú
1 id string Mã khuyến mãi
2 name string Tên khuyến mãi
3 code string Mã code khuyến mãi
4 percent number Phần trăm khuyến mãi
5 maxSalePrice number Giảm tối đa của khuyến mãi
6 description string Mô tả khuyến mãi
7 start_at string Thời gian bắt đầu khuyến mãi
8 end_at string Thời gian kết thúc khuyến mãi
9 image string Hình ảnh khuyến mãi
10 isActive boolean Trạng thái khuyến mãi
Bảng 3.45 Đối tượng PHANHOI (feedback)
STT Tên thuộc tính Kiểu Ý nghĩa/ghi chú
1 id string Mã phản hồi
2 rating number Đánh giá của phản hồi
3 comment string Bình luận của phản hồi
4 time string Thời gian phản hồi
5 product_id string Mã sản phẩm
6 user_id string Mã USER
Bảng 3.46 Đối tượng GIOHANG (cart)
STT Tên thuộc tính Kiểu Ý nghĩa/ghi chú
1 id string Mã giỏ hàng
2 products array Mảng các sản phẩm thêm vào giỏ hàng
3 note sring Ghi chú giỏ hàng
4 user_id string Mã USER
Bảng 3.47 Đối tượng HOADON (bill)
STT Tên thuộc tính Kiểu Ý nghĩa/ghi chú
1 id string Mã hóa đơn
2 originalPrice number Giá gốc của hóa đơn
3 saleAmount number Số tiền giảm giá
5 noteCart string Ghi chú hóa đơn
6 state number Trạng thái hóa đơn
7 created_at string Thời gian tạo hóa đơn
8 paid_at string Thời gian trả tiền hóa đơn
9 payment_id string Mã phương thức thanh toán
10 sale_id string Mã khuyến mãi
11 user_id string Mã USER
STT Tên thuộc tính Kiểu Ý nghĩa/ghi chú
1 id string Mã khách hàng
STT Tên thuộc tính Kiểu Ý nghĩa/ghi chú
1 id string Mã giao hàng
2 name string Tên người nhận hàng
3 tel string Số điện thoại người nhận hàng
4 email string Email người nhận hàng
5 address string Địa chỉ người nhận hàng
6 note string Ghi chú cho shipper
7 date string Ngày muốn giao hàng
8 time string Thời gian muốn giao hàng
9 startAt string Thời gian bắt đầu giao hàng
10 endAt string Thời gian kết thúc giao hàng
11 state number Trạng thái giao hàng
12 cancelReason string Lý do giao hàng không thành công
13 bill_id string Mã hóa đơn
14 staff_id string Mã nhân viên
Bảng 3.50 Đối tượng PHUONGTHUCTHANHTOAN (payment)
STT Tên thuộc tính Kiểu Ý nghĩa/ghi chú
1 id string Mã phương thức thanh toán
2 name string Tên phương thức thanh toán
3 isActive boolean Trạng thái phương thức thanh toán
STT Tên thuộc tính Kiểu Ý nghĩa/ghi chú
STT Tên thuộc tính Kiểu Ý nghĩa/ghi chú
2 mail string Địa chỉ mail của USER
3 password string Mật khẩu USER
5 tel string Số điện thoại USER
6 image string Link hình ảnh đại diện USER
7 isActive boolean Trạng thái USER
Bảng 3.53 Đối tượng NHANVIEN (staff)
STT Tên thuộc tính Kiểu Ý nghĩa/ghi chú
1 id string Mã nhân viên
2 user_id string Mã USER
STT Tên thuộc tính Kiểu Ý nghĩa/ghi chú
1 id string Mã quản lý
2 user_id string Mã USER
STT Tên thuộc tính Kiểu Ý nghĩa/ghi chú
1 id string Mã giam đốc
2 user_id string Mã USER
Bảng 3.56 Quan hệ LOAISANPHAM_SANPHAM
STT Tên thuộc tính Kiểu Ràng buộc
1 productType_id string Một loại sản phẩm có nhiều sản phẩm
2 product_id string Một sản phẩm chỉ thuộc một loại sản phẩm
Bảng 3.57 Quan hệ LOBANH_SANPHAM
STT Tên thuộc tính Kiểu Ràng buộc
1 batch_id string Một lô bánh chỉ thuộc một sản phẩm
2 product_id string Một sản phẩm có nhiều lô bánh
Bảng 3.58 Quan hệ PHANHOI_SANPHAM
STT Tên thuộc tính Kiểu Ràng buộc
1 feedback_id string Một phản hồi chỉ thuộc một sản phẩm
2 product_id string Một sản phẩm có nhiều phản hồi
Bảng 3.59 Quan hệ LOBANH_HOADON
STT Tên thuộc tính Kiểu Ràng buộc
1 batch_id string Một lô bánh được mua ở nhiều hóa đơn
2 bill_id string Một hóa đơn có thể mua nhiều lô bánh
Bảng 3.60 Quan hệ GIAOHANG_HOADON
STT Tên thuộc tính Kiểu Ràng buộc
1 delivery_id string Một lần giao hàng tương ứng cho một hóa đơn
2 bill_id string Một hóa đơn chỉ được giao một lần
Bảng 3.61 Quan hệ KHUYENMAI_HOADON
STT Tên thuộc tính Kiểu Ràng buộc
1 sale_id string Một khuyến mãi được sử dụng ở nhiều hóa đơn
2 bill_id string Một hóa đơn chỉ được sử dụng một khuyến mãi
Bảng 3.62 Quan hệ PHUONGTHUCTHANHTOAN_HOADON
STT Tên thuộc tính Kiểu Ràng buộc
1 payment_id string Một phương thức thanh toán được sử dụng ở nhiều hóa đơn
2 bill_id string Một hóa đơn chỉ được sử dụng một phương thức thanh toán
Bảng 3.63 Quan hệ KHACHHANG_HOADON
STT Tên thuộc tính Kiểu Ràng buộc
1 user_id string Một khách hàng mua nhiều hóa đơn
2 bill_id string Một hóa đơn chỉ được mua bởi một khách hàng
Bảng 3.64 Quan hệ KHACHHANG_PHANHOI
STT Tên thuộc tính Kiểu Ràng buộc
1 user_id string Một khách hàng có nhiều phản hồi
2 feedback_id string Một phản hồi chỉ thuộc một khách hàng
Bảng 3.65 Quan hệ KHACHHANG_GIOHANG
STT Tên thuộc tính Kiểu Ràng buộc
1 user_id string Một khách hàng có một giỏ hàng
2 cart_id string Một giỏ hàng thuộc một khách hàng
STT Tên thuộc tính Kiểu Ràng buộc
1 id string Mã chi nhánh
3 name string Tên chi nhánh
4 manager_id string Mã quản lý
5 active Boolean Trạng thái đối tượng chi nhánh
STT Tên thuộc tính Kiểu Ràng buộc
1 branch_id string Khóa chính trao đổi
2 imports array Mảng các yêu cầu nhập bánh
3 exports array Mảng các xuất bánh
STT Tên thuộc tính Kiểu Ràng buộc
1 id string Mã xuất lô bánh
2 variant LOBANH Chứa nội dun lô bánh được xuất
3 quantity number Số lượng bánh
4 state string Trạng thái đối tượng XUATLO
5 branch_id string Mã chi nhánh
6 staff_id string Mã người dùng
STT Tên thuộc tính Kiểu Ràng buộc
1 id string Mã yêu cầu nhập bánh
2 variant LOBANH Chứa nội dung lô bánh muốn nhập
3 quantity number Số lượng bánh
4 state string Trạng thái đối tượng NHAPLO
5 branch_id string Mã chi nhánh
6 staff_id string Mã người dùng
STT Tên thuộc tính Kiểu Ràng buộc
1 id string Mã sản phẩm đặt
2 images string[] Mảng các hình ảnh
STT Tên thuộc tính Kiểu Ràng buộc
1 uid string Mã người dùng
2 product_type array Mảng các loại sản phẩm
3 prices object Đối tượng chứa giá min và max của sản phẩm người dùng đã mua
4 colors array Mảng các màu sắc
5 sizes array Mảng các kích cỡ
STT Tên thuộc tính Kiểu Ràng buộc
1 id string Mã đoạn chat
2 chat_with array Mảng các đối tượng đoạn chat giữa 2 người dùng
Bảng 3.73 Quan hệ CHINHANH_HOADON
STT Tên thuộc tính Kiểu Ràng buộc
1 branch_id string Mỗi chi nhánh có nhiều hóa đơn
2 bill_id string Mỗi hóa đơn thuộc một chi nhánh
Bảng 3.74 Quan hệ CHINHANH_TRAODOI
STT Tên thuộc tính Kiểu Ràng buộc
1 branch_id string Mỗi chi nhánh có nhiều đợt trao đổi
2 exchange_id string Mỗi đợt trao đổi thuộc một chi nhánh
Bảng 3.75 Quan hệ SANPHAMDAT_HOADON
STT Tên thuộc tính Kiểu Ràng buộc
1 booking_id string Mỗi sản phẩm đặt thuộc một hóa đơn
2 bill_id string Mỗi hóa đơn có nhiều sản phẩm đặt
Bảng 3.76 Quan hệ KHAOSAT_KHACHHANG
STT Tên thuộc tính Kiểu Ràng buộc
1 reference_id string Mỗi khảo sát thuộc một khách hàng
2 customer_id string Mỗi khách hàng có một khách hàng
Bảng 3.77 Quan hệ USER_USERCHAT
STT Tên thuộc tính Kiểu Ràng buộc
1 user_id string Mỗi người dùng có nhiều đoạn chat
2 userchat_id string Mỗi đoạn chat thuộc về hai người dùng
3.3.2 Thiết kế dữ liệu lưu trữ
Hình 3.7 Sơ đồ cơ sở dữ liệu hoàn chỉnh
XÂY DỰNG WEBSITE
Sơ đồ màn hình
Hình 4.1 Sơ đồ màn hình
Danh sách các màn hình
Bảng 4.1 Danh sách các màn hình
STT Tên màn hình Mô tả
1 Trang chủ Màn hình trang chủ của tiệm bánh
2 Sản phẩm Màn hình tất cả sản phẩm của tiệm bánh
3 Đặt bánh Màn hình tùy chỉnh bánh theo yêu cầu của khách hàng
4 Chi tiết sản phẩm Màn hình chi tiết của một sản phẩm
5 Giỏ hàng Màn hình giỏ hàng
6 Điền thông tin giao hàng
Màn hình điền thông tin giao hàng
Màn hình chọn phương thức thanh toán
8 Thông tin tài khoản Màn hình thông tin tài khoản của khách hàng
9 Quản lý loại sản phẩm Màn hình quản lý loại sản phẩm
10 Quản lý sản phẩm Màn hình quản lý sản phẩm
11 Quản lý lô hàng Màn hình quản lý lô hàng
12 Quản lý đơn hàng Màn hình quản lý đơn hàng
13 Quản lý giao hàng Màn hình quản lý giao hàng
14 Quản lý khách hàng Màn hình quản lý khách hàng
15 Quản lý khuyến mãi Màn hình quản lý khuyến mãi
16 Quản lý báo cáo Màn hình quản lý báo cáo
17 Quản lý liên hệ Màn hình quản lý liên hệ
18 Quản lý Feedback Màn hình quản lý Feedback
19 Quản lý chi nhánh Màn hình quản lý chi nhánh
20 Quản lý phân quyền nhóm người dùng Màn hình quản lý phân quyền nhóm người dùng
21 Quản lý phân quyền quyền người dùng Màn hình quản lý phân quyền các quyền của người dùng
22 Màn hình tham gia khảo sát Màn hình cho phép người dùng tham gia khảo sát
Hình 4.2 Màn hình Trang chủ
Trang chủ giúp khách hàng có cái nhìn tổng quát về tiệm bánh với các loại bánh hiện có mà tiệm bánh cung cấp, các sản phẩm đang bán chạy cũng như đăng ký nhận thông báo mới từ tiệm bánh Màn hình Trang chủ là bộ mặt của tiệm bánh, là thứ sẽ thu hút và giữ chân khách hàng trở lại các lần tiếp theo
Hình 4.3 Live chat box ở trang chủ
Tồn tại khung live chat ở góc phải dưới nhằm hỗ trợ người dùng liên hệ với quản lý cửa hàng
Hình 4.4 Màn hình Sản phẩm
Màn hình Sản phẩm giúp khách hàng xem những sản phẩm hiện có của tiệm bánh Màn hình cũng cung cấp các bộ lọc linh hoạt để tìm kiếm sản phẩm
Hình 4.5 Màn hình Đặt bánh theo hướng upload hình ảnh
Màn hình đặt bánh hỗ trợ khách hàng đặt bánh theo yêu cầu Bao gồm 2 cách đặt upload hình ảnh từ máy tính hoặc hình ảnh theo cách tùy chỉnh trang trí
Hình 4.6 Màn hình Đặt bánh theo hướng tùy chỉnh trang trí
Màn hình giúp người dùng tùy chỉnh bánh theo ý muốn của mình với đa dạng lớp phủ, thông số linh hoạt
4.2.4 Màn hình Chi tiết sản phẩm
Hình 4.7 Màn hình Chi tiết sản phẩm
Màn hình chi tiết giúp khách hàng xem chi tiết sản phẩm, tùy chọn mua hàng cũng như để lại bình luận và đánh giá
Hình 4.8 Màn hình Giỏ hàng
Màn hình giỏ hàng lưu các sản phẩm, số lượng, tổng tiền mà người dùng đã cho vào giỏ Từ đây, khách hàng có thể chọn “Thanh toán” để tiến hành thanh toán hoặc “Tiếp tục mua hàng” để thêm các sản phẩm khác vào giỏ hàng
4.2.5 Màn hình Điền thông tin giao hàng
Hình 4.9 Màn hình Điền thông tin giao hàng
Màn hình giúp khách hàng điền thông tin giao hàng trước khi thanh toán Khách hàng tại đây kiểm trả lại đơn hàng sắp mua, tích thêm các mã khuyến mãi nếu muốn Khi khách hàng đã hài lòng về đơn hàng, họ có thể nhấn “Phương thức thanh toán” để chọn phương thức thanh toán
4.2.6 Màn hình Phương thức thanh toán
Hình 4.10 Màn hình Phương thức thanh toán
Tại màn hình “Phương thức Thanh toán”, người dùng có thể lựa chọn thanh toán với VNPay hoặc thanh toán trực tiếp khi nhận hàng
4.2.7 Màn hình Thông tin tài khoản
Hình 4.11 Màn hình Thông tin tài khoản
Màn hình Thông tin tài khoản cho phép khách hàng xem thông tin tài khoản của mình như họ tên, ngày sinh, … Khách hàng có thể cập nhật thông tin, ảnh đại điện, đổi mật khẩu (đối với khách hàng không đăng nhập qua google) và xem danh sách các đơn hàng đã đặt của mình
Hình 4.12 Màn hình lịch sử mua hàng
4.2.8 Màn hình Quản lý loại sản phẩm
Hình 4.13 Màn hình Quản lý loại sản phẩm
Màn hình “Quản lý loại sản phẩm” thuộc chức năng”Quản lý kho hàng” giúp nhân viên phụ trách quản lý các loại sản phẩm bánh tồn tại trong tiệm bánh Nhân viên có thể xem danh sách loại sản phẩm, chỉnh sửa, thêm loại mới hoặc xóa các loại sản phẩm không còn mong muốn khỏi tiệm bánh
4.2.9 Màn hình Quản lý sản phẩm
Hình 4.14 Màn hình Quản lý sản phẩm
Màn hình “Quản lý loại sản phẩm” thuộc chức năng”Quản lý kho hàng” giúp nhân viên phụ trách quản lý các sản phẩm bánh tồn tại trong tiệm bánh Nhân viên có thể xem danh sách sản phẩm, chỉnh sửa, thêm hoặc xóa các sản phẩm
4.2.10 Màn hình Quản lý lô hàng
Hình 4.15 Màn hình Quản lý lô hàng
Màn hình “Quản lý lô hàng” thuộc chức năng”Quản lý kho hàng” giúp nhân viên phụ trách quản lý các lô bánh trong tiệm bánh Nhân viên có thể xem danh sách lô hàng, chỉnh sửa, thêm hoặc xóa lô hàng
4.2.11 Màn hình Quản lý đơn hàng
Hình 4.16 Màn hình Quản lý đơn hàng
Màn hình Quản lý đơn hàng cho phép nhân viên xem danh sách các đơn hàng hiện có Nhân viên có thể xem chi tiết đơn hàng, thay đổi trạng thái đơn hàng hoặc hủy đơn hàng nếu cần
4.2.12 Màn hình Quản lý giao hàng
Hình 4.17 Màn hình Quản lý giao hàng
Màn hình Quản lý giao hàng cho phép nhân viên xem danh sách các đơn giao hiện có Nhân viên có thể xem chi tiết đơn giao, thay đổi trạng thái đơn giao hoặc hủy đơn giao nếu cần
4.2.13 Màn hình Quản lý khách hàng
Hình 4.18 Màn hình Quản lý khách hàng
Màn hình Quản lý khách hàng cho phép nhân viên xem danh sách khách hàng hiện có trong hệ thống Nhân viên có thể xem chi tiết các thông tin liên quan tới khách hàng đó hoặc vô hiệu hóa khách hàng nếu cần
4.2.14 Màn hình Quản lý khuyến mãi
Hình 4.19 Màn hình Quản lý khuyến mãi
Màn hình Quản lý khuyến mãi cho phép nhân viên xem danh sách các khuyến mãi Nhân viên có thể xem chi tiết, cập nhật các khuyến mãi, thêm mới hoặc hủy các khuyến mãi nếu cần
4.2.15 Màn hình Quản lý báo cáo
Hình 4.20 Màn hình Quản lý báo cáo
Màn hình Quản lý báo cáo cho phép nhân viên xem báo cáo doanh thu cũng như tình hình bán bánh của trên website Màn hình cho phép xem tổng doanh thu, lô bánh đã bán và lô bánh làm ra trong khoảng thời gian đã chọn Doanh thu có thể được thống kế theo năm, theo tháng và chi tiết theo ngày
Hình 4.21 Màn hình xem chi tiết tổng doanh thu theo mốc thời gian
Màn hình xem chi tiết tổng doanh thu bao gồm các biểu đồ phản ánh tình trạng doanh thu theo mốc thời gian đã chọn
Hình 4.22 Màn hình xem chi tiết lô bánh đã bán theo mốc thời gian
Hình 4.23 Màn hình xem chi tiết lô bánh đã làm ra theo mốc thời gian
4.2.16 Màn hình Quản lý nhập xuất giữa các chí nhánh
Hình 4.24 Màn hình yêu cầu nhập hàng của một chi nhánh
Màn hình yêu cầu nhập hàng của một chi nhánh cho phép người quản lý chi nhánh phát ra một yêu cầu nhập bánh vào kho chi nhánh của mình
Hình 4.25 Màn hình lịch sử xuất bánh của chi nhánh đến các chi nhánh khác
Hình 4.26 Màn hình nhận các yêu cầu nhập lô bánh