Xây Dựng Ứng Dụng Bán Hàng Thủy Hải Sản với Hệ Thống Khuyến Nghị

Xây dựng ứng dụng bán hàng hiệu quả hơn với hệ thống gợi ý sản phẩm thông minh. Tăng doanh số, cải thiện trải nghiệm khách hàng, tối ưu hóa chuyển đổi.

Chuyên ngành

Công Nghệ Phần Mềm

Người đăng

Ẩn danh

Thể loại

Đồ án 1

2022

147
2
0

Phí lưu trữ

35 Point

Mục lục chi tiết

LỜI CẢM ƠN

1. CHƯƠNG 1: GIỚI THIỆU CHUNG

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

1.2. Điểm mới và khác biệt về chức năng của đề tài so với một số ứng dụng mua bán trên sàn thương mại điện tử hiện nay

1.3. Điểm khác biệt của đề tài

1.4. Điểm mới nổi bật của đề tài

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

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

1.7. Phương pháp nghiên cứu

2. CHƯƠNG 2: CÔNG NGHỆ SỬ DỤNG

2.1. Hệ quản trị cơ sở dữ liệu MySQL

2.2. Tại sao lại sử dụng MySQL

2.3. Cơ sở dữ liệu MongoDB

2.4. Một số thông tin về MongoDB

2.5. Ứng dụng MongoDB vào đồ án

2.6. JSON Web Token (JWT)

2.7. Áp dụng JWT vào Đồ án?

2.8. Áp dụng Postman vào đồ án?

2.9. React Native là gì?

2.10. Sử dụng React Native trong Đồ án?

2.11. Sử dụng NodeJS trong Đồ án?

2.12. Visual Studio Code

2.13. Visual Studio Code là gì?

2.14. Tính năng của Visual Studio?

2.15. Tính năng của Recombee?

2.16. Sử dụng Recombee trong Đồ án?

3. CHƯƠNG 3: XÂY DỰNG HỆ THỐNG

3.1. Xây dựng kiến trúc hệ thống

3.2. Kiến trúc hệ thống ứng dụng

3.3. Xác định yêu cầu hệ thống

3.4. Phân tích yêu cầu hệ thống

3.5. Phần ứng dụng Mobile cho người mua (React Native)

3.6. Phần ứng dụng Mobile (người bán)

3.7. Phân tích thiết kế hệ thống

3.8. Danh sách Actor

3.9. Danh sách Use case

3.10. Danh sách đặc tả Use case

3.11. Phân tích và thiết kế cơ sở dữ liệu

3.12. Mô tả dữ liệu

3.13. Chi tiết dữ liệu

3.14. Thiết kế giao diện

3.15. Giao diện ứng dụng di động dành cho người mua

3.16. Giao diện ứng dụng di động dành cho Staff

3.17. Giao diện ứng dụng di động dành cho Admin

4. CHƯƠNG 4: ÁP DỤNG BÀI TOÁN

4.1. Bài toán về hiển thị và lưu trữ hình ảnh

4.2. Hướng giải quyết

4.3. Bài toán cập nhật trạng thái đơn hàng, hủy đơn hàng và trả hàng

4.4. Hướng giải quyết:

4.5. Bài toán xác thực, phần quyền người dùng, sử dụng JWT:

4.6. Hướng giải quyết:

4.7. Bài toán khuyến nghị người dùng:

4.8. Hướng giải quyết:

5. CHƯƠNG 5: KẾT LUẬN

5.1. Kết quả đạt được

5.2. Ứng dụng bên phần khách hàng

5.3. Ứng dụng bên phần quản lý

5.4. Hướng phát triển

6. CHƯƠNG 6: TÀI LIỆU KHAM KHẢO

DANH MỤC HÌNH

DANH MỤC BẢNG

DANH MỤC TỪ VIẾT TẮT

TÓM TẮT BÁO CÁO ĐỒ ÁN

Tóm tắt

I. Giới thiệu tổng quan về ứng dụng bán hàng thông minh

Trong bối cảnh kinh tế hiện đại, nhu cầu trao đổi hàng hóa ngày càng tăng cao, đặc biệt là thông qua các kênh trực tuyến. Các công ty công nghệ hàng đầu liên tục đầu tư vào các giải pháp thương mại điện tử, nhận thấy tầm quan trọng của website và ứng dụng bán hàng di động. Người dùng có thể dễ dàng tiếp cận sản phẩm mình cần chỉ với vài thao tác đơn giản trên thiết bị kết nối Internet, tiết kiệm đáng kể thời gian và công sức. Đặc biệt, trong thời kỳ dịch bệnh Covid-19 diễn biến phức tạp, kinh doanh trực tuyến trở thành giải pháp tối ưu để giảm thiểu tiếp xúc trực tiếp và tập trung đông người. Ứng dụng bán hàng không chỉ là một kênh phân phối, mà còn là một công cụ để thu thập dữ liệu người dùng, phân tích hành vi mua sắm và cá nhân hóa trải nghiệm. Điều này đòi hỏi các ứng dụng phải tích hợp các tính năng gợi ý sản phẩm thông minh, giúp người dùng khám phá những sản phẩm phù hợp với nhu cầu và sở thích của họ. Theo báo cáo đồ án từ Đại học Quốc gia TP. Hồ Chí Minh, một nhóm nghiên cứu đã phát triển "ứng dụng di động mua bán thủy hải sản tích hợp hệ thống khuyến nghị sản phẩm" nhằm hỗ trợ người dùng giảm bớt khó khăn trong việc đi chợ trực tiếp và góp phần hạn chế gia tăng dịch bệnh. Dự án này nhấn mạnh tầm quan trọng của việc ứng dụng công nghệ để giải quyết các vấn đề thực tế trong xã hội. Hệ thống khuyến nghị sản phẩm là yếu tố then chốt giúp nâng cao trải nghiệm người dùng, tăng doanh số bán hàng và tạo lợi thế cạnh tranh cho doanh nghiệp. Việc tích hợp các thuật toán học máy, khai thác dữ liệu và phân tích hành vi người dùng cho phép ứng dụng đưa ra những gợi ý chính xác và phù hợp, từ đó thúc đẩy quyết định mua hàng và tăng cường lòng trung thành của khách hàng.

1.1. Tầm quan trọng của ứng dụng bán hàng trong bối cảnh hiện nay

Ứng dụng bán hàng đóng vai trò quan trọng trong việc đáp ứng nhu cầu mua sắm ngày càng tăng của người tiêu dùng. Chúng mang lại sự tiện lợi, linh hoạt và khả năng tiếp cận sản phẩm đa dạng. Trong bối cảnh dịch bệnh và giãn cách xã hội, ứng dụng bán hàng trở thành kênh mua sắm thiết yếu, giúp người dân tiếp cận hàng hóa một cách an toàn và hiệu quả. Theo báo cáo, kinh doanh trực tuyến được khuyến khích phát triển và nhân rộng như một biện pháp hữu hiệu giảm thiểu tiếp xúc trực tiếp. Các ứng dụng thương mại điện tử cung cấp lợi thế về mặt hàng phong phú, dễ dàng lựa chọn, và dịch vụ giao hàng tận nhà, thu hút sự quan tâm của nhiều người tiêu dùng.

1.2. Vai trò của hệ thống gợi ý sản phẩm thông minh trong E commerce

Hệ thống gợi ý sản phẩm là một công cụ quan trọng trong việc nâng cao trải nghiệm người dùng và tăng doanh số bán hàng trên các nền tảng thương mại điện tử. Bằng cách phân tích dữ liệu người dùng, lịch sử mua hàng và hành vi duyệt web, hệ thống có thể đưa ra những gợi ý sản phẩm phù hợp với sở thích và nhu cầu của từng cá nhân. Điều này không chỉ giúp người dùng dễ dàng tìm thấy sản phẩm họ quan tâm, mà còn khám phá những sản phẩm mới mà họ có thể chưa từng biết đến. Recombee có thể được áp dụng cho bất kỳ miền nào có danh mục các mặt hàng và được tương tác bởi một số lượng lớn người dùng. Có thể áp dụng cho các ứng dụng web và thiết bị di động, Recombee cải thiện trải nghiệm người dùng bằng cách hiển thị nội dung phù hợp nhất cho người dùng cá nhân.

II. Thách thức khi xây dựng ứng dụng bán hàng và gợi ý sản phẩm

