1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Đồ án ứng dụng cung cấp dịch vụ mua bán hàng trực tuyến

164 3 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM PHẠM MINH TÂN BÙI DƯƠNG DUY KHANG ĐỒ ÁN ỨNG DỤNG CUNG CẤP DỊCH VỤ MUA BÁN HÀNG TRỰC TUYẾN Application Provide Online Selling Service NGÀNH CÔNG NGHỆ PHẦN MỀM TP HỒ CHÍ MINH, 2021 ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CƠNG NGHỆ THƠNG TIN KHOA CÔNG NGHỆ PHẦN MỀM PHẠM MINH TÂN - 19506261 BÙI DƯƠNG DUY KHANG - 19520618 ĐỒ ÁN ỨNG DỤNG CUNG CẤP DỊCH VỤ MUA BÁN HÀNG TRỰC TUYẾN Application Provide Online Selling Service NGÀNH CÔNG NGHỆ PHẦN MỀM GIẢNG VIÊN HƯỚNG DẪN THS NGUYỄN THỊ THANH TRÚC TP HỒ CHÍ MINH, 2021 ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC Độc Lập - Tự Do - Hạnh Phúc CÔNG NGHỆ THÔNG TIN TP HCM, ngày tháng năm 2021 NHẬN XÉT ĐỒ ÁN (CỦA CÁN BỘ HƯỚNG DẪN) Tên khóa luận: Ứng dụng cung cấp dịch vụ mua bán hàng trực tuyến Nhóm sinh viên thực hiện: PHẠM MINH TÂN Cán hướng dẫn: 19520261 ThS NGUYỄN THỊ THANH TRÚC BÙI DƯƠNG DUY KHANG 19520618 Đánh giá Khóa luận: Về báo cáo: Số trang Số chương Số bảng số liệu Số hình vẽ Số tài liệu tham khảo Sản phẩm Một số nhận xét hình thức báo cáo: • Về nội dung nghiên cứu: • • Về chương trình ứng dụng: • Về thái độ làm việc sinh viên: • Đánh giá chung: Điểm sinh viên: PHẠM MINH TÂN /10 BÙI DƯƠNG DUY KHANG /10 Người nhận xét (Ký ghi rõ họ tên) Nguyễn Thị Thanh Trúc LỜI CẢM ƠN Để hồn thành dự án cho mơn Đồ án này, chúng em xin gửi lời cảm ơn chân thành đến: Ths Nguyễn Thị Thanh Trúc tận tình giúp đỡ, định hướng cách tư cách làm việc khoa học Đó góp ý quý báu khơng q trình thực đồ án mơn học mà hành trang tiếp bước cho chúng em trình học tập thực khóa luận tốt nghiệp sau Trong q trình làm đồ án chúng em không tránh khỏi sai sót, chúng em kính mong nhận dẫn góp ý để đồ án hoàn thiện Chúng em xin chân thành cảm ơn Xin chúc điều tốt đẹp đồng hành cô Long An, 23 tháng 12 năm 2021 Sinh viên PHẠM MINH TÂN BÙI DƯƠNG DUY KHANG ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC Độc Lập – Tự Do – Hạnh Phúc CÔNG NGHỆ THÔNG TIN Long An, ngày 23 tháng 12 năm 2021 ĐỀ CƯƠNG CHI TIẾT TÊN ĐỀ TÀI: Ứng dụng cung cấp dịch vụ mua bán hàng trực tuyến Cán hướng dẫn: ThS Nguyễn Thị Thanh Trúc Thời gian thực hiện:Từ ngày 06/09/2021 đến ngày 25/12/2021 Sinh viên thực hiện: Phạm Minh Tân - 19520261 Bùi Dương Duy Khang - 19520618 - Nội dung đề tài:(Mô tả chi tiết mục tiêu, phạm vi, đối tượng, phương pháp thực hiện, kết mong đợi đề tài) Mục tiêu Nghiên cứu cơng nghệ lập trình di động ngơn ngữ Kotlin, xây dựng backend ngôn ngữ Java sử dụng Spring boot framework, hệ quản trị sở liệu MySQL, nghiệp vụ hay bước xử lý toán đặc trưng ứng dụng bán hàng online cụ thể đồ án cung cấp dịch vụ mua bán trực tiếp, hiểu cách xử lý liệu để giảm thiểu thời gian tải, gia tăng hiệu suất ứng dụng, giải đa dạng hàng hóa Sử dụng Oauth2, JWT (Java web token) để thực nhập thông qua bên thứ bảo mật APIs xác thực người dùng Nhiệm vụ Đề tài “Ứng dụng cung cấp dịch vụ mua bán trực tuyến” ứng dụng chạy điện thoại chạy hệ điều hành Android Ứng dụng gồm có phần: Ứng dụng viết cho người bán, ứng dụng viết cho người mua ứng dụng mobile viêt Kotlin Webservice quản trị viết ngôn ngữ Java sử dụng Spring framework Ứng dụng người tiêu dùng: ▪ Xem Sản phẩm ▪ Danh sách yêu thích ▪ Trò chuyện ▪ Giỏ hàng ▪ Đặt hàng ▪ Quản lý địa ▪ Đánh giá sản phẩm ▪ Đăng nhập ▪ Đăng ký ▪ Quản lý đơn hàng ▪ Hủy đơn ▪ Notification ▪ Tìm kiếm sản phẩm ▪ Xem Chi tiết sản phẩm ▪ Xem sản phẩm theo xếp hạng lượt mua Ứng dụng người bán hàng: ▪ Nhắn tin ▪ Đăng nhập hệ thống ▪ Notification (người bán) ▪ Quản lý sản phẩm ▪ Quản lý ngành hàng ▪ Quản lý hàng ▪ Quản lý đơn đặt hàng ▪ Cập nhật trạng thái giao hàng ▪ Hủy đơn hàng ▪ Quản lý thông tin cửa hàng ▪ Báo cáo bán hàng ▪ Báo cáo doanh thu ▪ Báo cáo số lượng bán Phương phá p thưc ̣ hiên: Tìm hiểu quy trình nghiệp vụ mua bán hàng có Tìm hiểu nghiệp vụ, quy trình hoạt động shop mua sắm thời trang Phác họa hệ thống tổng quát (thiết kế liệu, xử lý liệu…) Tham khảo ứng dụng tương tự: Lazada, SHEIN, Shopee, Tiki,… Tham khảo ý kiến giảng viên hướng dẫn để định hướng đúng, đạt kết tốt Thiết kế giao diện, sở liệu đáp ứng yêu cầu cho ứng dụng Kết mong đợi - Đối với kết mong đợi chung: ▪ Xử lý toán xác thực JWT ▪ Xây dựng cách xử lý toán tải liệu tăng hiệu suất ▪ Biết kỹ thuật lập trình với Kotlin, Java, Spring ▪ Hoàn thành ứng dụng với giao diện trực quan, hoạt động tốt tảngAndroid ▪ Hiểu vận dụng Oauth2 ▪ Giải tốn đa dạng hàng hóa - Đối với ứng dụng bên mua: ▪ Với khách hàng người dùng chưa đăng nhập, xem sản phẩm, tìm kiếm sản phẩm đăng ký tài khoản ▪ Với khách hàng người mua đăng nhập thực chức xem sản phẩm, quản lý danh sách yêu thích, quản lý giỏ hàng, quản lý địa giao hàng, nhắn tin với bên người bán, tạo đơn hàng,xem tình trạng đơn hàng, hủy đơn hàng đánh giá sản phẩm sau mua hàng thành công - Đối với ứng dụng bên bán ▪ Với khách hàng cửa hàng đăng nhập quản lí, thực CRUD sản phẩm, thực nhắn tin với khách hàng, thực cập nhật trạng thái giao hàng, hủy đơn hàng phát bất thường, thực quản lý ngành hàng, loại hàng,… - Các tiêu chí khác ▪ Tính thẩm mỹ: Ứng dụng có giao diện dễ nhìn, dễ dàng thực thao tác, khơng gây cảm giác khó chịu hay khó sử dụng cho người dùng ▪ Tính logic bảo mật: + Tạo luồng quán giứa hình, dễ hiểu cho khách hàng đồng thời đảm bảo có đầy đủ thơng tin liên quan đến đơn hàng + Đảm bảo tính bảo mật thông tin quan trọng, thiết yếu khách hàng, tránh để lộ liễu thông tin để tạo niềm tin vào ứng dụng + Đối với bên bán đảm bảo việc tương tác với người mua việc quản lý sản phẩm, đơn hàng hay chức trực tiếp nhắn tin trao đổi với khách hàng Giao diện main screen 133 Danh sách sản phẩm 134 Giao diện thêm sản phẩm 135 Giao diện xem ngành hàng 136 Giao diện quản lí xem loại hàng 137 Giao diện danh sách đơn hàng 138 Giao diện hủy đơn hàng 139 Chương ÁP DỤNG BÀI TỐN 4.1 Bài tốn đặt hàng 4.1.1 Đặt vấn đề: Đặt hàng khâu vô quan trọng, ảnh hưởng lớn đến trải nghiệm người dùng, với luồng mua hàng thường sử dụng sau: • Bước 1: Khách hàng chọn sản phẩm, từ giỏ hàng vào trang đặt hàng • Bước 2: Khách hàng kiểm tra thơng tin ấn đặt hàng • Bước 3: Hệ thống tiến hành kiểm tra lại số lượng đặt hàng • Bước 4: Hệ thống tiến hành tạo đơn hàng cập nhật database • Bước 5: Hệ thống cập nhật lại số lượng sản phẩm • Bước 6: Trả thông báo cho khách hàng mua hàng thành công Với luồng mua hàng cũ ta dễ dàng nhìn thấy có nhiều lỗ hỏng nguy lỗi xảy như: • Nếu Bước thành công Bước hệ thống cập nhật số lượng thất bại gây lỗi nghiêm trọng hệ thống • Nếu thời điểm Bước kiểm tra số lượng đặt hàng đủ sau kiểm tra xong, đơn hàng khác đên Bước cập nhật và=> gây lỗi số lượng sản phẩm, khách hàng chờ lâu không đặt là=> vấn đề tranh chấp tài ngun • Tại Bước khách hàng nhìn thấy số lượng đủ ấn đặt hàng lúc hình tốn lại kiểm tra báo hết hàng dẫn đến=> ảnh hưởng đến trải nghiệm khách hàng 4.1.2 Hướng giải Để giải vấn đề nêu ta thực quy trình mà theo tốn ngồi số lượng sản phẩm cịn lại có thêm tham số Hold mới, để giữ hàng lại cho khách hàng thực tốn Từ có đưa quy trình thực sau: 140 141 Việc thực Hold liệu giúp cho việc toán khách hàng trở nên trơn tru hơn, khơng cịn có khả bị giành hàng hóa đến bước toán Đối với việc thực tốn đến bước cập nhật database ngun nhân mà xảy lỗi cần có khả rollback (quay ngược trở lại), để đảm bảo toàn vẹn liệu Việc rollback hỗ trợ SQL Transaction Transaction tiến trình thực nhóm câu lệnh SQL Các câu lệnh thực thi cách độc lập Một Transaction thực thành công tất câu lệnh thành công, tất thay đổi liệu thực Transaction lưu vào sở liệu Tuy nhiên, số thất bại tồn tiến trình thất bại, đồng nghĩa với việc liệu phải rollback trạng thái ban đầu (dữ liệu khôi phục trạng thái trước thực Transaction) Đối với việc thực transaction, Spring hỗ trợ anotation @Transactional, có tác dụng tạo transaction bao bọc lấy hàm đánh dấu, để thực thi mà xãy lỗi, rollback lại trạng thái ban đầu Điều giúp việc triển khai trở nên tiện lợi Để đảm bảo việc khơng có người vào lúc, gây lỗi khơng đáng có cho sở liệu, ta cần thực hiển để request gọi đến đến API “thanh toán” thực xếp thành hàng đợi 4.2 Bài toán đa dạng hàng hóa 4.2.1 Đặt vấn đề Đối với đa dạng hàng hóa, ứng dụng cần có linh hoạt thay đổi thuộc tính hàng hóa Một số ứng dụng ngày nay, tập trung vào loại hàng hóa, mà chưa thực triển khai việc đa dạng hàng hóa Việc thiếu khả đa dạng hàng hóa dẫn đến nhiều loại chi phí mở rộng bên bán muốn mở thêm mặt hàng 4.2.2 Hướng giải 142 Thực giải cách cải tiến lại sở liệu, tách riêng bảng sản phẩm thuộc tính nội sản phẩm, lưu trữ bảng riêng ánh xạ sản phẩm thuộc tính Việc tách biệt bảng giá trị tên thuộc tính hỗ trợ tăng khả tái sử dụng thuộc tính Giảm việc lặp lại việc tạo thuộc tính, hỗ trợ giảm thao tác người dùng Đối với thuộc tính màu sắc ta thực tạo ràng buộc cú pháp đặc biệt riêng biệt để hệ thống nhận diện hiển thị lên hình 4.3 Bài tốn hiển thị lưu trữ hình ảnh 4.3.1 Đặt vấn đề Các website thương mại điện tử thường phải có nhiều loại hình ảnh từ sản phẩm, loại hàng đến quảng cáo, đặt toán cho việc sử dụng hình ảnh nhiều vị trí ứng dụng hay website cho hợp lý: • Nếu sử dụng hình ảnh có độ phân giải lớn dẫn đến việc tải trang web hay ứng dụng nhiều thời gian • Nếu sử dụng hình ảnh có độ phân giải thấp làm cho trải 143 nghiệm người dùng bị ảnh hưởng Như hình ảnh phải uyển chuyển việc sử dụng thỏa yêu cầu tốc độ tải trải nghiệm người dùng 4.3.2 Hướng giải Tham khảo từ ứng dụng thương mại điện tử lớn Việt Nam giới ta thấy hình ảnh cần xử lý, tối ưu (optimize) phù hợp với vị trí loading Có nghĩa hình ành đưa lên sở liệu, ta lưu nhiều kích thước khác nhau, cần hiển thị, tùy theo vị trí, kích cỡ ô ImageView mà ta tải lên hình ảnh tương ứng Điều giúp giảm thiểu tối đa dung lượng ảnh cần tải lên, đồng thời đảm bảo trải nghiệm người dùng, kích thước ImageView lớn hay nhỏ có ảnh giảm độ phân giải tương đương để đảm bảo chất lượng ảnh Tuy nhiên hướng giải làm tăng lượng ảnh cần lưu hệ thống, cần có quy định ảnh đầu vào để đảm bảo kích thước ảnh khác đảm bảo độ “rõ” ảnh 4.4 Bài toán cập nhật trạng thái đơn hàng, hủy đơn hàng trả hàng 4.4.1 Đặt vấn đề: Hiện có nhiều hệ thống thương mại điện tử hoạt động hệ thống tự xây dựng cho hệ thống giao vận riêng mà thường hợp tác với cơng ty vận chuyển có sẵn, vậy: • Các trạng thái đơn hàng thường thấy như: Chờ xác nhận, xác nhận gửi người bán cập nhật, trạng thái sau từ lúc gửi đến lúc nhận hàng phải bên giao vận cập nhật đặt vấn đề chia sẻ tài nguyên bên dẫn đến việc hệ thống cần có khả mở rộng kết nối với hệ thống đối tác • Vấn đề hủy đơn trả hàng tương tự, hủy đơn trạng thái chờ xác nhận, xác nhận gửi tương tác khách hàng chủ shop nhiên khách hàng hủy đơn hàng lúc vận chuyển hay trả lại hàng cần có cập nhật từ bên giao vận thứ 144 4.4.2 Hướng giải quyết: Xây dựng hệ thống có khả giao tiếp với bên giao vận theo hai hướng: • Trao đổi liệu chiều hai bên: thực kiến trúc truyền thông điệp liệu thay đổi thông điệp truyền qua lại hai server chủ shop đối tác vận chuyển Ưu điểm: liệu cập nhật nhanh chóng, xảy sai sót Nhược điểm: đơi không đồng thuận từ đối tác vận chuyển tốn thêm chi phí cho việc thay đổi server sẵn có • Trao đổi liệu chiều từ server hệ thống đến server đối tác: thực tự động quét lấy liệu sau khoản thời gian Ưu điểm: phụ thuộc vào thay đổi server bên đối tác Nhược điểm: cập nhật liệu bị chậm 145 Chương KẾT LUẬN 5.1 Kết đạt 5.1.1 Lý thuyết - Hiểu toán thương mại điện tử - Sử dụng công nghệ liên quan để giải toán - Thực toán Oauth2, JWT xác thực người dùng - Giải toán đa dạng hàng hóa - Giải tốn đặt hàng - Hiểu triển khai nghiệp vụ ứng dụng mua bán trực tuyến 5.1.2 Công nghệ Java Spring Boot: đồ án sử dụng Java Spring Boot để xây dựngbackend, tạo API cho ứng dụng MySQL: Sử dụng hệ quản trị sở liệu MySQL để lưu trữ databasecủa ứng dụng JWT + Oauth2: để đăng nhập từ bên thứ xác thực người dùng Kotlin: xây phần ứng dụng mobile cho người bán người mua 5.1.3 ỨNG DỤNG 5.1.3.1 Ứng dụng bên phần khách hàng Có thể đăng ký để tạo tài khoản Đăng nhập để vào ứng dụng Có thể tìm kiếm sản phẩm Có thể xem thơng tin chi tiết sản phẩm Có thể xem sản phâm theo ngành hàng, loại hàng Có thể chỉnh sửa địa giao hàng Có thể thêm sản phẩm vào giỏ hàng, yêu thích sản phẩm, xem sảnphẩm xem Có thể xem lịch sử đơn hàng, tạo đơn hàng, hủy đơn hàng 146 5.1.3.2 Quản lý Người bán quản lý sản phẩm Người bán quản lý đơn hàng Người bán quản ngành hàng loại hàng, thuộc tính khác biệt nội sản phẩm Người bán có quản lý thơng tin bên bán Người bán quản lý đơn hàng, cập nhật trạng thái đơn hàng, hủy đơn hàng 5.2 Hạn chế - APOSS cịn nhiều chức thiếu sót hạn chế: + Chưa tích hợp toán trực tuyến + Tối ưu code chưa tốt nên tốc độ tương tác ứng dụng chậm + Chưa phát triển tính xác thực qua email + Chưa có thơng báo thị di động có thay đổi trạng thái đơn hàng hay từ danh sách u thích thơng báo từ người bán + Không đủ thời gian, nên số chức chưa hoàn thiện + Một số chức dừng bước thiết kế 5.3 Hướng phát triển - Tiếp tục thực chức cịn thiếu - Tích hợp tốn trực tuyến qua Paypal, Momo, hay đơn vị ngân hàng khác… - Thêm vào việc lựa chọn đơn vị vận chuyển, liên kết ngân hàng tốn - Tối ưu hóa code để tăng hiệu suất ứng dụng - Hoàn thiện thêm nhiều chức quản lý ứng dụng Admin - Thêm phân quyền cho nhân viên để mở rộng hệ thống - Quản lý chi tiết nghiệp vụ nhập hàng, xuất hàng tồn kho - Thêm vào kết nối API đến bên vận chuyển để lấy đươc thơng tin vị trí đơn hàng - Thực thi thêm phần tối ưu tải ảnh để gia tăng thêm hiệu suất - Cải tiến thuật toán đặt hàng 147 ... tăng nhu cầu mua bán hàng hóa, đặc biệt mua bán hàng hóa trực tuyến, nơi mà giao dịch thực nhanh chóng tiện lợi Nắm bắt xu hướng đó, đồ án ? ?Ứng dụng cung cấp dịch vụ mua bán trực tuyến? ?? đảm đương... actor Tên Actor Khách hàng Admin Mô tả ngắn/ ghi Khách hàng doanh nghiệp, cá nhân cung cấp dịch vụ mua bán trực tuyến Người, doanh nghiệp cung cấp dịch vụ mua bán trực tuyến 17 3.3.1.3 STT Danh... ngôn ngữ Java sử dụng Spring boot framework, hệ quản trị sở liệu MySQL, nghiệp vụ hay bước xử lý toán đặc trưng ứng dụng bán hàng online cụ thể đồ án cung cấp dịch vụ mua bán trực tiếp, hiểu cách

Ngày đăng: 15/01/2022, 21:44

Xem thêm: