Xây dựng WEBSITE bán hàng với dữ liệu lớn

49 32 0
Xây dựng WEBSITE bán hàng với dữ liệu lớn

Đ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 VƯƠNG THỊNH ĐẠT – 17520343 ĐINH HOÀNG NHI – 17520853 BÁO CÁO ĐỒ ÁN XÂY DỰNG WEBSITE BÁN HÀNG VỚI DỮ LIỆU LỚN GIẢNG VIÊN HƯỚNG DẪN THS HUỲNH HỒ THỊ MỘNG TRINH TP HỒ CHÍ MINH, 2021 LỜI MỞ ĐẦU Ngày nay, nhờ có kĩ thuật số sống người cải thiện nhiều, nhanh chóng thuận tiện Thương mại điện tử có xu hướng phát triển mạnh qua ngày Chúng ta đặt hàng u thích nhà vòng vài phút ứng dụng mua hàng điện thoại thông qua website bán hàng online Từ thấy giúp tiết kiệm khối lượng lớn thời gian để tập trung vào cơng việc khác Từ thấy lợi ích mà website thương mại điện tử mang lại tạo thành mạnh để phát triển kinh tế đất nước Ở đồ án này, chúng em xây dựng website thương mại điện tử hướng tới mặt hàng laptop, nhiên với cải tiến công nghệ kĩ thuật xây dựng từ đồ án 1, kèm theo việc tập trung vào lượng liệu thực tế lớn số trang thương mại điện tử Đồ án giữ lại chức quan trọng website bán hàng online, nhiên tập trung cải thiện mặt công nghệ sử dụng khối lượng liệu đầu vào nghiên cứu cách tối ưu xử lí liệu Nhóm xin gửi lời cảm ơn chân thành đến cô Huỳnh Hồ Thị Mộng Trinh hỗ trợ nhiều ý tưởng kĩ thuật trình phát triển đồ án Chúng em xin chân thành cảm ơn! Nhóm thực đồ án MỤC LỤC Chương MỞ ĐẦU 1.1 Lí chọn đề tài 1.2 Mục đích chọn đề tài 1.3 Đối tượng phạm vi nghiên cứu: 10 1.3.1 Đối tượng nghiên cứu 10 1.3.2 Phạm vi nghiên cứu 10 Chương TỔNG QUAN .11 2.1 Một số vấn đề tồn từ đồ án 11 2.2 Vấn đề nghiên cứu .11 Chương NGHIÊN CỨU 12 3.1 Các công nghệ sử dụng để cải tiến ứng dụng 12 3.1.1 Java Spring Framework 12 3.1.2 ReactJS Library 12 3.1.3 Redis 12 3.1.4 MariaDB .12 3.1.5 Python .13 3.2 Kĩ thuật lấy nguồn liệu 13 3.3 Hosting ứng dụng 13 3.4 Một số kĩ thuật tối ưu việc xử lí liệu 14 Chương CÁCH THỰC HIỆN 14 4.1 Phân tích cơng nghệ cách ứng dụng vào đồ án 14 4.2 Kiến trúc hệ thống: 15 4.2.1 Kiến trúc tổng quan: .15 4.2.2 Mô tả kiến trúc: 17 4.3 Kiến trúc mã nguồn: 18 4.3.1 Link source code đồ án nhóm: 18 https://github.com/nhidh99/uitJ2EE/tree/master/laptop-store 18 4.3.2 Cấu trúc mã nguồn phía client-side: .18 4.3.3 Cấu trúc mã nguồn phía server-side: .18 4.4 Cách crawl liệu từ website: 19 4.4.1 Cấu trúc module laptop-store-crawl: 19 4.4.2 Phân tích tốn: 19 4.5 Kiểm thử RESTful Web Service tạo: 20 4.5.1 Kiểm thử RESTful Web Service Postman: 20 4.5.2 Thao tác Website: 22 4.5.3 Ghi 23 4.6 Phương pháp xử lí số tốn bản: .24 4.6.1 Phân quyền người dùng truy cập trang: 24 4.6.2 Bảo mật xác thực thông tin người dùng: 24 4.6.3 Tối ưu hóa tốc độ tải trang: 24 4.6.4 Tối ưu hóa cơng cụ tìm kiếm (SEO): 24 4.6.5 Bài toán xử lí số lượng: 25 4.6.6 Xác thực địa Việt Nam: 25 4.6.7 Nguồn liệu mẫu: 25 4.6.8 Tối ưu liệu: 25 4.7 Chức thành phần giao diện: .26 4.7.1 Mục lục điều hướng: .26 4.7.2 Thanh tìm kiếm theo tên: 26 4.7.3 Bộ lọc tìm kiếm: 26 4.7.4 Biển quảng cáo: 28 4.7.5 Phân mục sản phẩm 28 4.7.6 Mô tả tổng quan sản phẩm: 29 4.7.7 Thông tin chi tiết sản phẩm: 31 4.7.8 Danh mục sản phẩm tương tự: 32 4.7.9 Mục hỏi đáp sản phẩm: 32 4.7.10 Mục đánh giá sản phẩm: .34 4.7.11 Danh mục giỏ hàng: 35 4.7.12 Màn hình tạo đơn đặt hàng: 36 4.7.13 Mục lục điều hướng quản lí thơng tin cá nhân: 37 4.7.14 Các hình quản lí thơng tin cá nhân: .38 4.7.15 Các hình quản lí thơng tin cửa hàng: 42 Chương KẾT LUẬN 46 5.1 Các kết đạt 46 5.2 Nhược điểm hạn chế 47 Chương HƯỚNG PHÁT TRIỂN 48 6.1 Hướng phát triển mặt tính năng: 48 6.2 Hướng phát triển mặt kĩ thuật: 48 Chương TÀI LIỆU THAM KHẢO 49 DANH MỤC HÌNH Hình Kiến trúc luồng xử lí client-side server-side 16 Hình ERD Cơ sở liệu cho đồ án 17 Hình Kiến trúc xử lí client server microservice 18 Hình URL Endpoint Content-Type header 21 Hình Request body theo chuẩn JSON 21 Hình Bearer Token JWT .21 Hình Response request thành cơng .22 Hình Database sau thực request 22 Hình Response request Unauthorized 22 Hình 10 Các trường thơng tin nhập 23 Hình 11 Popup thông báo yêu cầu thực 22 Hình 12 Danh sách địa bao gồm địa vừa tạo xử lí u cầu thành cơng 24 Hình 13 Phần code thực POST request sử dụng Axios 23 Hình 14 Mục lục điều hướng 26 Hình 15 Thanh tìm kiếm theo tên 26 Hình 16 Bảng lọc tìm kiếm 27 Hình 17 Biển quảng cáo 29 Hình 18 Phân mục sản phẩm .290 Hình 19 Mơ tả tổng quan sản phẩm .30 Hình 20 Thơng tin chi tiết sản phẩm .32 Hình 21 Danh mục sản phẩm tương tự 33 Hình 22 Mục hỏi đáp sản phẩm .34 Hình 23 Mục đánh giá sản phẩm 35 Hình 24 Danh mục giỏ hàng 36 Hình 25 Màn hình tạo đơn đặt hàng 37 Hình 26 Mục lục điều hướng quản lí thơng tin cá nhân 38 Hình 27 Màn hình quản lí thơng tin người dùng 39 Hình 28 Màn hình quản lí sổ địa giao hàng .39 Hình 29 Màn hình quản lí mật 39 Hình 30 Màn hình danh sách đơn hàng 39 Hình 31 Màn hình theo dõi trạng thái đơn hàng 40 Hình 32 Màn hình theo dõi cột mốc 41 Hình 33 Màn hình quản lí danh sách đơn hàng .43 Hình 34 Màn hình quản lí danh sách laptop 44 Hình 35 Màn hình quản lí danh sách quà khuyến 45 Hình 36 Màn hình quản lí đánh giá .46 Hình 37 Màn hình quản lí hỏi đáp trả lời 47 TÓM TẮT ĐỒ ÁN  Đồ án tập trung nghiên cứu hai vấn đề chính: cách thiết kế mơ hình ứng dụng web (ở cấp độ bản) xử lí liệu với khối lượng data lớn từ nguồn liệu thực tế  Nhóm tiếp cận thơng qua việc sử dụng phân tích từ sản phẩm thực tế trang web thương mại điện tử lớn thegioididong Tiki, đồng thời tìm hiểu thêm số yêu cầu kĩ thuật cần có trang web bán hàng online xu hướng phát triển web đại, cộng thêm kiến thức cung cấp từ thầy cô khoa Công nghệ phần mềm để lên kế hoạch thực triển khai thực đề tài  Đồ án có số thay đổi cải tiến cấu trúc, code base công nghệ sử dụng so với đồ án 1, nhiên công nghệ chủ đạo Java ReatJS giữ nguyên  Sau tháng nghiên cứu, phân tích, tìm hiểu bảo trì, sản phẩm nhóm có tiến đáng kể mặt xử lí khối lượng liệu lớn có khả scale với lượng data lớn từ – 10 lần đảm bảo hiệu năng, xem thành công việc xây dựng đồ án nhóm  Trong q trình tìm hiểu phát triển đồ án dĩ nhiên tránh khỏi thiếu sót, nhóm mong nhận đánh giá góp ý từ thầy để có thêm kinh nghiệm việc phát triển phần mềm cần ứng dụng kiến thức kĩ thuật tương lai Chương MỞ ĐẦU 1.1 Lí chọn đề tài  Website thương mại điện tử phục vụ cho việc mua sắm trực tuyến khơng cịn q xa lạ thời đại công nghệ ngày Tuy nhiên việc xây dựng trang web thương mại điện tử đòi hỏi nhiều chi phí thực hiện: sử dụng template phục vụ tạo sẵn bị hạn chế nhiều tính năng, chức năng, hiệu suất trang web chi phí trì; mặt khác, cần xây dựng trang web theo ý muốn lại đòi hỏi nhiều kĩ thuật chi phí phát triển, áp dụng nhiều công nghệ cho việc phát triển  website bán hàng thương mại điện tử Các toán việc xây dựng trang web bán hàng online ln đầy tính thử thách hấp dẫn với lập trình viên, đặc biệt mặt kĩ thuật lập trình, song song thực tốt, sản phẩm trở thành  khung mẫu (template) tùy biến theo đối tượng khách hàng Trong đồ án môn học này, kết hợp kiến thức học quy trinh, tìm hiểu nghiệp vụ, cơng nghệ phát triển phần mềm đặc biệt kĩ thuật xây dựng website thương mại điện tử, đồng thời nhằm cải thiện thiếu sót đồ án định hướng phát triển giảng viên hướng dẫn Nhóm định xây dựng website bán hàng với liệu lớn với nhiều cải tiến mặt kĩ thuật, đồ án gọi dự án bảo trì nâng cấp từ đồ án 1.2 Mục đích chọn đề tài  Về tính kĩ thuật, việc bảo trì nâng cấp website lượng liêu đầu vào lớn điều bắt buộc cần thực so với website xử lí lượng liệu nhỏ ban đầu; đồng thời có cải tiến áp dụng nhiều  kĩ thuật khối lượng liệu tăng cao… Về mặt chức năng, website thương mại điện tử địi hỏi cần thực nhiều tốn nghiệp vụ cần vận dụng kiến thức phân tích xây dựng phần mềm, đồng thời yêu cầu phát triển tính bảo mật, tối ưu hóa trang web, xử lí liệu, hết đảm bảo tốc độ tải trang không  lâu với lượng liệu lớn Từ đó, q trình thực đồ án, nhóm thực bảo trì website bán hàng thương mại điện tử với liệu lớn có đủ khả ứng dụng thực tiễn lẫn nghiên cứu áp dụng công nghệ xu phát triển web đại 1.3 Đối tượng phạm vi nghiên cứu: 1.3.1 Đối tượng nghiên cứu  Quy trình kiến trúc ứng dụng web số công nghệ sử dụng khối lượng liệu đầu vào lớn cần chịu tải cao  Một số kĩ thuật xử lí liệu website thương mai điện tử nhằm tối ưu hiệu suất trang web việc xử lí yêu cầu người dùng 1.3.2 Phạm vi nghiên cứu  Vì đồ án tập trung vào việc bảo trì, nâng cấp có thay đổi mặt liệu, nên phần lớn nội dung trình bày thiên nhiều hướng kĩ thuật kiến trúc  Phần giao diện website xây dựng dựa thư viện Javascript Facebook phát hành ReactJS – framework phát triển giao diện web (front-end) phổ biến  Phần server xây dựng công nghệ Java Spring với nhiều công nghệ hỗ trợ kèm khác phục vụ tốt cho việc phát triển ứng dụng web Spring MVC, Spring Security, Spring Data…  Ngồi nhóm cịn nghiên cứu số kĩ thuật, cơng nghệ cho website có liệu đầu vào lớn 4.7.11 Danh mục giỏ hàng:     Lưu mặt hàng chọn để tiến hành đặt mua Người dùng theo dõi thông tin số lượng, tổng giảm giá tổng tạm tính Người dùng thay đổi số lượng bỏ mặt hàng khỏi giỏ hàng Người dùng thực tiến hành đặt hàng cách nhấn nút ‘Tiến hành đặt hàng` để xem trước đơn hàng gồm sản phẩm giỏ hàng Hình 54 Danh mục giỏ hàng 4.7.12 Màn hình tạo đơn đặt hàng:  Người dùng chọn địa giao hàng danh mục địa giao hàng tạo lập trước đó, khơng có địa cần giao danh sách, người dùng tạo cách nhấn vào nút “Thêm địa chỉ”  Hiển thị chi tiết mặt hàng quà khuyến kèm tiến hành đặt hàng  Hiển thị thông tin giao hàng ngày dự kiến giao, tạm tính, phí vận chuyển, thành tiền  Người dùng xác nhận đặt hàng cách nhấn vào nút `Đặt hàng` Hình 65 Màn hình tạo đơn đặt hàng 4.7.13 Mục lục điều hướng quản lí thơng tin cá nhân:  Người dùng vào trang tài khoản để quản lí thơng tin như: thơng tin cá nhân, danh sách địa chỉ, mật khẩu, xem lại danh mục đơn hàng, danh mục sản phẩm xem sau cột mốc đạt  Người dùng xem trạng thái đơn hàng đặt hủy đơn hàng khơng cịn nhu cầu (đơn hàng hủy phải khơng tình trạng đóng gói trở đi)  Người dùng đăng xuất khơng cịn nhu cầu sử dụng Hình 26 Mục lục điều hướng quản lí thơng tin cá nhân 4.7.14 Các hình quản lí thơng tin cá nhân: Hình 27 Màn hình quản lí thơng tin người dùng Hình 78 Màn hình quản lí sổ địa giao hàng Hình Màn hình quản lí mật Hình 30 Màn hình danh sách đơn hàng Hình Màn hình theo dõi trạng thái đơn hàng Hình 10 Màn hình theo dõi cột mốc 4.7.15 Các hình quản lí thơng tin cửa hàng: Hình 311 Màn hình quản lí danh sách đơn hàng Hình 12 Màn hình quản lí danh sách laptop Hình 135 Màn hình quản lí danh sách q khuyến Hình 36 Màn hình quản lí đánh giá Hình 37 Màn hình quản lí câu hỏi trả lời Chương KẾT LUẬN 5.1 Các kết đạt  Kĩ thuật lập trình, khả tìm hiểu áp dụng cơng nghệ nhóm trau dồi rút nhiều kinh nghiệm quý giá, phần nắm xu   phát triển web Đã thực deploy sản phẩm lên Heroku Azure thành công Đã chuyển đổi công nghệ từ J2EE lõi sang Java Spring optimize performance trang web  Crawl nhiều liệu 10 lần so với đồ án đảm bảo performance website 5.2 Nhược điểm hạn chế   Một số chức website chưa thực hoàn thiện Giao diện dành riêng cho hình rộng theo cỡ laptop trở lên, chưa có giao diện tương thích với thiết bị cầm tay Chương HƯỚNG PHÁT TRIỂN 6.1 Hướng phát triển mặt tính năng:   Hỗ trợ tốn trực tuyến Chức trị chuyện với người quản lí (người bán hàng) (thông qua   messenger) Chức phóng to ảnh trỏ chuột vào hình ảnh sản phẩm Chức xác thực người dùng, khôi phục mật khẩu, thơng tin đơn hàng,  chương trình khuyến đến người dùng qua mail Hệ thống thông báo đến người dùng 6.2 Hướng phát triển mặt kĩ thuật:  Tối ưu hoá performance frontend cách giảm thiểu số lượng code   CSS không cần thiết Cải thiện bảo mật với JWT liên kết với tài khoản mạng xã hội Refractor để đảm bảo best practice backend Chương TÀI LIỆU THAM KHẢO [1] WebAlive, "72 Must-Have Ecommerce Website Features [Infographic]," 15 2019 [Online] Available: https://www.webalive.com.au/ecommerce-website-features/ [2] A Mangin, "How to better organize your React applications?," 28 2016 [Online] Available: https://medium.com/@alexmngn/how-to-better-organize-your-reactapplications-2fd3ea1920f1 [3] C Richardson, "What are microservices?," [Online] Available: https://microservices.io/ [4] C Schneider, "Tutorials for Apache Karaf," [Online] Available: http://liquidreality.de/Karaf-Tutorial/ [5] Spring framework [Online] Available: https://spring.io/ [6] React – A JavaScript library for building user interfaces (reactjs.org), [Online] Available: https://reactjs.org/ [7] Redis for caching data, [Online] Available: https://redis.io/ ... biệt kĩ thuật xây dựng website thương mại điện tử, đồng thời nhằm cải thiện thiếu sót đồ án định hướng phát triển giảng viên hướng dẫn Nhóm định xây dựng website bán hàng với liệu lớn với nhiều cải...  Dữ liệu lấy cách gửi request đến server website Tiki từ file html website thegioididong  Sau crawl liệu, ghi liệu vào file excel file text (txt)  Từ file liệu tạo, dùng Python để thêm liệu. .. tiến công nghệ kĩ thuật xây dựng từ đồ án 1, kèm theo việc tập trung vào lượng liệu thực tế lớn số trang thương mại điện tử Đồ án giữ lại chức quan trọng website bán hàng online, nhiên tập trung

Ngày đăng: 05/09/2021, 20:50

Mục lục

    1.1. Lí do chọn đề tài

    1.2. Mục đích chọn đề tài

    1.3. Đối tượng và phạm vi nghiên cứu:

    1.3.1. Đối tượng nghiên cứu

    1.3.2. Phạm vi nghiên cứu

    2.1. Một số vấn đề còn tồn tại từ đồ án 1

    2.2. Vấn đề nghiên cứu

    3.1. Các công nghệ sử dụng để cải tiến ứng dụng

    3.2. Kĩ thuật lấy nguồn dữ liệu

    3.4. Một số kĩ thuật tối ưu trong việc xử lí dữ liệu