Việc xây dựng một ứng dụng bán hàng hiệu quả và hệ thống gợi ý sản phẩm thông minh không hề đơn giản. Có rất nhiều thách thức mà các nhà phát triển phải đối mặt, từ việc đảm bảo hiệu suất ứng dụng, bảo mật dữ liệu người dùng, đến việc tích hợp các thuật toán phức tạp và duy trì tính chính xác của hệ thống gợi ý. Một trong những thách thức lớn nhất là xử lý lượng dữ liệu khổng lồ và đa dạng từ người dùng. Để đưa ra những gợi ý chính xác, hệ thống cần phân tích lịch sử mua hàng, hành vi duyệt web, thông tin cá nhân và nhiều yếu tố khác. Việc này đòi hỏi một hạ tầng dữ liệu mạnh mẽ và các thuật toán phức tạp để xử lý và phân tích dữ liệu một cách hiệu quả. Bên cạnh đó, việc bảo mật dữ liệu người dùng cũng là một vấn đề quan trọng. Các ứng dụng bán hàng thu thập rất nhiều thông tin cá nhân, và việc bảo vệ những thông tin này khỏi các cuộc tấn công và lạm dụng là vô cùng quan trọng. Các nhà phát triển cần áp dụng các biện pháp bảo mật tiên tiến, tuân thủ các quy định về bảo vệ dữ liệu và đảm bảo rằng dữ liệu người dùng được lưu trữ và xử lý một cách an toàn. Ngoài ra, việc duy trì tính chính xác của hệ thống gợi ý sản phẩm cũng là một thách thức lớn. Sở thích và nhu cầu của người dùng có thể thay đổi theo thời gian, và hệ thống cần liên tục học hỏi và điều chỉnh để đáp ứng những thay đổi này. Việc này đòi hỏi các thuật toán phải có khả năng thích ứng và học hỏi từ dữ liệu mới, đồng thời phải được đánh giá và điều chỉnh thường xuyên để đảm bảo tính chính xác và hiệu quả.

2.1. Vấn đề về hiệu suất và khả năng mở rộng của ứng dụng

Hiệu suất và khả năng mở rộng là hai yếu tố quan trọng cần xem xét khi xây dựng ứng dụng bán hàng. Ứng dụng cần có khả năng xử lý lượng lớn người dùng và giao dịch đồng thời mà không bị chậm trễ hoặc sập. Theo báo cáo, hiệu suất tải sản phẩm không đồng đều và thời gian tải dữ liệu tăng tuyến tính với độ tăng dữ liệu là một vấn đề cần giải quyết. Việc áp dụng các kỹ thuật như Paging và Lazy Load sẽ giảm thiểu thời gian tải của dữ liệu đồng đều hơn. Khi lượng người dùng tăng lên, ứng dụng cần có khả năng mở rộng để đáp ứng nhu cầu tăng cao mà không ảnh hưởng đến hiệu suất.

2.2. Thách thức trong việc cá nhân hóa và gợi ý sản phẩm chính xác

Cá nhân hóa và gợi ý sản phẩm chính xác là yếu tố then chốt để tạo ra trải nghiệm mua sắm tốt cho người dùng. Tuy nhiên, việc này đòi hỏi thu thập, phân tích và xử lý lượng lớn dữ liệu người dùng, bao gồm lịch sử mua hàng, hành vi duyệt web, thông tin cá nhân và nhiều yếu tố khác. Hơn nữa, sở thích và nhu cầu của người dùng có thể thay đổi theo thời gian, và hệ thống cần liên tục học hỏi và điều chỉnh để đáp ứng những thay đổi này. Việc này đòi hỏi các thuật toán phải có khả năng thích ứng và học hỏi từ dữ liệu mới, đồng thời phải được đánh giá và điều chỉnh thường xuyên để đảm bảo tính chính xác và hiệu quả. Recombee liên tục được nghiên cứu và cải tiến, các thuật toán phức tạp tạo thành cốt lõi của công cụ đề xuất liên tục được quản lý và cải tiến bởi Trí tuệ nhân tạo. Nhờ đó liên tục cải thiện khả năng của hệ thống.

2.3. Bảo mật dữ liệu và quyền riêng tư của người dùng là cực kỳ quan trọng

Trong bối cảnh ngày càng gia tăng các cuộc tấn công mạng và vi phạm dữ liệu, việc bảo vệ thông tin cá nhân của người dùng là ưu tiên hàng đầu. Các ứng dụng bán hàng cần tuân thủ các quy định về bảo vệ dữ liệu, áp dụng các biện pháp bảo mật tiên tiến và đảm bảo rằng dữ liệu người dùng được lưu trữ và xử lý một cách an toàn. Việc sử dụng các công nghệ mã hóa, xác thực hai yếu tố và kiểm soát truy cập chặt chẽ là cần thiết để bảo vệ dữ liệu khỏi các truy cập trái phép. Việc triển khai JWT (JSON Web Token) là một giải pháp để hỗ trợ bảo mật trong hệ thống, và phân quyền cho user. Ngoài ra, các chính sách bảo mật cần được công khai và dễ hiểu để người dùng có thể tin tưởng và yên tâm khi sử dụng ứng dụng.

III. Phương pháp xây dựng hệ thống gợi ý sản phẩm thông minh hiệu quả

