TỔNG QUAN
Lý do chọn đề tài
1.1.1 Tại sao lại chọn đối tượng hướng tới là các doanh nghiệp kinh doanh theo mô hình quán cà phê?
Hiện nay, mọi doanh nghiệp, từ lớn đến nhỏ, đều cần thiết kế trang web hoặc phần mềm để quản lý sản phẩm của mình Đặc biệt, nhóm chúng tôi hướng đến các cửa hàng cà phê, nơi trở thành điểm đến phổ biến cho việc giao lưu, học tập và làm việc Nhu cầu quản lý trong ngành cà phê ngày càng tăng, với các doanh nghiệp lớn như The Coffee House đầu tư mạnh vào việc phát triển ứng dụng để nâng cao trải nghiệm khách hàng Tuy nhiên, các doanh nghiệp nhỏ gặp khó khăn về tài chính và chưa nhận thấy giá trị kinh tế mà cửa hàng mang lại, dẫn đến rủi ro cao, nhất là trong bối cảnh dịch Covid-19 khiến nhiều quán cà phê phá sản do không đủ khả năng chi trả Do đó, việc tiết kiệm chi phí và tìm kiếm giải pháp quản lý hiệu quả là điều cần thiết cho các chủ doanh nghiệp nhỏ.
Các cửa hàng cà phê nhỏ lẻ chỉ cần một hệ thống đơn giản để quản lý lưu trữ và bán hàng mà không cần phải đầu tư vào một trang web phức tạp Nhóm chúng tôi cung cấp một ứng dụng web giúp các doanh nghiệp này quản lý thông tin, giao dịch và chăm sóc khách hàng thông qua nhiều công cụ và phương thức tương tác khác nhau.
1.1.2 Sơ lược về hỗ trợ chăm sóc khách hàng
Chăm sóc khách hàng là hành động giữ chân khách hàng của doanh nghiệp thông qua việc cung cấp dịch vụ trước và sau khi mua hàng, nhằm thỏa mãn và đáp ứng nhu cầu của họ Để phát triển doanh nghiệp, việc mang đến dịch vụ chăm sóc khách hàng xuất sắc là điều cần thiết.
Đối với các cửa hàng nhỏ và mới, việc gia tăng doanh thu và lợi nhuận hiệu quả nhất là kết hợp giữa việc giữ chân khách hàng hiện tại và tìm kiếm khách hàng mới.
Chăm sóc khách hàng hiện nay thường bao gồm việc tiếp nhận phản hồi từ khách hàng về dịch vụ, liên lạc qua email, SMS, điện thoại, hoặc gửi thư tay Ngoài ra, doanh nghiệp cũng sử dụng mạng xã hội để thông báo về các sự kiện hấp dẫn và thông tin mà khách hàng sẽ quan tâm.
Website của chúng tôi hỗ trợ các doanh nghiệp cà phê nâng cao khả năng chăm sóc khách hàng một cách hiệu quả Chúng tôi cung cấp các công cụ liên hệ qua email, khả năng tạo ưu đãi và khuyến mãi, cùng với việc thiết lập trang thông tin và địa chỉ để khách hàng mới dễ dàng tiếp cận.
Mục tiêu đề tài
Explore ASP.NET Core and Angular technology for developing modern web applications This approach utilizes a backend built on RESTful APIs, while the frontend is designed as a Single Page Application (SPA).
Xây dựng công cụ hỗ trợ quản lý cho các cửa hàng quán cafe giúp chủ cửa hàng dễ dàng quản lý bán hàng và lưu trữ dữ liệu Công cụ này cho phép thực hiện các tác vụ chăm sóc khách hàng hiệu quả, bao gồm việc tạo sự kiện giảm giá, tích điểm và đổi thưởng Ngoài ra, nó còn hỗ trợ liên lạc với khách hàng để chúc mừng sinh nhật, lễ tết và thông báo các sự kiện quan trọng, đồng thời cung cấp trang thông tin để tiếp cận khách hàng một cách hiệu quả.
- Trình bày báo cáo khoa học và hợp lý với nội dung trong đề tài khoá luận tốt nghiệp.
Bố cục của báo cáo
- Chương 2: Cơ sở lý thuyết
- Chương 3: Phân tích và thiết kế hệ thống
- Chương 4: Kết quả so sánh, thực nghiệm, phân tích
- Chương 5: ết luận và hướng phát triển
CƠ SỞ LÝ THUYẾT
Công nghệ sử dụng
ASP.NET Core là nền tảng mã nguồn mở mới nhất của Microsoft, được cộng đồng NET Developer đón nhận nồng nhiệt Nền tảng này hứa hẹn sẽ phát triển thế hệ website tiếp theo và đưa NET vào thế giới mã nguồn mở Với tính linh hoạt, khả năng đa nền tảng và các tính năng mạnh mẽ, ASP.NET Core là lựa chọn lý tưởng cho các nhà phát triển NET.
ASP.NET Core là một framework mã nguồn mở đa nền tảng, lý tưởng cho việc phát triển các ứng dụng hiện đại dựa trên công nghệ đám mây, bao gồm ứng dụng web, IoT và backend cho di động Với khả năng hỗ trợ hầu hết các hệ điều hành như Windows, Linux và macOS, ASP.NET Core mang đến sự linh hoạt cho các nhà phát triển trong việc xây dựng và triển khai ứng dụng.
ASP.NET Core là một ứng dụng có khả năng chạy trên phiên bản đầy đủ của NET Framework, được thiết kế nhằm tối ưu hóa khung phát triển cho các ứng dụng triển khai trên đám mây hoặc chạy trên hệ thống tại chỗ Ngôn ngữ chính sử dụng trong ASP.NET Core là C#.
Angular CLI là công cụ dòng lệnh giúp tạo và quản lý dự án Angular một cách hiệu quả Nó hỗ trợ thực hiện các tác vụ như kiểm thử, đóng gói và triển khai dự án nhanh chóng.
Khi phát triển ứng dụng web với Angular, điều quan trọng là nó cung cấp một kiến trúc rõ ràng cho mô hình VC Hơn nữa, việc sử dụng Typescript, một ngôn ngữ lập trình hiện đại, mang lại nhiều lợi ích đáng giá cho quá trình phát triển.
Javascript kết hợp với Angular và Typescript tạo ra một công cụ mạnh mẽ giúp khắc phục những hạn chế của JS, như kiểm tra kiểu dữ liệu và an toàn hơn trong việc refactor code Điều này không chỉ hỗ trợ tốt hơn cho việc debug mà còn giúp các lập trình viên hiểu rõ hơn về mã nguồn của họ.
SQL Server is a Relational Database Management System (RDBMS) that utilizes SQL (Transact-SQL) commands to facilitate data exchange between client machines and the SQL Server installation An RDBMS comprises databases, a database engine, and applications designed to manage data and various components within the RDBMS.
SQL Server is optimized to operate in very large database environments, capable of handling data up to terabytes and supporting thousands of users simultaneously It integrates seamlessly with other servers, such as Microsoft Internet Information Server (IIS), E-Commerce Server, and Proxy Server.
Để phát triển ứng dụng web bằng Angular, ngoài việc làm quen với ba công nghệ cơ bản, bạn cần tìm hiểu nhiều tài liệu về các module khác nhau như zxing scanner module cho chức năng quét mã giảm giá, ckeditor để tạo trang thông tin, và datatable để hiển thị dữ liệu Điều này cho thấy một ưu điểm lớn của Angular là cung cấp nhiều thư viện sẵn có, giúp việc tích hợp trở nên dễ dàng hơn.
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
Phân tích hệ thống
3.1.1 Chức năng Đây là một website cung cấp dịch vụ giúp người sử dụng quản lí hầu hết tất cả thông tin cơ bản về cửa hàng bán coffee của mình, hỗ trợ cho nhân viên trong việc thực hiện order nước tại quầy và hỗ trợ những phương thức khác nhau giúp cho các chủ cửa hàng co thể giao tiép với khách hàng của họ Bao gồm các chức năng cụ thể sau:
Người quản trị có chức năng đăng nhập vào trang quản lý hệ thống, cho phép họ xem thông tin của các cửa hàng Họ có quyền kích hoạt hoặc vô hiệu hóa tài khoản cửa hàng, cũng như gia hạn và nâng cấp tài khoản khi cần thiết.
Chủ cửa hàng có thể thực hiện nhiều chức năng quan trọng như đăng ký tài khoản theo gói, yêu cầu nâng cấp hoặc gia hạn tài khoản, và quản lý đăng nhập vào trang quản lý Họ có khả năng thêm, xóa, sửa thông tin về nhân viên, sản phẩm, khách hàng và các sự kiện diễn ra Ngoài ra, chủ cửa hàng còn có thể thiết lập hệ thống tích lũy điểm cho khách hàng, tổ chức sự kiện, chỉnh sửa thông tin hiển thị trên trang chủ, và liên hệ với khách hàng qua Gmail, đồng thời quản lý doanh thu và hóa đơn của cửa hàng.
- Chức năng của nhân viên bán hàng:
Trang bán hàng cung cấp chức năng đăng nhập và đăng xuất, cho phép người dùng dễ dàng quản lý tài khoản của mình Người dùng có thể xem danh sách sản phẩm được phân loại theo danh mục, tạo tài khoản thành viên để nhận thêm ưu đãi Hệ thống hỗ trợ xử lý hóa đơn bằng cách thêm sản phẩm, áp dụng mã giảm giá, tích điểm vào tài khoản thành viên, ghi chú và thanh toán bằng điểm hoặc tiền mặt Ngoài ra, khách hàng có thể lọc sản phẩm theo tên để tìm kiếm nhanh chóng và hiệu quả.
Người dùng trang web có thể tìm kiếm cửa hàng theo tên và xem thông tin chi tiết về cửa hàng, bao gồm các sự kiện hiện có cũng như trang thông tin liên quan.
Dịch vụ trang web cho các chủ cửa hàng bao gồm hai phần chính: trang quản lý dành cho chủ cửa hàng và trang bán hàng dành cho nhân viên.
Để truy cập vào trang quản lý, các chủ cửa hàng cần đăng ký thông tin cửa hàng của mình Sau khi hoàn tất đăng ký, họ có thể đăng nhập vào trang quản lý bằng email và mật khẩu đã cung cấp.
Người chủ cửa hàng cần đăng ký thông tin tài khoản và mật khẩu cho nhân viên trên trang quản lý, giúp họ đăng nhập vào hệ thống bán hàng Để nâng cao dịch vụ chăm sóc khách hàng, chủ cửa hàng nên thiết lập chương trình tích điểm, cung cấp các phương thức liên hệ với khách hàng, và tổ chức sự kiện để quảng bá thương hiệu, đồng thời hiển thị thông tin sự kiện đến khách hàng nhằm thu hút thêm khách hàng mới.
Trang bán hàng cần tích hợp chức năng tìm kiếm nhanh và lọc trực tiếp các sản phẩm khi nhân viên nhập từ khóa vào thanh tìm kiếm Điều này giúp nhân viên thực hiện công việc hiệu quả hơn và dễ dàng tìm kiếm bất kỳ mặt hàng nào, bất kể số lượng sản phẩm trong cửa hàng là lớn hay nhỏ.
8 phương thức chăm sóc khách hàng như là áp dụng mã giảm giá hay tích điểm cho khách hàng.
Thiết kế hệ thống
3.2.1 Danh sách các tác nhân (actor) và chức năng (usecase) của phần mềm
Người quản lí (admin) - Chức năng đăng nhập vào trang quản lý hệ thống
- Quản tài khoản của các chủ cửa hàng (Xem thông tin/Kích hoạt/ Vô hiệu hoá/ Gia hạn/Nâng cấp)
Chủ cửa hàng - Chức năng đăng ký tài khoản cửa hàng
- Chức năng đăng nhập vào trang quản lý cửa hàng
- Quản lý nhân viên (Thêm/ Xóa/ Sửa)
- Quản lý danh mục sản phẩm và sản phẩm (Thêm/ Xóa/ Sửa)
- Xem hoá đơn , doanh thu
- Xem thông tin về khách hàng thành viên
- Quản lý sự kiện đang diễn ra (Xem/Ngưng sự kiện)
- Xem sự kiện đã diễn ra
- Thiết lập hệ thống quy đổi và sử dụng điểm tích luỹ cho khách hàng
- Thiết lập sự kiện của cửa hàng
- Chỉnh sửa trang thông tin hiển thị tại
9 trang chủ của cửa hàng
- Liên hệ với khách hàng qua Gmail và tự quản lý biểu mẫu Gmail để sử dụng cho các dịp đặc biệt
Nhân viên - Chức năng đăng nhập vào trang bán hàng
- Tạo tài khoản thành viên cho khách hàng
Để xử lý hóa đơn, bạn cần chọn món ăn và số lượng, áp dụng các sự kiện hoặc mã khuyến mãi cùng mã khách hàng nếu có Ngoài ra, bạn cũng có thể ghi chú và thanh toán hóa đơn bằng điểm thưởng hoặc tiền mặt.
Bảng 3.1 Bảng danh sách các tác nhân và chức năng của phần mềm
3.2.2 Sơ đồ phân rã chức năng
Hình 3.1 Sơ đồ phân rã chức năng
3.2.3 Thiết kế cơ sở dữ liệu
3.2.3.1 Lược đồ cơ sở dữ liệu
3.2.3.2 Chi tiết các thực thể
Admin: Bảng lưu trữ thông tin của người quản trị trang web
Thuộc tính Giải thích Thuộc tính Độ dài
Fullname Họ tên đầy đủ của người quản trị
Saltvalue à key để mã hoá mật khẩu
Bảng 3.2 Chi tiết bảng Admin
Categories: Bảng lưu trữ thông tin danh mục sản phẩm trong cửa hàng
Thuộc tính Giải thích Thuộc tính Độ dài id Mã danh mục Int
Ten Tên danh mục Nvarchar 100
Storeid Mã cửa hàng trực thuộc
Bảng 3.3 Chi tiết bảng Categories
Products: Bảng lưu trữ thông tin các sản phẩm trong cửa hàng
Thuộc tính Giải thích Thuộc tính Độ dài id Mã sản phẩm Int
Ten Tên sản phẩm Nvarchar 50
Dongia Gía hiện đang bán ra của sản phẩm
Storeid Mã cửa hàng trực thuộc
Cateid Mã danh mục trực thuộc
Giagoc Giá gốc của sản phẩm
Bảng 3.4 Chi tiết bảng Products
Settings: Bảng lưu trữ thông tin các thuộc tính được thiết lập ở hệ thống cài đặt của cửa hàng
Thuộc tính Giải thích Thuộc tính Độ dài id Mã của thiết lập tương ứng
Tichdiem Thuộc tính xem việc tích điểm có được cài đặt hay chưa
Vnd ưu giá trị tiền tệ sử dụng để được quy đổi thành 1 điểm
Repoint Số điểm được quy đổi lại thành giá trị tiền tệ
Revnd Số tiền được quy đổi ra ứng với số điểm của thuộc tính Repoint
Salebill Thuộc tính quyết định xem hoá đơn giảm giá có được tích điểm hay không
Paybypoint Xác định hoá đơn trả bằng điểm có được giảm giá hay không
Voucherbill Xác định hoá đơn sử Varchar 10
15 dụng voucher có được tích điểm hay không
Storeid Mã cửa hàng trực thuộc
Lienhe Quyết định xem cửa hàng có gửi mail cho khách hàng hay không
Email ưu tên email của quán dùng để gửi mail cho khách hàng
Matkhauemail ưu mật khẩu của email dùng để gửi mail cho khách hàng
Bảng 3.5 Chi tiết bảng Settings
Emails: Bảng lưu trữ thông tin về việc quản lý biểu mẫu Gmail của chủ cửa hàng
Thuộc tính Giải thích Thuộc tính Độ dài id Mã của biểu mẫu email
Subject Tiêu đề của biểu mẫu email
Contents Nội dung của biểu mẫu email
Storeid Mã cửa hàng trực thuộc
Email ưu tài khoản email dùng để gửi mail cho khách hàng
Password ưu mật khẩu của email quán dùng để gửi mail cho khách hàng
Bảng 3.6 Chi tiết bảng Emails
EventTypes: Bảng lưu trữ thông tin về loại sự kiện
Thuộc tính Giải thích Thuộc tính Độ dài id Mã loại sự kiện Int
Noidung Tên loại sự kiện Nvarchar Max
Bảng 3.7 Chi tiết bảng EventTypes
Events: Bảng lưu trữ thông tin về sự kiện
Thuộc tính Giải thích Thuộc tính Độ dài id Mã sự kiện Int
Noidung Nội dung của sự kiện Nvarchar Max
Loai Loại sự kiện Int
PhantramgiamgiaTHD Giá trị phần trăm giảm giá trên tổng hoá đơn
THD Tổng giá trị hoá đơn để được áp dụng sự kiện giảm giá
Thongtin Thông tin sự kiện của cửa hàng được hiển thị trên trang sự kiện
Storeid Mã cửa hàng trực thuộc Varchar 10
Ngaybatdau Ngày bắt đầu sự kiện Varchar 20
Ngayketthuc Ngày kết thúc sự kiện Varchar 20
Trangthai Trạng thái của sự kiện Varchar 10
Bảng 3.8 Chi tiết bảng Events
Members: Bảng lưu trữ thông tin về khách hàng
Thuộc tính Giải thích Thuộc tính Độ dài id Mã của khách hàng thành viên
Ma Mã khách hàng dùng để tích điểm
Hovaten Họ và tên của khách hàng thành viên
SDT Số điện thoại của khách hàng thành viên
Diemtichluy Điểm tích luỹ của khách hàng thành viên
Storeid Mã cửa hàng trực thuộc
Email Email của khách hàng thành viên
Ngaysinh Ngày sinh của khách hàng thành viên
Bảng 3.9 Chi tiết bảng Members
Employees: Bảng lưu trữ thông tin về nhân viên
Thuộc tính Giải thích Thuộc tính Độ dài id Mã nhân viên Int
Taikhoan Tài khoản nhân viên Varchar 10
Matkhau Mật khẩu nhân viên Varchar 10
Ten Họ tên nhân viên Nvarchar 50
Storeid Mã cửa hàng trực thuộc
Email Email của nhân viên Varchar 30
SDT Số điện thoại của nhân viên
Diachi Địa chỉ của nhân viên
Vitri Vị trí của nhân viên Nvarchar 50
Bảng 3.10 Chi tiết bảng Employees
Bills_Details: Bảng lưu chi tiết hoá đơn (lưu nội dung theo dòng)
Thuộc tính của hóa đơn bao gồm mã chi tiết hóa đơn (billid) và mã sản phẩm (productid), cùng với số lượng sản phẩm (soluong) Nội dung của hóa đơn thể hiện tên sản phẩm và số lượng tương ứng, mỗi sản phẩm được trình bày trên một dòng riêng biệt.
Nvarchar 200 dongia Đơn giá của 1 sản phẩm cụ thể trong hoá đơn
Bảng 3.11 Chi tiết bảng Bills_Details
Stores: Bảng lưu trữ thông tin về cửa hàng
Thuộc tính Giải thích Thuộc tính Độ dài id Mã cửa hàng Varchar 10
Ten Tên cửa hàng Nvarchar 50
Diachi Địa chỉ cửa hàng Nvarchar 200
Matkhau Mật khẩu của tài khoản cửa hàng
Image Hình ảnh của cửa hàng
CMND người đăng ký cửa hàng
ImgCMNDB Mặt sau của CMND người đăng ký cửa hàng
Status Trạng thái của cửa hàng (sử dụng được hay không)
Hinhthucsudung Hình thức trả phí hoặc dùng thử
Ngaytao Ngày tạo tài khoản cửa hàng
Hansudung Ngày hết hạn của tài khoản
Yeucau Yêu cầu gửi lên hệ thống là “Gia hạn”
Hoten Họ tên chủ cửa hàng Nvarchar 100
Sdt Số điện thoại chủ cửa hàng
Thongtin Trang thông tin của cửa hàng hiển thị lên web
Hienthi Thuộc tính quyết định trang thông tin có hiển thị lên hay không
Bảng 3.12 Chi tiết bảng Stores
Vouchers: Bảng lữu trữ thông tin về mã giảm giá
Thuộc tính Giải thích Thuộc tính Độ dài id Mã của mã khuyến mãi
Ma Mã khuyến mãi Varchar Max
Hsd Hạn sử dụng của mã khuyến mãi
Owner Chủ sở hữu mã khuyến mãi
Status Trạng thái mã khuyến mãi (sử dụng chưa)
Storeid Mã cửa hàng trực thuộc
Type Loại mã khuyến mãi Nvarchar 50
Value Gía trị của voucher
(bao nhiêu phần trăm hoặc số món được giảm trong 1 đơn hàng)
Bảng 3.13 Chi tiết bảng Vouchers
Bills: Bảng lưu trữ thông tin về hoá đơn
Thuộc tính Giải thích Thuộc tính Độ dài id ã hoá đơn Int
Ngaytao Ngày tạo hoá đơn Varchar 11
Giotao Giờ tạo hóa đơn Varchar 11
Tongtien Tổng tiền của hoá đơn
Giamgia Sô tiền được giảm giá
Giasaugiam Tổng tiền khách hàng phải trả
Magiamgia Mã giảm giá áp dụng vô hoá đơn
Storeid Mã cửa hàng Varchar 10
Nhanvien Mã nhân viên tạo lập hoá đơn
Member Mã khách hàng thành viên thanh toán hoá đơn
Ghichu Ghi chú hoá đơn (ví dụ như: nhiều café, ít sữa)
Bảng 3.14 Chi tiết bảng Bills
3.2.4 Sơ đồ chức năng (Use cases diagram)
Hình 3.3 Sơ đồ chức năng của người quản trị
Mục tiêu Đăng nhập vào trang của người quản trị
Người dùng Người quản trị Điều kiện trước Điều kiện sau
Main Flow 1 Đăng nhập bằng đường dẫn ẩn:http://localhost:4200/#/admin
2 Hiện ra trang login, nhập vào tài khoản mật khẩu admin
3 Nhấn “Đăng nhập” để vào
Exception 1 Nếu nhập tài khoản hoặc mật khẩu không đúng thì sẽ hiện ra thông báo lỗi đỏ
Bảng 3 15 Chức năng đăng nhập
- Chức năng xem thông tin tài khoản
Tên Xem thông tin tài khoản
Mục tiêu Xem thông tin chi tiết các tài khoản để xác thực thông tin đăng ký của chủ cửa hàng và đưa ra các quyết định tương ứng
Người dùng Người quản trị Điều kiện trước Đăng nhập thành công vào trang quản trị Điều kiện sau
Main Flow 1 Ở bảng hiển thị dữ liệu cửa hàng, ấn vào “Chi tiết” trong cột “tùy chỉnh”
2 Trang chi tiết cửa hàng hiển thị với thông tin của cửa hàng đó
Bảng 3 16 Chức năng xem thông tin tài khoản
- Chức năng gia hạn tài khoản
Tên Gia hạn tài khoản
Mục tiêu của việc gia hạn tài khoản là để khôi phục các tài khoản đã hết hạn sử dụng, với sự đồng ý của chủ cửa hàng Người dùng cần là quản trị viên và phải đăng nhập thành công vào trang quản trị để thực hiện quá trình này.
Main Flow 1 Nhấn vô filter tài khoản :
“Tài khoản yêu cầu gia hạn”
2 Hiện ra bảng dữ liệu các tài khoản tương ứng
4 Một modal confirm hiện ra, ấn YES để xác nhận giá hạn tài khoản
Bảng 3 17 Chức năng gia hạn tài khoản
- Chức năng kích hoạt tài khoản
Tên Kích hoạt tài khoản
Mục tiêu là kích hoạt các tài khoản mới đăng ký, chờ người quản trị xác thực thông tin liên quan đến cửa hàng Người dùng cần đăng nhập thành công vào trang quản trị để thực hiện việc này.
Main Flow 1 Nhấn vô filter tài khoản
:“Chưa kích hoạt( tài khoản mới hoặc tài khoản bị vô hiệu hoá)”
2 Hiện ra bảng dữ liệu các tài khoản tương ứng
4 Một modal confirm hiện ra, ấn YES để xác nhận kích hoạt tài khoản
Bảng 3 18 Chức năng kích hoạt tài khoản
- Chức năng vô hiệu hoá tài khoản
Tên Vô hiệu hoá tài khoản
Mục tiêu của việc vô hiệu hoá các tài khoản có vấn đề hoặc vi phạm điều khoản là đảm bảo an toàn cho người dùng Để thực hiện điều này, người quản trị cần đăng nhập thành công vào trang quản trị Sau khi hoàn tất quy trình, các tài khoản vi phạm sẽ được xử lý kịp thời.
Main Flow 1 Nhấn vô filter tài khoản
2 Hiện ra bảng dữ liệu các tài khoản tương ứng
3 Nhấn nút “Vô hiệu hóa”
4 Một modal confirm hiện ra, ấn YES để xác nhận vô hiệu hóa tài khoản
Bảng 3 19 Chức năng vô hiệu hoá tài khoản
- Chức năng nâng cấp tài khoản
Tên Nâng cấp tài khoản
Mục tiêu của việc nâng cấp tài khoản là đáp ứng yêu cầu từ chủ cửa hàng Để thực hiện điều này, người dùng cần phải là người quản trị và phải đăng nhập thành công vào trang quản trị trước khi tiến hành nâng cấp tài khoản.
Main Flow 1 Nhấn vô filter tài khoản :“tài khoản yêu cầu nâng cấp”
2 Hiện ra danh sách các tài khoản tương ứng
4 Một modal confirm hiện ra, ấn YES để xác nhận nâng cấp tài khoản
Bảng 3 20 Chức năng nâng cấp tài khoản
Hình 3.4 Sơ đồ chức năng của chủ cửa hàng
Mục tiêu Đăng ký được tài khoản để sử dụng dịch vụ
Người dùng Chủ cửa hàng Điều kiện trước Điều kiện sau
Main Flow 1 Tại màn hình trang chủ, nhấn nút “đăng ký”
2 option đăng ký bao gồm gói miễn phí và gói trả phí, người dùng chọn
3 Nếu chọn gói dùng thử thì hiển thị odal điền thông tin đăng ký tài khoản cho cửa hàng
5 Hiện ra trang web thông báo đăng ký thành công
6 Nếu chọn gói dùng thử thì hiển thị trang điền thông tin đăng ký tài khoản cho cửa hàng (bao gồm hình ảnh cửa hàng, hình ảnh
C ND người đăng ký cửa hàng)
8 Hiện ra trang web thông báo đăng ký thành công
Exception 1 Nếu nhập thông tin sai yêu cầu hoặc thiếu thì sẽ hiện ra thông báo lỗi đỏ ngay lập tức
2 Nếu tài khoản đã tồn tại thì hiển thị thông báo lỗi đỏ
Bảng 3 21 Chức năng đăng ký
- Chức năng đăng nhập vào trang quản lý
Mục tiêu Đăng nhập vào trang quản lý cửa hàng của chủ cửa hàng
Người dùng Chủ cửa hàng Điều kiện trước Có tài khoản cửa hàng Điều kiện sau
Main Flow 1 Tại màn hình trang chủ, nhấn nút “đăng nhập”
2 Pop up hiện ra yêu cầu nhập mã cửa hàng muốn đăng nhập
3 Nhập mã cửa hàng và sau đó nhấn “Vào cửa hàng” để đi tới màn hình đăng nhập dành cho cửa hàng đó
4 Nhập vào Email và mật khẩu đã đăng ký rồi nhấn nút “quản lý”
Exception 1 Nếu nhập vào một mã cửa hàng không tồn tại thì sẽ hiện ra thông báo lỗi
2 Nếu nhập vào mã cửa hàng của cửa hàng đã hết hạn sử dụng thì sẽ hiện ra trang web thông báo tài khoản bị vô hiệu hoá vì hết hạn
3 Nếu nhập email hoặc mật khẩu của chủ cửa hàng sai thì sẽ hiện ra thông báo lỗi đỏ ở góc trên cùng bên phải trang đăng nhập
Bảng 3 22 Chức năng đăng nhập
- Chức năng thêm nhân viên
Mục tiêu Tạo một tài khoản nhân viên mới và quản lý thông tin về nhân viên đó
Người dùng Chủ cửa hàng Điều kiện trước Đăng nhập vào trang quản lý cửa hàng của chủ cửa hàng Điều kiện sau
Main Flow 1 Tại màn hình trang quản lý, nhấn nút “nhân viên”
2 Nhấn nút “thêm” màu xanh dương
3 Hiện ra pop up form đăng ký cho nhân viên
4 Nhập vào các thông tin được yêu cầu và nhấn nút
Exception 1 Nếu nhập vào thông tin sai yêu cầu hoặc thiếu thì sẽ hiện ra thông báo lỗi
2 Nếu nhập vào tài khoản trùng với một tài khoản đã có sẵn trong cửa hàng thì sẽ hiện ra thông báo lỗi
Bảng 3 23 Chức năng thêm nhân viên
- Chức năng chỉnh sửa nhân viên
Mục tiêu Chỉnh sửa thông tin của nhân viên đó
Người dùng Chủ cửa hàng Điều kiện trước Đăng nhập vào trang quản lý cửa hàng của chủ cửa hàng Điều kiện sau
Main Flow 1 Tại màn hình trang quản lý, nhấn nút “nhân viên”
2 Nhấn nút chỉnh sửa màu xanh lá
3 Hiện ra pop up form chỉnh sửa thông tin nhân viên với các thông tin hiện tại
4 Thay đổi thông tin cần muốn chỉnh sửa và nhấn nút “chỉnh sửa”
Exception 1 Nếu nhập vào thông tin sai yêu cầu thì sẽ hiện ra thông báo lỗi
Bảng 3 24 Chức năng chỉnh sửa nhân viên
- Chức năng xoá nhân viên
Mục tiêu Xoá nhân viên khi nhân viên đó không còn làm ở cửa hàng nữa
Người dùng Chủ cửa hàng Điều kiện trước Đăng nhập vào trang quản lý cửa hàng của chủ cửa hàng Điều kiện sau
Main Flow 1 Tại màn hình trang quản lý, nhấn nút “nhân viên”
2 Nhấn nút xoá màu đỏ
3 Hiện ra pop up hỏi rằng mình có chắc chắn muốn xoá không
Bảng 3 25 Chức năng xoá nhân viên
- Chức năng chỉnh sửa trang thông tin cửa hàng
Tên Chỉnh sửa trang thông tin cửa hàng
Mục tiêu Chỉnh sửa trang thông tin cửa hàng theo ý của mình mỗi khi có sự thay đổi về cửa hàng
Người dùng Chủ cửa hàng Điều kiện trước Đăng nhập vào trang quản lý cửa hàng của chủ cửa hàng Điều kiện sau
Main Flow 1 Tại màn hình trang quản lý, nhấn nút “Trang thông tin”
2 Chủ cửa hàng tuỳ ý chỉnh sửa văn bản với các thao tác cơ bản
Bảng 3 26 Chức năng chỉnh sửa trang thông tin cửa hàng
- Chức năng xem thông tin về khách hàng thành viên
Tên Xem thông tin về khách hàng thành viên
Mục tiêu Xem được các thông mà khách hàng thành viên đã đăng ký
Người dùng Chủ cửa hàng Điều kiện trước Đăng nhập vào trang quản lý cửa hàng của chủ cửa hàng Điều kiện sau
Main Flow 1 Tại màn hình trang quản lý, nhấn nút “ hách hàng thành viên”
2 Hiện ra bảng lưu trữ thông tin của khách hàng
Bảng 3 27 Chức năng xem thông tin khách hàng thành viên
- Chức năng xem hoá đơn theo ngày hoặc trong khoảng thời gian
Tên Xem hoá đơn theo ngày
Mục tiêu Xem chi tiết các hoá đơn
Người dùng Chủ cửa hàng Điều kiện trước Đăng nhập vào trang quản lý cửa hàng của chủ cửa hàng Điều kiện sau
Main Flow 1 Tại màn hình trang quản lý, nhấn nút “Hoá đơn”
2 Hiện ra bảng thông tin các hoá đơn, nhấn vào filter để sắp xếp hiển thị hoá đơn theo ngày hoặc theo từ ngày nào đến ngày nào
3 Ngoài ra còn có nút “Chi tiết hoá đơn” màu xanh lá, nhấn vào nút đó sẽ hiện ra pop up hiển thị các thông tin chi tiết về hoá đơn đó
Bảng 3 28 Chức năng xem hoá đơn theo ngày
- Chức năng thiết kế hệ thống quy đổi điểm tích luỹ cho khách hàng
Tên Thiết kế hệ thống quy đổi điểm tích luỹ cho khách hàng Mục tiêu Xem chi tiết các hoá đơn
Người dùng Chủ cửa hàng Điều kiện trước Đăng nhập vào trang quản lý cửa hàng của chủ cửa hàng Điều kiện sau
Main Flow 1 Tại màn hình trang quản lý, nhấn nút “cài đặt”
2 Hiện ra 2 toggle “Tích điểm” và “ iên hệ”
3 Người dùng check toggle sau đó sẽ hiện ra các option để lựa chọn
4 Sau khi đã set up xong các lựa chọn nhấn “ ưu” để lưu thay đổi
Bảng 3 29 Chức năng thiết kế hệ thống quy đổi điểm tích luỹ cho khách hàng
- Chức năng quản lý biểu mẫu Gmail, liên hệ với khách qua gmail
Quản lý biểu mẫu Gmail giúp tối ưu hóa việc gửi email thông báo đến khách hàng mỗi khi có sự kiện hoặc thông báo mới Với công cụ này, việc liên lạc với khách qua Gmail trở nên dễ dàng và hiệu quả hơn, đảm bảo khách hàng luôn được cập nhật thông tin kịp thời.
Người dùng Chủ cửa hàng Điều kiện trước Đăng nhập vào trang quản lý cửa hàng của chủ cửa hàng Điều kiện sau
Main Flow 1 Tại màn hình trang quản lý, nhấn nút
“ iên hệ khách hàng qua Gmail”
2 Hiện ra các công cụ để thiết lập biểu mẫu mới
3 Sau khi thiết lập xong, nhấn
“lưu biểu mẫu” để lưu xuống các form biểu mẫu có sẵn, nhấn
“gửi” để gửi cho các đối tượng khách hàng đã chọn
4 Ở bảng biểu mẫu Email có sẵn, người dùng có thể chỉnh sửa hoặc xoá biểu mẫu có sẵn bằng cách nhấn nút màu xanh lá và màu đỏ ở dòng tương ứng
5 Có thể ấn gửi ngay mà không cần lưu biểu mẫu gmail, gửi thông báo cho tất cả khách hàng hoặc gửi mail tặng quà cho khách hàng có sinh nhật
Bảng 3 30 Chức năng quản lý biểu mẫu Gmail, liên hệ với khách hàng qua
- Chức năng thêm danh mục sản phẩm
Tên Thêm danh mục sản phẩm
Mục tiêu Giúp thêm danh mục sản phẩm mỗi khi của hàng có loại sản phẩm mới
Người dùng Chủ cửa hàng Điều kiện trước Đăng nhập vào trang quản lý cửa hàng của chủ cửa hàng Điều kiện sau
Main Flow 1 Tại màn hình trang quản lý, nhấn nút “Danh mục sản phẩm”
3 Hiện ra pop up form điền thông tin cho danh mục sản phẩm mới
4 Nhập vào các thông tin được yêu cầu và nhấn nút
Bảng 3 31 Chức năng thêm danh mục sản phẩm
- Chức năng sửa danh mục sản phẩm
Tên Sửa danh mục sản phẩm
Mục tiêu Sửa danh mục sản phẩm mỗi khi cửa hàng cần chỉnh sửa loại sản phẩm nào đó
Người dùng Chủ cửa hàng Điều kiện trước Đăng nhập vào trang quản lý cửa hàng của chủ cửa hàng Điều kiện sau
Main Flow 1 Tại màn hình trang quản lý, nhấn nút “Danh mục sản phẩm”
2 Nhấn nút sửa màu xanh lá
3 Hiện ra pop up form thông tin danh mục sản phẩm đó
4 Thay đổi các thông tin cần sửa và nhấn nút “sửa”
Bảng 3 32 Chức năng sửa danh mục sản phẩm
- Chức năng xoá danh mục sản phẩm
Tên Xoá danh mục sản phẩm
Mục tiêu Xoá danh mục sản phẩm mỗi khi cửa hàng không còn cung cấp loại sản phẩm đó nữa
Người dùng Chủ cửa hàng Điều kiện trước Đăng nhập vào trang quản lý cửa hàng của chủ cửa hàng Điều kiện sau
Main Flow 1 Tại màn hình trang quản lý, nhấn nút “Danh mục sản phẩm”
2 Nhấn nút xoá màu đỏ
3 Hiện ra pop up hỏi rằng mình có chắc chắn muốn xoá không
Bảng 3 33 Chức năng xoá danh mục sản phẩm
- Chức năng thêm sản phẩm
Tên Thêm sản phẩm mới
Mục tiêu Giúp thêm sản phẩm mỗi khi của hàng có sản phẩm mới
Người dùng Chủ cửa hàng Điều kiện trước Đăng nhập vào trang quản lý cửa hàng của chủ cửa hàng Điều kiện sau
Main Flow 1 Tại màn hình trang quản lý, nhấn nút “Sản phẩm”
3 Hiện ra pop up form điền thông tin cho sản phẩm mới
4 Nhập vào các thông tin được yêu cầu và nhấn nút
Bảng 3 34 Chức năng thêm sản phẩm
- Chức năng sửa sản phẩm
Mục tiêu Sửa sản phẩm mỗi khi cửa hàng cần chỉnh sửa sản phẩm nào đó
Người dùng Chủ cửa hàng Điều kiện trước Đăng nhập vào trang quản lý cửa hàng của chủ cửa hàng Điều kiện sau
Main Flow 1 Tại màn hình trang quản lý, nhấn nút “Sản phẩm”
2 Nhấn nút sửa màu xanh lá
3 Hiện ra pop up form thông tin sản phẩm đó
4 Thay đổi các thông tin cần sửa và nhấn nút “sửa”
Bảng 3 35 Chức năng sửa sản phẩm
- Chức năng xoá sản phẩm
Mục tiêu Xoá sản phẩm mỗi khi cửa hàng không còn cung cấp sản phẩm đó nữa
Người dùng Chủ cửa hàng Điều kiện trước Đăng nhập vào trang quản lý cửa hàng của chủ cửa hàng Điều kiện sau
Main Flow 1 Tại màn hình trang quản lý, nhấn nút “Danh mục sản phẩm”
2 Nhấn nút xoá màu đỏ
3 Hiện ra pop up hỏi rằng mình có chắc chắn muốn xoá không
Bảng 3 36 Chức năng xoá sản phẩm
- Chức năng thêm sự kiện
Tên Tạo sự kiện mới
Mục tiêu là tạo ra sự kiện mới mỗi khi chủ cửa hàng quyết định tổ chức sự kiện nhằm quảng bá cửa hàng, tăng doanh thu và tri ân khách hàng.
Người dùng Chủ cửa hàng Điều kiện trước Đăng nhập vào trang quản lý cửa hàng của chủ cửa hàng Điều kiện sau
Main Flow 1 Tại màn hình trang quản lý, nhấn nút “Quản lý sự kiện” trong phần “Sự kiện
2 Nhấn nút “Tạo sự kiện mới”
3 Hiện ra trang bao gồm các công cụ hỗ trợ để thiết lập sự kiện
4 Sau khi thiết lập xong, nhấn nút “Thêm sự kiện”
Bảng 3 37 Chức năng thêm sự kiện
- Chức năng sửa sự kiện
Mục tiêu Sửa sự kiện mỗi khi cửa hàng cần chỉnh sửa sự kiện nào đó
Người dùng Chủ cửa hàng Điều kiện trước Đăng nhập vào trang quản lý cửa hàng của chủ cửa hàng Điều kiện sau
Main Flow 1 Tại màn hình trang quản lý, nhấn nút “Quản lý sự kiện” trong phần “Sự kiện
2 Nhấn nút sửa màu xanh lá
3 Hiện ra pop up form thông tin của sự kiện đó
4 Thay đổi các thông tin cần sửa và nhấn nút “sửa”
Bảng 3 38 Chức năng sửa sự kiện
- Chức năng kích hoạt/ngưng sự kiện
Tên Kích hoạt/ngưng sự kiện
Mục tiêu Kích hoạt/ngưng sự kiện đang có sẵn trong dữ liệu
Người dùng Chủ cửa hàng Điều kiện trước Đăng nhập vào trang quản lý cửa hàng của chủ cửa hàng Điều kiện sau
Main Flow 1 Tại màn hình trang quản lý, nhấn nút “Quản lý sự kiện” trong phần “Sự kiện
2 Nhấn toggle tương ứng của sự kiện đang có sẵn
3 Toggle màu xanh là kích hoạt, màu xám là ngưng
Bảng 3 39 Chức năng kích hoạt/ngưng sự kiện
Hình 3.5 Sơ đồ chức năng của nhân viên bán hàng
Mục tiêu Đăng nhập vào trang bán hàng của nhân viên
Người dùng Nhân viên bán hàng Điều kiện trước Điều kiện sau
Main Flow 1 Tại màn hình trang chủ, nhấn nút “đăng nhập”
2 Pop up hiện ra yêu cầu nhập mã cửa hàng muốn đăng nhập
3 Nhập mã cửa hàng và sau đó nhấn “Vào cửa hàng” để đi tới màn hình đăng nhập dành cho cửa hàng đó
4 Nhập vào Email và mật khẩu đã đăng ký rồi nhấn nút “cửa hàng”
Exception 1 Nếu nhập vào một mã cửa hàng không tồn tại thì sẽ hiện ra thông báo lỗi
2 Nếu nhập vào mã cửa hàng của cửa hàng đã hết hạn sử dụng thì sẽ hiện ra trang web thông báo tài khoản bị vô hiệu hoá vì hết hạn
3 Nếu nhập email hoặc mật khẩu của chủ cửa hàng sai thì sẽ hiện ra thông báo lỗi đỏ ở góc trên cùng bên phải trang web
Bảng 3 40 Chức năng đăng nhập
- Chức năng tạo thẻ thành viên
Tên Tạo thẻ thành viên
Mục tiêu của việc tạo thẻ thành viên là phục vụ cho những khách hàng có nhu cầu Đối tượng sử dụng chính là nhân viên bán hàng, và điều kiện tiên quyết là họ phải đăng nhập vào trang bán hàng của mình.
Main Flow 1 Tại màn hình cửa hàng, nhấn nút “Tạo thẻ thành viên”
2 Pop up hiện ra form yêu cầu nhập các thông tin cần thiết
3 Sau khi nhập đầy đủ các thông tin được yêu cầu, nhấn nút “Đăng kí”
4 Hệ thống gửi mail thông báo cho khách hàng
Exception 1 Nếu nhập vào một chứng minh nhân dân giống với thành viên nào đã có sẵn trong dữ liệu sẽ báo lỗi đỏ
Bảng 3 41 Chức năng tạo thẻ thành viên
- Chức năng tìm kiếm sản phẩm
Tên Tìm kiếm sản phẩm
Mục tiêu của chúng tôi là hỗ trợ nhân viên bán hàng trong việc tìm kiếm sản phẩm tại cửa hàng, từ đó giúp họ dễ dàng thực hiện các thao tác tạo đơn hàng Để sử dụng tính năng này, nhân viên cần đăng nhập vào trang bán hàng của mình.
Main Flow 1 Tại màn hình cửa hàng, gõ vào tên sản phẩm cần tìm kiếm ở ô “ ỌC”
2 Giao diện sẽ thay đổi, hiện ra các sản phẩm có tên tương ứng với các từ khoá được nhập ở ô lọc
Bảng 3 42 Chức năng tìm kiếm sản phẩm
- Chức năng xử lý hoá đơn
Tên Xử lý hoá đơn
KẾT QUẢ SO SÁNH, THỰC NGHIỆM, PHÂN TÍCH
Hệ thống Back-End
Hệ thống Back-End được phát triển bằng ngôn ngữ C# và ASP.NET Core Framework, áp dụng RESTful API, giúp mã nguồn trở nên đơn giản và ngắn gọn hơn, thuận tiện cho quá trình lập trình.
Hệ thống Front-End
The Front-End is developed using TypeScript and the Angular CLI framework, implementing a Single Page Application (SPA) that enables fast data manipulation without the need for page reloads.
CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
- Về cơ bản nhóm đã tìm hiểu và đạt được:
Tìm hiểu và xây dựng RESTFul API bằng ngôn ngữ C# sử dụng
Tìm hiểu và áp dụng ngular FrameWork để xây dựng giao diện trang web
Giao diện thân thiện với người dùng, dễ sử dụng
Áp dụng công nghệ mới
Hệ thống hỗ trợ các chủ cửa hàng khá đầy đủ trong việc quản lí quán coffee của mình
Khả năng bảo trị, mở rộng dễ dàng và nhanh chóng
Ứng dụng quản lý và bán hàng còn chưa được tối ưu về mặt chức năng
Giao diện còn sơ sài, không bắt mắt
Vẫn có khả năng tồn tại lỗi
Sau khi phát triển các tính năng trong thời gian qua, nhóm chúng tôi đã đưa ra một số ý tưởng nhằm cải thiện hệ thống và khắc phục những hạn chế hiện tại, đồng thời xem xét lại phạm vi của đề tài Tuy nhiên, do thời gian hạn chế và yêu cầu tìm hiểu công nghệ mới, nhóm đã quyết định đưa những vấn đề chưa được giải quyết vào phần mở rộng.
Hướng giao diện trang bán hàng về dạng “Touch Screen” nhiều hơn
Cửa hàng coffee nên tích hợp nhiều tính năng chăm sóc khách hàng như liên lạc qua SMS, tổ chức sự kiện giảm giá, và xây dựng trang đổi điểm tích lũy để nâng cao trải nghiệm khách hàng.
[1] https://tedu.com.vn/khoa-hoc/xay-dung-ung-dung-web-voi-aspnet-core-17.html
[2] https://topdev.vn/blog/asp-net-core-la-gi/
[3] https://hoclaptrinh.vn/posts/angular-cli-la-gi
SQL Server is a powerful Relational Database Management System (RDBMS) that utilizes Transact-SQL for data exchange between client machines and SQL Server installations It is designed to handle very large databases, serving thousands of users simultaneously, and integrates seamlessly with other Microsoft servers Key editions of SQL Server include Enterprise, which offers extensive features for large databases, Standard for small to medium businesses, Developer for application development, and Express, a free version suitable for lightweight applications Installation requires a minimum of 64 MB RAM and 500 MB hard disk space, and the process is straightforward, with options for custom configurations and authentication modes SQL Server has evolved significantly since its first release in 1989, with major improvements in versions 6.5 and 7.0, enhancing web features and reliability It comprises various components such as Database Engine, Reporting Services, and Integration Services, all working together to facilitate efficient data storage and analysis.