CHƯƠNG 1: TỔNG QUAN - Phát triển ứng dụng độc lập, dễ dàng deploy trên nhiều môi trường khác nhau. Phổ biến rộng rãi website đến nhiều người dung. - Ứng dụng phải đáp ứng được các mục tiêu mà tài liệu đã đề ra. Giúp người dung có thể mua sắm trái cây online một cách dễ dàng.
- Ứng dụng có khả năng phát triển và mở rộng trong tương lai 1. Đối tượng nghiên cứu Đối tượng nghiên cứu của đề tài là những của hàng muốn sử dụng công nghệ để buôn bán trái cây online. Công nghệ mà nhóm chọn để nghiên cứu phát triển ứng dụng là .NET và ReactJS.NET để xây dựng phần backend của hệ thồng và ReactJS dung để xây dựng phần giao diện của người dùng. Nhóm sử dụng Convolutional Neural Network để xây dựng model phục vụ chức năng nhận diện và tìm kiếm sản phẩm bằng hình ảnh.
Ngoài ra, nhóm cũng sử dụng các thư viện bên khác trong quá trình phát triển dự án như JWT (Json Web Token) và các API của bên thứ 3 như Momo, Cloudinary, GHN, … Tập khách hàng của dự án là những người dùng có thói quen mua hàng trên các sàn thương mại điện tử và có nhu cầu mua các loại trái cây với đa dạng mặt hàng và nguồn gốc xuất xứ. Phạm vi nghiên cứu Phạm vi của dự án chỉ ở mức độ tổng quan, nắm được các kiến thức cần thiết để xây dựng hệ thống và áp dụng các kiến thức đó cho dự án thực tế. Không quá tập trung vào phấn lý thuyết chuyên sâu. 2 CHƯƠNG 2: KHẢO SÁT HIỆN TRẠNG VÀ XÁC ĐỊNH YÊU CẦU CHƯƠNG 2: KHẢO SÁT HIỆN TRẠNG VÀ XÁC ĐỊNH YÊU CẦU 2.
Khảo sát hiện trạng 2. Website Thế giới trái cây Hình 2.1: Trang chủ website thegioitraicay.net - Điểm mạnh: Giao diện bắt mắt, gây thiện cảm với người dùng Phân loại sản phẩm đa dạng, cung cấp nhiều sự lựa chọn cho người mua - Điểm yếu: Chức năng thanh toán chuyển khoản chưa hoàn toàn tự động. Vẫn cần phải chụp hình gửi xác nhận đến tài khoản Zalo của chủ cửa hàng Chức năng tìm kiếm sản phẩm chưa thực sự tiện dụng 2 CHƯƠNG 2: KHẢO SÁT HIỆN TRẠNG VÀ XÁC ĐỊNH YÊU CẦU 2. Website Vinfruits Hình 2.2: Trang chủ website Vinfruits - Điểm mạnh: Giao diện bắt mắt Đa dạng sản phẩm Chức năng thanh toán được xây dựng tốt - Điểm yếu: Số lượng sản phẩm khi mua hàng không rõ ràng Chức năng tìm kiếm chưa có các bộ lọc 3 CHƯƠNG 2: KHẢO SÁT HIỆN TRẠNG VÀ XÁC ĐỊNH YÊU CẦU 2.
Website Klever Fruit Hình 2.3: Trang chủ website Klever Fruit - Điểm mạnh: Giao diện bắt mắt, dễ sử dụng Website quản lý nhiều chi nhánh của cửa hàng Có hỗ trợ nhận hàng tại cửa hàng - Điểm yếu: Chỉ có thể mua hàng trong khu vực thành phố Hồ Chí Minh hoặc Hà Nội Chức năng lọc theo giá chưa hợp lý Cách phân loại sản phẩm khi mua chưa thật sự hợp lý 4 CHƯƠNG 2: KHẢO SÁT HIỆN TRẠNG VÀ XÁC ĐỊNH YÊU CẦU 2. Website Trái cây 141 Hình 2.4: Trang chủ website Trái cây 141 - Điểm mạnh: Giao diện bắt mắt thu hút người dùng Có hỗ trợ thanh toán bằng tiền mặt và chuyển khoản Có hỗ trợ nhiều chương trình khuyến mãi - Điểm yếu: Còn một số lỗi animation về giao diện Chức năng chọn địa chỉ nhận hàng chưa thực sự tiện dụng Số lượng lúc đặt mua sản phẩm chưa rõ ràng 2. Xác định yêu cầu 2. Yêu cầu chức năng a) Người dùng chưa đăng nhập STT Yêu cầu Mô tả 1 Đăng ký Người dùng đăng ký tài khoản mới trong hệ thống, cung cấp email, password và các thông tin khác 2 Xác nhận tài khoản Sau khi đăng ký thành công, người dùng sẽ xác nhận tài khoản thông qua email đã đăng ký 5 CHƯƠNG 2: KHẢO SÁT HIỆN TRẠNG VÀ XÁC ĐỊNH YÊU CẦU 3 Đăng nhập Người dùng cung cấp email và password mà mình đã đăng ký để đăng nhập vào hệ thống 4 Đăng nhập bằng Google Người dùng đăng nhập vào hệ thống bằng tài khoản của Google 5 Xem chi tiết sản phẩm Người dùng chọn vào một sản phẩm để xem thông tin chi tiết của sản phẩm đó 6 Tìm kiếm sản phẩm Người dùng tìm kiếm sản phẩm mình mong muốn theo nhiều yếu tố như: tên sản phẩm, giá sản phẩm, … 7 Tìm kiếm sản phẩm bằng Người dùng chọn hình ảnh trái cây muốn hình ảnh tìm kiếm, hệ thống sẽ gợi đó là loại trái cây gì, sau đó tiến hành tìm kiếm các trái cây đó trong hệ thống 8 Quên mật khẩu Người dùng nhập email của bản thân, nhập password mới muốn thay đổi, sau đó người dùng xác nhận đổi mật khẩu thông qua email mà hệ thống gửi tới Bảng 2.1: Bảng yêu cầu chức năng của người dùng chưa đăng nhập b) Khách hàng đã đăng nhập STT Yêu cầu Mô tả 1 Tìm kiếm sản phẩm Người dùng tìm kiếm sản phẩm mình mong muốn theo nhiều yếu tố như: tên sản phẩm, giá sản phẩm, … 2 Tìm kiếm sản phẩm bằng Người dùng chọn hình ảnh trái cây muốn hình ảnh tìm kiếm, hệ thống sẽ gợi đó là loại trái cây gì, sau đó tiến hành tìm kiếm các trái cây đó trong hệ thống 3 Xem chi tiết sản phẩm Người dùng chọn vào một sản phẩm để xem thông tin chi tiết của sản phẩm đó 4 Thêm sản phẩm vào giỏ Người dùng chọn số lượng muốn bỏ vào hàng giỏ hàng, sau đó bấm vào nút “Thêm vào giỏ hàng” 5 Cập nhật số lượng sản Người dùng cập nhật lại số lượng của sản phẩm trong giỏ hàng phẩm trong giỏ hàng 6 Tạo giỏ quà Người dùng tạo một giỏ quà riêng trong giỏ hàng của mình 6 CHƯƠNG 2: KHẢO SÁT HIỆN TRẠNG VÀ XÁC ĐỊNH YÊU CẦU 7 Thêm, xóa, sửa bình luận Người dùng thêm, xóa, sửa bình luận của trên 1 sản phẩm một sản phẩm đã mua hàng 8 Thanh toán Người dùng tiến hành thanh toán giỏ hàng của mình, hệ thống hỗ trợ thanh toán trực tuyến thông qua Momo hoặc thanh toán lúc nhận hàng 9 Xem thông tin giỏ hàng Người dùng xem thông tin của giỏ hàng hiện tại hiện tại của mình.
Bao gồm các giỏ quả và thông tin sản phẩm 10 Xóa sản phẩm trong giỏ Người dùng xóa một sản phẩm chỉ định hàng trong giỏ hàng 11 Xem lịch sử đơn hàng Người dùng xem lại lịch sử các đơn hàng của mình. Hệ thống hỗ trợ tìm kiếm đơn hàng theo nhiều yếu tố như: ngày tạo đơn hàng, tổng tiền đơn hàng, … 12 Quản lý tài khoản cá Người dùng xem và chỉnh sửa thông tin cá nhân nhân tài khoản của mình 13 Đổi mật khẩu Người dùng đổi mật khẩu tài khoản của mình 14 Đăng xuất Xóa token tài khoản của người dùng dang lưu trên trình duyệt Bảng 2.2: Bảng yêu cầu chức năng của người dùng đã đăng nhập c) Nhân viên - Nhân viên có các chức năng tương tự như người dùng đã đăng nhập cộng thêm các chức năng sau: STT Yêu cầu Mô tả 1 Xem danh sách đơn hàng Xem danh sách các toàn bộ các đơn hàng của cửa hàng, hệ thống hỗ trợ tìm kiếm các đơn hàng theo nhiều yếu tố: người nhận, số điện thoại người nhận, ngày tạo, … 2 Xử lý đơn hàng Nhân viên tiến hành xử lý đơn hàng. Nhân viên sẽ kiểm tra kho, sau đó tiến hành duyệt hoặc hủy đơn hàng Bảng 2.3: Bảng yêu cầu chức năng của nhân viên d) Quản trị viên 7 CHƯƠNG 2: KHẢO SÁT HIỆN TRẠNG VÀ XÁC ĐỊNH YÊU CẦU - Quản trị viên có các chức năng tương tự như nhân viên công thêm các chức năng sau: STT Yêu cầu Mô tả 1 Xem thống kê Quản trị viên có thể xem các thông kê của cửa hàng bao gồm: thống kê doanh thu, sản phẩm, doanh thu trong tuần, … 2 Quản lý sản phẩm của Quản trị viên có thể thêm mới, chỉnh sửa cửa hàng hoặc xóa sản phẩm 3 Tạo khuyến mãi sản Quản trị viên có thể tạo khuyến mãi cho phẩm sản phẩm trong của hàng 4 Thêm, xóa nhân viên Quản trị viên có thể thêm nhân viên, quản hoặc quản trị viên khác trị viên khác hoặc xóa quyền của nhân viên hoặc quản trị viên 5 Quản lý danh mục sản Quản trị viên có thể thêm, chỉnh sửa danh phẩm mục sản phẩm và xóa nếu như không có sản phẩm nào thuộc danh mục đó 6 Quản lý người dùng Quản trị có thể tìm kiếm, xem thông tin của người dùng. Quản trị viên cũng có thể khóa tài khoản của người dùng 7 Quản lý đánh giá sản Quản trị viên có thể xem các đánh giá của phẩm người dùng về sản phẩm và xóa các đánh giá nếu không phù hợp 8 Quản lý kho hàng Quản trị viên có thể quản lý việc nhập hàng, xem thống kê các sản phẩm hết hạn hoặc gần hết hạn Bảng 2.4: Bảng yêu cầu chức năng của quản trị viên 2.
Yêu cầu phi chức năng - Hệ thống gửi phản hồi nhanh và chính xác với từng request của người dùng - Hệ thống có tính mở rộng cao để có thể dễ dàng thêm các tính năng mới trong tương lai hay bảo trì dự án - Giao diện thân thiện, dễ sử dụng ngay cả đối với những người dùng không thành thạo về công nghệ - Hệ thống có tính bảo mật, xác thực và phân quyền chính xác 8 CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 3. Thiết kế Cơ Sở Dữ Liệu Cart Id BillId Phone CityId DistrictId WardId DetailLocation Bill Status Id CreatedDate PurchaseDate ProcessAccountId Total BillDetail ProcessDescription PaymentMethod Id Name OrderCode Unit InventoryNotification ShippingFee Quantity Id GhnServiceType Price [Content] DeliveryTime BillId Type IsRead ProductId CreatedDate CartDetail Id Status Unit Account ChangePasswordToken Quantity Id Id ProductId Phone AccountId CartId Password Password AccountId Role Token Price Email CreatedAt GiftCartId Status ExpireAt CityId ConfirmAt DistrictId GiftCart WardId Id DetailLocation Name FirstName IsActive LastName AccountId VerifyToken PhotoUrl Product Inventory Id Id Name ProductId Price Quantity Unit ImportPrice ConfirmToken MinPurchase DeliveryDate Id Description ExpireDate Employee Token CategoryId Description ProductPromotion Id CreateAt Status Id Salary CountCartNotificationByUser SupplierId ExpireAt Quantity ProductId Id Unit ConfirmAt Sales Type AccountId IsChecked AccountId IsDeleted CreatedDate Count SalesUntilCheckExpire ExpireDate Weight IsEnable GoogleAccount Value Id Email AccountId Review Id ProductImage [Content] Id AccountId Url Rating ProductId PostDate FileName Category ProductId Id Name ReviewResource Id ReviewId Type FileName Url Hình 3.1: Lược đồ cơ sở dữ liệu 3. Mô Tả Cơ Sở Dữ Liệu 3.