Để xây dựng một hệ thống gợi ý sản phẩm thông minh hiệu quả, cần kết hợp nhiều phương pháp và kỹ thuật khác nhau. Một trong những phương pháp phổ biến nhất là sử dụng các thuật toán học máy, chẳng hạn như lọc cộng tác, lọc dựa trên nội dung và học sâu. Lọc cộng tác dựa trên ý tưởng rằng những người dùng có sở thích tương tự trong quá khứ có khả năng sẽ có sở thích tương tự trong tương lai. Thuật toán này phân tích lịch sử mua hàng và hành vi duyệt web của người dùng để tìm ra những người dùng có sở thích tương tự, sau đó gợi ý những sản phẩm mà những người dùng này đã mua hoặc quan tâm. Lọc dựa trên nội dung phân tích các đặc điểm của sản phẩm, chẳng hạn như mô tả, danh mục và thuộc tính, để tìm ra những sản phẩm tương tự với những sản phẩm mà người dùng đã mua hoặc quan tâm. Thuật toán này gợi ý những sản phẩm có đặc điểm tương tự với những sản phẩm mà người dùng đã thích trong quá khứ. Học sâu sử dụng các mạng nơ-ron nhân tạo để học hỏi các mẫu và mối quan hệ phức tạp trong dữ liệu người dùng. Các thuật toán học sâu có thể được sử dụng để phân tích dữ liệu văn bản, hình ảnh và âm thanh, từ đó đưa ra những gợi ý sản phẩm chính xác và phù hợp. Việc lựa chọn phương pháp phù hợp phụ thuộc vào loại dữ liệu có sẵn, mục tiêu kinh doanh và yêu cầu cụ thể của ứng dụng. Ngoài các thuật toán học máy, việc thu thập và xử lý dữ liệu người dùng cũng là một yếu tố quan trọng. Dữ liệu cần được thu thập một cách có hệ thống, làm sạch và chuyển đổi thành định dạng phù hợp cho các thuật toán học máy. Việc này đòi hỏi một quy trình quản lý dữ liệu chặt chẽ và các công cụ phù hợp để xử lý và phân tích dữ liệu một cách hiệu quả.

3.1. Sử dụng thuật toán lọc cộng tác Collaborative Filtering

Thuật toán lọc cộng tác là một trong những phương pháp phổ biến nhất để xây dựng hệ thống gợi ý sản phẩm. Nó dựa trên ý tưởng rằng những người dùng có sở thích tương tự trong quá khứ có khả năng sẽ có sở thích tương tự trong tương lai. Thuật toán này phân tích lịch sử mua hàng và hành vi duyệt web của người dùng để tìm ra những người dùng có sở thích tương tự, sau đó gợi ý những sản phẩm mà những người dùng này đã mua hoặc quan tâm. Phương pháp này có ưu điểm là đơn giản, dễ triển khai và có thể đưa ra những gợi ý bất ngờ, giúp người dùng khám phá những sản phẩm mới.

3.2. Lọc dựa trên nội dung Content Based Filtering và kết hợp

Lọc dựa trên nội dung phân tích các đặc điểm của sản phẩm, chẳng hạn như mô tả, danh mục và thuộc tính, để tìm ra những sản phẩm tương tự với những sản phẩm mà người dùng đã mua hoặc quan tâm. Thuật toán này gợi ý những sản phẩm có đặc điểm tương tự với những sản phẩm mà người dùng đã thích trong quá khứ. Ưu điểm của phương pháp này là có thể đưa ra những gợi ý liên quan trực tiếp đến sở thích của người dùng, đồng thời có thể hoạt động ngay cả khi có ít dữ liệu về người dùng. Kết hợp cả hai phương pháp lọc cộng tác và lọc dựa trên nội dung có thể mang lại kết quả tốt hơn, tận dụng ưu điểm của cả hai phương pháp và giảm thiểu nhược điểm của từng phương pháp.

3.3. Ứng dụng học sâu Deep Learning trong gợi ý sản phẩm

Học sâu sử dụng các mạng nơ-ron nhân tạo để học hỏi các mẫu và mối quan hệ phức tạp trong dữ liệu người dùng. Các thuật toán học sâu có thể được sử dụng để phân tích dữ liệu văn bản, hình ảnh và âm thanh, từ đó đưa ra những gợi ý sản phẩm chính xác và phù hợp. Ưu điểm của phương pháp này là có thể xử lý dữ liệu phức tạp và đa dạng, đồng thời có thể học hỏi từ dữ liệu một cách tự động mà không cần sự can thiệp của con người. Tuy nhiên, phương pháp này đòi hỏi lượng lớn dữ liệu và tài nguyên tính toán, đồng thời khó giải thích kết quả.

IV. Ứng dụng thực tiễn Xây dựng ứng dụng bán hải sản có gợi ý

Dựa trên báo cáo đồ án từ Đại học Quốc gia TP. Hồ Chí Minh, một nhóm sinh viên đã xây dựng một ứng dụng bán hàng thủy hải sản tích hợp hệ thống khuyến nghị sản phẩm. Ứng dụng này không chỉ cung cấp một kênh mua sắm tiện lợi cho người tiêu dùng, mà còn giúp các cửa hàng thủy hải sản mở rộng thị trường và tăng doanh số bán hàng. Ứng dụng cung cấp một giao diện thân thiện, dễ sử dụng, cho phép người dùng dễ dàng tìm kiếm, lựa chọn và mua các sản phẩm thủy hải sản. Hệ thống khuyến nghị sản phẩm được tích hợp trong ứng dụng giúp người dùng khám phá những sản phẩm mới, phù hợp với sở thích và nhu cầu của họ. Ứng dụng quản lý danh mục, sản phẩm, thông tin tài khoản, quản lý địa chỉ, đơn đặt hàng, giỏ hàng, thanh toán, quản lý tin nhắn, quản lý hệ thống khuyến nghị sản phẩm. Ứng dụng có hai phiên bản, cho người có nhu cầu mua sản phẩm thủy hải sản online và chủ shop có nhu cầu mở rộng thị trường. Dữ liệu để xây dựng ứng dụng được lấy từ Mysql và MongoDB.

4.1. Mô tả các chức năng chính của ứng dụng bán hàng thủy hải sản

Ứng dụng bán hàng thủy hải sản cung cấp các chức năng chính như tìm kiếm, duyệt sản phẩm, xem thông tin chi tiết sản phẩm, thêm sản phẩm vào giỏ hàng, quản lý giỏ hàng, thanh toán và theo dõi đơn hàng. Ngoài ra, ứng dụng còn tích hợp hệ thống khuyến nghị sản phẩm, gợi ý những sản phẩm phù hợp với sở thích và nhu cầu của người dùng. Quan trọng, khách hàng có thể liên hệ trực tiếp với nhân viên để được tư vấn, hỗ trợ trong quá trình lựa chọn sản phẩm.

4.2. Cách tích hợp hệ thống gợi ý sản phẩm vào ứng dụng thực tế

Hệ thống gợi ý sản phẩm được tích hợp vào ứng dụng bằng cách sử dụng các thuật toán học máy để phân tích dữ liệu người dùng, lịch sử mua hàng và hành vi duyệt web. Các thuật toán này tạo ra một mô hình về sở thích và nhu cầu của người dùng, sau đó sử dụng mô hình này để gợi ý những sản phẩm phù hợp. Các gợi ý sản phẩm được hiển thị trên trang chủ, trang chi tiết sản phẩm và trang giỏ hàng, giúp người dùng dễ dàng khám phá những sản phẩm mới và tăng doanh số bán hàng.

V. Kết luận và tương lai phát triển ứng dụng bán hàng thông minh

Việc xây dựng ứng dụng bán hànghệ thống gợi ý sản phẩm thông minh là một quá trình phức tạp, đòi hỏi sự kết hợp của nhiều kỹ thuật và công nghệ khác nhau. Tuy nhiên, những lợi ích mà chúng mang lại là vô cùng lớn, giúp doanh nghiệp tăng doanh số bán hàng, nâng cao trải nghiệm người dùng và tạo lợi thế cạnh tranh trên thị trường. Trong tương lai, các ứng dụng bán hàng sẽ ngày càng thông minh hơn, tích hợp nhiều công nghệ tiên tiến như trí tuệ nhân tạo, thực tế ảo và thực tế tăng cường. Hệ thống gợi ý sản phẩm sẽ trở nên cá nhân hóa hơn, dựa trên dữ liệu thời gian thực và ngữ cảnh để đưa ra những gợi ý phù hợp nhất với nhu cầu của từng người dùng. Việc xây dựng một ứng dụng bán hànghệ thống gợi ý sản phẩm thông minh đòi hỏi sự đầu tư về thời gian, công sức và tài chính. Tuy nhiên, những lợi ích mà chúng mang lại là vô cùng lớn, giúp doanh nghiệp tăng doanh số bán hàng, nâng cao trải nghiệm người dùng và tạo lợi thế cạnh tranh trên thị trường. Doanh nghiệp cần có một chiến lược rõ ràng, lựa chọn công nghệ phù hợp và tập trung vào việc thu thập và phân tích dữ liệu người dùng để đạt được thành công.

5.1. Tổng kết những lợi ích của ứng dụng bán hàng và gợi ý

Ứng dụng bán hànghệ thống gợi ý sản phẩm mang lại nhiều lợi ích cho cả doanh nghiệp và người dùng. Doanh nghiệp có thể tăng doanh số bán hàng, nâng cao trải nghiệm người dùng, tạo lợi thế cạnh tranh và thu thập dữ liệu người dùng để cải thiện sản phẩm và dịch vụ. Người dùng có thể dễ dàng tìm kiếm, lựa chọn và mua sản phẩm, khám phá những sản phẩm mới và được cá nhân hóa trải nghiệm mua sắm.

5.2. Xu hướng phát triển của ứng dụng bán hàng trong tương lai

Trong tương lai, các ứng dụng bán hàng sẽ ngày càng thông minh hơn, tích hợp nhiều công nghệ tiên tiến như trí tuệ nhân tạo, thực tế ảo và thực tế tăng cường. Hệ thống gợi ý sản phẩm sẽ trở nên cá nhân hóa hơn, dựa trên dữ liệu thời gian thực và ngữ cảnh để đưa ra những gợi ý phù hợp nhất với nhu cầu của từng người dùng. Các ứng dụng bán hàng cũng sẽ tập trung vào việc xây dựng cộng đồng và tương tác với người dùng, tạo ra một trải nghiệm mua sắm thú vị và hấp dẫn.

22/09/2025

Trích đoạn nội dung tài liệu

CHƯƠNG 1: GIỚI THIỆU CHUNG 1. Lý do chọn đề tài Do sự ảnh hưởng của dịch Covid, nhu cầu thương mại điện tử ngày càng phát triển. Nhưng thực phẩm, thứ không thể thiếu cho đời sống hàng ngày, dù cho các ứng dụng mua bán online đang nở rộ, nhưng nhiều người vẫn gặp khó khăn khi phải mua thực phẩm, nhất là thực phẩm tươi sống. Nắm bắt được xu hướng đó, đồ án “Ứng dụng bán hàng tích hợp hệ thống khuyến nghị sản phẩm.” sẽ đảm đương trách nhiệm đưa mọi loại thực phẩm cần thiết đến tận tay người tiêu dùng, với phương châm: “Đơn hàng sẽ được giao đến ngay trước khi nồi cơm được bật”.

Để phù hợp với quy mô của môn đồ án 1, cũng như dễ dàng hơn trong việc tạo lập, giải quyết và áp dụng các bài toán, dự án sẽ được xây dựng trên nền tảng ứng dụng Android , đồng thời các chức năng, lấy, cập nhật dữ liệu sẽ được thực hiện bên dưới Back-end, được xây dựng bằng NodeJs. Với việc phân tách xử lý thông tin dữ liệu ở Back-end, ta có thể dễ dàng tái sử dụng trong việc tạo dựng thêm được các ứng dụng ở nhiều nền tảng khác trong tương lai như IOS, web. Trong đó với phần ứng dụng được xây dựng trên nền tảng Android sẽ được xây dựng bằng Javascript, sử dụng React native, một framework được phát triển và hoàn thiện bởi Facebook, phù hợp cho việc thiết kế UI. Điểm mới và khác biệt về chức năng của đề tài so với một số ứng dụng mua bán trên sàn thương mại điện tử hiện nay 1.

Điểm khác biệt của đề tài Ứng dụng Các ứng dụng thương TAKETE SHOP mại điện tử khác Tính năng Hiệu suất tải sản phẩm sẽ Đối với các ứng dụng không Hiệu suất tải dữ đồng đều, không quá lâu kể sử dụng các tính năng liệu cả khi lượng dữ liệu tăng Paging, lazyload thì hiệu 19 ngày càng cao với việc sử suất tải dữ liệu sẽ chậm, và dụng Paging và lazyload. thời gian tải dữ liệu sẽ tăng tuyến tính với độ tăng dữ liệu. Đồ án mang lại khả năng Các ứng dụng buôn bán linh hoạt về sản phẩm, mọi nhỏ lẻ thường chỉ chuyên ngành hàng loại hàng đều về một loại sản phẩm và Đa dạng sản phẩm có thể biểu diễn trên ứng cung câp các thuộc tính cố dụng với các đặc trưng định, dẫn đến việc khó riêng của mỗi sản phẩm. chuyển đổi ngành hàng loại hàng.1 Điểm khác biệt của đề tài 1.

Điểm mới nổi bật của đề tài - Việc đa dạng hàng hóa là điểm nổi bật của đề tài, mang lại khả năng chuyển đổi mở rộng lĩnh vực kinh doanh mà không cần phải thay đổi mã nguồn. điều này mang lại lợi thế cho doanh nghiệp trong việc nhanh chóng nắm bắt được thị trường. Tính khác biệt, cải thiện về chức năng so với các app hiện nay - Khảo sát qua các ứng dụng hiện nay nhóm nhận thấy có một số hạn chế trong việc quản lý giỏ hàng và thanh toán. Giỏ hàng chỉ có thể chọn mua tất cả chứ không thể tùy chọn những sản phẩm muốn thanh toán và lưu lại các sản phẩm chưa thanh toán.

Điều này đã làm dẫn đến sự hạn chế đối với lựa chọn của người dùng đồng thời cũng làm gia tăng thêm thao tác người dùng, khiên UX trở nên rắc rối hơn. Do đó TAKETE SHOP có hỗ trợ thêm tính năng chọn lựa sản phẩm sẽ chọn để đi đến thanh toán và lưu lại các sản chưa chọn. - Một số ứng dụng ngày nay vẫn còn sử dụng phương pháp load tất cả lên một màn hình, điều này làm giảm đi hiệu suất sản phẩm, cũng như trải nghiệm người dùng. Việc áp dụng Paging và lazy load của TAKETE SHOP sẽ làm thời gian tải của dữ liệu đồng đều, không làm mất nhiều người dùng.

Phạm vi nghiên cứu 20 - Tìm hiểu và áp dụng các bài toán về xử lý đặt hàng, hay bài toán về sự đa dạng hàng hóa. - Xây dựng ứng dụng cung cấp dịch vụ mua bán trực tuyến đến mọi loại cửa hàng, ngành hàng. - TAKETE SHOP bao gồm phần ứng dụng cho người mua và ứng dụng cho người bán sẽ được xây dựng bằng React Native. Phần backend sẽ được triển khai xây dựng bằng Nodejs với MongoDB và MySQL.

- Triển khai, đánh giá độ chính xác của từng phương pháp dựa trên dữ liệu thử nghiệm. Áp dụng hệ thống gợi ý sản phẩm vào ứng dụng FAIIKAN để gợi ý sản phẩm cho người dùng. Đối tượng nghiên cứu - Các công nghệ: + Javascipts. + JWT, React Native, NodeJs.

- Các bài toán về xử lý đặt hàng, tăng hiệu suất, đa dạng hàng hóa sản phẩm. - Đối tượng trong phạm vi đề tài hướng đến: + Tất cả doanh nghiệp, cửa hàng vừa và nhỏ ở mọi loại ngành hàng mặt hàng. + Khách hàng (Người tiêu dùng). Phương pháp nghiên cứu - Tìm hiểu các phương pháp hiện có.

- Tìm hiểu nghiệp vụ, quy trình hoạt động của các ứng dụng thương mại điện tử và các ứng dụng mua bán trực tuyến của các thương hiệu nổi tiếng. - Phác họa hệ thống tổng quát (thiết kế cơ sở dữ liệu, xử lý dữ liệu, …). - Tham khảo các ứng dụng tương tự: SHEIN, Shopee, , … - Tham khảo ý kiến của giảng viên hướng dẫn để được định hướng đúng, 21 nhằm đạt kết quả tốt nhất. - Thiết kế giao diện, cơ sở dữ liệu.

- Xây dựng backend và quản lý theo mô hình MVC bằng NodeJS. - Vận dụng đưa ra giải pháp phù hợp cho các bài toán. 22 CHƯƠNG 2: CÔNG NGHỆ SỬ DỤNG 2. Hệ quản trị cơ sở dữ liệu MySQL - Tìm hiểu các phương pháp hiện có.

- Tìm hiểu nghiệp vụ, quy trình hoạt động của các ứng dụng thương mại điện tử và các ứng dụng mua bán trực tuyến của các thương hiệu nổi tiếng. - Phác họa hệ thống tổng quát (thiết kế cơ sở dữ liệu, xử lý dữ liệu, …). - Tham khảo các ứng dụng tương tự: SHEIN, Shopee, , … - Tham khảo ý kiến của giảng viên hướng dẫn để được định hướng đúng, đạt kết quả tốt nhất. - Thiết kế giao diện, cơ sở dữ liệu.

- Xây dựng backend và quản lý theo mô hình MVC bằng NodeJS. - Vận dụng đưa ra giải pháp phù hợp cho các bài toán.1 MySQL MySQL là một hệ quản trị cơ sở dữ liệu nhanh và tiện gọn, dễ dàng sử dụng để tương tác với các công nghệ tiên tiến ngày nay như C#, Java, … Nó được phát triển với công ty MySQL AB ở Thụy Điển năm 2004 và sau nhiều lần thay đổi chủ sở hữu, cuối cùng đã được mua lại bởi OracleCorporation vào năm 2010. Tại sao lại sử dụng MySQL Nó khá phổ biến với giới lập trình viên bởi: - MySQL là mã nguồn mở, hoàn toàn miễn phí khi sử dụng. 23 - MySQL sử dụng form chuẩn thuộc hệ SQL.

- MySQL dễ dàng xử lý ngay cả trên các tập dữ liệu lớn. MySQL hỗ trợ giao dịch nhanh. Giao dịch ACID (Atomic-Consistent- Isolated-Durable) hoàn thiện. Cơ sở dữ liệu MongoDB Hình 2.

Một số thông tin về MongoDB MongoDB là một database hướng tài liệu (document), một dạng NoSQL database. Vì thế, MongoDB sẽ tránh cấu trúc table-based của relational database để thích ứng với các tài liệu như JSON có một schema rất linh hoạt gọi là BSON. MongoDB sử dụng lưu trữ dữ liệu dưới dạng Document JSON nên mỗi một collection sẽ các các kích cỡ và các document khác nhau. Các dữ liệu được lưu trữ kiểu JSON nên truy vấn sẽ rất nhanh.

Ứng dụng MongoDB vào đồ án Với lợi thế có tính chất INSERT cao bởi vì mặc định MongoDB có sẵn cơ chế ghi với tốc độ cao và an toàn. Website của bạn ở dạng thời gian thực nhiều, nghĩa là nhiều người thao tác với ứng dụng. Nếu trong quá trình load bị lỗi tại một điểm nào đó thì nó sẽ bỏ qua phần đó nên sẽ an toàn. Chưa hết, nó còn có khả năng lưu trữ dữ liệu lớn.

Vì vậy nên MongoDB rất phù hợp trong việc nhắn tin, thứ yêu cầu dữ 24 liệu lớn và thao tác nhiều người. JSON Web Token (JWT) Hình 2. JWT là gì? JSON Web Token (JWT) là 1 tiêu chuẩn mở, định nghĩa cách thức truyền tin an toàn giữa các ứng dụng bằng một đối tượng JSON. Dữ liệu truyền đi sẽ được mã hóa và chứng thực, có thể được giải mã để lấy lại thông tin và đánh dấu tin cậy nhờ vào “chữ ký” của nó.

Phần chữ ký của JWT sẽ được mã hóa lại bằng HMAC hoặc RSA. JWT gồm 3 phần chính: + Header: Gồm 2 thông tin là loại token (thường là bearer) và phương thức mã hóa. + Payload: Chứa các thông tin cần truyền tải, thường là các thông tin dùng để thực hiện authentication. + Signature: Signature được tạo ra bằng cách dùng phương pháp mã hóa được chỉ định ở header để mã hóa nội dung encode của header, payload, cùng với chuỗi khóa bí mật.

Được định dạng theo kiểu header. Áp dụng JWT vào Đồ án? - Hỗ trợ việc bảo mật trong hệ thống, và phân quyền cho user. - Tăng cường bảo mật do JWT không sử dụng cookie. Postman là gì? Hình 2.4 Postman Postman là 1 ứng dụng REST Client, dùng để thực hiện test, gửi các request, API mà không cần sử dụng browser.

Sử dụng Postman, ta có thể gọi Rest API mà không cần viết bất kỳ dòng code nào. Postman hỗ trợ mọi phương thức HTTP bao gồm: POST, PUT, DELETE, PATCH, GET,. Postman cho phép lập trình viên lưu lại lịch sử của các lần request nên vô cùng tiện lợi cho nhu cầu sử dụng lại. Áp dụng Postman vào đồ án? Postman được sử dụng song song với việc lập trình các APIs của hệ thống, nhằm có thể kiểm thử được ngay sau khi lập trình mà không cần kết nối trước với GUI và thực hiện các thao tác.

React Native 26 Hình 2. React Native là gì? React Native là một framework được tạo bởi Facebook, cho phép các lập trình viên sử dụng JavaScript để làm mobile apps trên cả Android và iOS với có trải nghiệm và hiệu năng như native. React Native vượt trội ở chỗ chỉ cần viết một lần là có thể build ứng dụng cho cả iOS lẫn Android. React native cho phép xây dựng các ứng dụng trên android vs ios chỉ với một ngôn ngữ thống nhất là javascript nhưng mang lại trải nghiệm native app thực sự.

Không như các framework hybrid khác (viết một lần triển khai nhiều nơi), React native tập trung vào việc một lập trình viên làm việc hiệu quả trên môi trường đa nền tảng như thế nào 2. Sử dụng React Native trong Đồ án? React native có những ưu điểm tuyệt vời trong việc xây dựng app như: - Khả năng tái sử dụng code và các components đã được phát triển sẵn.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