Phát Triển Ứng Dụng Mạng Xã Hội Đa Nền Tảng

Khóa luận tốt nghiệp về an toàn thông tin trong phát triển ứng dụng mạng xã hội đa nền tảng, khám phá các giải pháp bảo mật hiệu quả.

Người đăng

Ẩn danh

Thể loại

khóa luận tốt nghiệp

2021

126
3
0

Phí lưu trữ

35 Point

Mục lục chi tiết

LỜI CẢM ƠN

1. CHƯƠNG 1: TONG QUAN VE DE TÀI

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

1.2. Tính mới/ khác biệt về chức năng của đề tài so với các mạng xã hội khác

1.3. Tính khác biệt, cải thiện về chức năng

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

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

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

1.7. Bố cục của khóa luận

2. CHƯƠNG 2: HỆ THỐNG GỢI Ý (RECOMMENDATION SYSTEM - RS)

2.1. Tổng quan

2.2. Các cách tiếp cận của hệ thống khuyến nghị

2.2.1. Phương pháp tiếp cận dựa trên lọc nội dung (Content-based APPROACH)

2.2.2. Phương pháp tiếp cận dựa trên lọc cộng tác (Collaborative filtering)

2.2.3. Phương pháp tiếp cận hệ thống gợi ý lai (Hybrid recommender SYSTEMS)

2.3. Hệ thống thông báo (Notification system)

2.4. Phạm vi và sự kiện (Scope and event)

2.5. Message Security trong Chat App dựa trên Massey Omura Algorithm

2.5.1. Các bước mã hóa và giải mã dựa trên thuật toán Massey Omura

2.6. Ngôn ngữ lập trình Python

2.7. Tổng quan về Django

2.7.1. Tính linh hoạt

2.7.2. Tính an toàn (SECURE)

2.7.3. Khả năng mở rộng

2.7.4. Ưu và nhược điểm của Django framework

2.8. Ưu và nhược điểm của React Native

3. CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

3.1. Thiết kế xử lí

3.2. Quản lí Community

3.3. Private mode và Public mode. Khuyến nghị community. Tùy chỉnh màu sắc

3.4. Quản lí tài khoản

3.5. Đăng kí và Đăng nhập. Cập nhật tài khoản

3.6. Thiết kế dữ liệu

3.6.1. Các quan hệ trong bảng Set

3.6.2. Các quan hệ trong bảng Community

3.6.3. Các quan hệ trong bảng Bài Viết

3.6.4. Các quan hệ trong bảng Thông Báo

3.6.5. Các quan hệ trong bảng Chat

3.6.6. Các quan hệ trong bảng của Django

4. CHƯƠNG 4: HIỆN THỰC ĐỀ TÀI VÀ KẾT QUẢ THỬ NGHIỆM

4.1. Thiết kế giao diện, chức năng

4.2. Xây dựng giao diện Web

4.3. Demo giao diện mobile app

5. CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

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

5.2. Những khó khăn và hạn chế

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

TÀI LIỆU THAM KHẢO

DANH MỤC HÌNH VẼ

DANH MỤC BẢNG

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

Tóm tắt

I. Tổng quan về phát triển ứng dụng mạng xã hội đa nền tảng

Phát triển ứng dụng mạng xã hội đa nền tảng đang trở thành xu hướng quan trọng trong thời đại công nghệ số. Các ứng dụng này cho phép người dùng kết nối, chia sẻ và tương tác trên nhiều thiết bị khác nhau. Việc phát triển ứng dụng đa nền tảng không chỉ giúp tiết kiệm thời gian và chi phí mà còn mở rộng khả năng tiếp cận người dùng. Theo nghiên cứu, gần một nửa số người dùng Internet hiện nay sử dụng mạng xã hội để tìm kiếm thông tin và kết nối với bạn bè.

1.1. Lý do phát triển ứng dụng mạng xã hội đa nền tảng

Sự phát triển nhanh chóng của công nghệ đã thay đổi cách người dùng tương tác. Mạng xã hội không chỉ là nơi chia sẻ thông tin mà còn là công cụ quan trọng trong việc xây dựng thương hiệu và kết nối cộng đồng.

1.2. Các nền tảng phổ biến cho ứng dụng mạng xã hội

Các nền tảng như Android, iOS, và Web đang được sử dụng rộng rãi. Việc phát triển ứng dụng trên nhiều nền tảng giúp tối ưu hóa trải nghiệm người dùng và tăng cường khả năng tiếp cận.

II. Thách thức trong phát triển ứng dụng mạng xã hội đa nền tảng

Mặc dù có nhiều lợi ích, việc phát triển ứng dụng mạng xã hội đa nền tảng cũng gặp phải nhiều thách thức. Các vấn đề như bảo mật dữ liệu, quản lý nội dung và tích hợp API là những yếu tố cần được xem xét kỹ lưỡng. Đặc biệt, việc đảm bảo an toàn thông tin cho người dùng là một trong những ưu tiên hàng đầu.

2.1. Vấn đề bảo mật trong ứng dụng mạng xã hội

Bảo mật thông tin người dùng là một thách thức lớn. Các ứng dụng cần áp dụng các biện pháp bảo mật mạnh mẽ để ngăn chặn rò rỉ dữ liệu và tấn công mạng.

2.2. Quản lý nội dung và trải nghiệm người dùng

Quản lý nội dung trên mạng xã hội là một nhiệm vụ phức tạp. Cần có các công cụ để kiểm soát nội dung và đảm bảo trải nghiệm người dùng tích cực.

III. Phương pháp phát triển ứng dụng mạng xã hội đa nền tảng hiệu quả

Để phát triển ứng dụng mạng xã hội đa nền tảng hiệu quả, cần áp dụng các phương pháp và công nghệ hiện đại. Sử dụng các framework như React Native và Django giúp tiết kiệm thời gian và chi phí phát triển. Hệ thống gợi ý bài viết và tính năng chat bảo mật cũng là những yếu tố quan trọng.

3.1. Sử dụng React Native cho phát triển ứng dụng

React Native cho phép phát triển ứng dụng di động trên cả Android và iOS với một mã nguồn duy nhất. Điều này giúp tiết kiệm thời gian và chi phí phát triển.

3.2. Tích hợp hệ thống gợi ý và chat bảo mật

Hệ thống gợi ý bài viết dựa trên phương pháp Collaborative filtering giúp nâng cao trải nghiệm người dùng. Đồng thời, việc áp dụng các thuật toán bảo mật cho chat message là rất cần thiết.

IV. Ứng dụng thực tiễn và kết quả nghiên cứu trong phát triển ứng dụng

Nghiên cứu cho thấy việc phát triển ứng dụng mạng xã hội đa nền tảng đã mang lại nhiều kết quả tích cực. Các ứng dụng này không chỉ thu hút người dùng mà còn tạo ra các cộng đồng mạnh mẽ. Việc tích hợp các tính năng mới như gợi ý bài viết và chat bảo mật đã nâng cao trải nghiệm người dùng.

4.1. Kết quả từ việc phát triển ứng dụng mạng xã hội

Các ứng dụng đã thu hút hàng triệu người dùng và tạo ra nhiều cộng đồng khác nhau. Điều này chứng tỏ rằng nhu cầu sử dụng mạng xã hội vẫn đang gia tăng.

4.2. Phân tích dữ liệu và phản hồi từ người dùng

Phân tích dữ liệu từ người dùng giúp cải thiện các tính năng của ứng dụng. Phản hồi từ người dùng là nguồn thông tin quý giá để nâng cao chất lượng dịch vụ.

V. Kết luận và hướng phát triển tương lai cho ứng dụng mạng xã hội

Phát triển ứng dụng mạng xã hội đa nền tảng là một lĩnh vực đầy tiềm năng. Với sự phát triển không ngừng của công nghệ, các ứng dụng này sẽ ngày càng hoàn thiện hơn. Hướng phát triển tương lai cần tập trung vào việc cải thiện bảo mật, tối ưu hóa trải nghiệm người dùng và tích hợp các công nghệ mới.

5.1. Tương lai của ứng dụng mạng xã hội

Các ứng dụng mạng xã hội sẽ tiếp tục phát triển và mở rộng. Việc áp dụng công nghệ mới sẽ giúp nâng cao trải nghiệm người dùng.

5.2. Định hướng phát triển bền vững

Cần có các chiến lược phát triển bền vững để đảm bảo rằng ứng dụng không chỉ thu hút người dùng mà còn tạo ra giá trị lâu dài cho cộng đồng.

10/07/2025

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

chương 1 cũng dé cập đến đối tượng nghiên cứu, phạm vi đề tài. Cuối chương | là phần bố cục của khóa luận. - Chương 2: Trình bày các kiến thức nên tang, các công nghệ sử dụng và thuật toán dùng cho recomnendation dé xây dựng ứng dụng. - _ Chương 3: Trinh bày chỉ tiết quy trình xây dựng hệ thống, xác định, phân tích tính năng, xây dựng cơ sở đữ liệu (CSDL) - _ Chương 4: Trình bày kết quả thử nghiệm của đề tài - _ Chương 5: Chương kết thúc, đưa ra kết luận về ứng dụng cũng như hướng phát triển trong tương lai Chương 2.

Hệ thống gợi ý (Recommendation System - RS) 2. Tổng quan Hệ thống khuyến nghị (hay Recommendation system) là những hệ thống mà mục đích chính của những hệ thống này là dự đoán sở thích của người dùng và đề xuất các mặt hàng, sản phẩm có khả năng thú vị với ho. Recommendation system là một trong những hệ thong máy học mạnh mẽ nhất mà các nhà bán lẻ triển khai để thúc day doanh số bán hàng. Dữ liệu cân thiệt cho hệ thông dé xuât bat nguôn từ xếp hạng rõ rang của người dùng sau khi xem phim hoặc nghe bài hát, từ các truy vân ngâm của công cụ tìm kiêm và lịch sử mua hàng hoặc từ kiến thức khác về ban thân người dùng / mặt hàng.

Các trang web như Spotify, YouTube hoặc Netflix sử dung dữ liệu đó dé đề xuất danh sách phát, cái gọi là Danh sách kết hợp hàng ngày hoặc dé đưa ra đề xuất video tương ứng. Recommendation system được chia làm hai nhóm lớn: - Content-based systems: đánh giá đặc tinh của items được recommended. Ví dụ: một user xem rất nhiều các bộ phim về cảnh sát hình sự, vậy thì gơi ý một bộ phim trong cơ sở dữ liệu có chung đặc tính hình sự tới user này, ví dụ phim Người phán xử. Cách tiếp cận này yêu cầu việc sắp xếp các items vào từng nhóm hoặc đi tìm các đặc trưng của từng item.

Tuy nhiên, có những items không có nhóm cụ thể và việc xác định nhóm hoặc đặc trưng của từng item đôi khi là bat khả thi. - Collaborative filtering: hệ thống gợi ý items dựa trên sự tương quan (similarity) giữa các users và/hoặc items. Có thé hiểu rang ở nhóm này một item được recommended tới một user dựa trên những users có hành vi tương tự. Ví du: users A, B, C đều thích các bai hát của Noo Phước Thịnh.

Ngoài ra, hệ thống biết rằng users B, C cũng thích các bài hát của Bích Phương nhưng chưa có thông tin về việc liệu user A có thích Bích Phương hay không. Dựa trên thông tin của những users tương tự là B và C, hệ thống có thé dự đoán rang A cũng thích Bích Phương và gợi ý các bài hát của ca sĩ này tới A. Kết quả mong đợi của các hệ thống khuyến nghị: - _ Mục tiêu của hệ thong khuyến nghị là cung cấp các khuyến nghị dựa trên thông tin được ghi lại về sở thích của người dùng. Góp phần gia tăng doanh số bán hàng cho các trang thương mại điện tử.

Đồng thời thỏa mãn nhu câu của người dùng, cải thiện trải nghiệm tôt người dùng. Utility matrix Có hai thực thé chính trong các Recommendation Systems là users va items. Mỗi user sẽ có mức độ quan tâm (degree of preference) tới từng item khác nhau. Mức độ quan tâm này, nếu đã biết trước, được gán cho một giá trị ứng với mỗi cặp user- item.

Giả sử rằng mức độ quan tâm được đo bằng giá trị user rate cho item, ta tạm gọi giá trị này là rating. Tập hợp tất cả các ratings, bao gồm cả những giá trị chưa biết cân được dự đoán, tạo nên một ma trận gọi là utility matrix. Xét ví dụ sau: Bảng 2. | Utility matrix U; U2 U4 waflAof!)S ewY"IyP|] 9ø|=5 Bảng 2.

1 là ví dụ về utility matrix. Trong đó, Uo-> Us tương ứng với các users, lo -> Ls tương ứng với các items. Giá trị từng cặp (u, i) là giá trị rating của user u đối VỚI item i. Xây dung utility matrix: Không có Utility matrix, gần như không thé gợi ý được sản phẩm tới ngừời dùng, ngoài cách luôn luôn gợi ý các sản phẩm phô biến nhất.

Vì vậy, trong các Recommender Systems, việc xây dựng Utility Matrix là tối quan trọng. Tuy nhiên, việc xây dựng ma trận này thường có gặp nhiều khó khăn. Có hai hướng tiếp cận phô biến để xác định giá trị rating cho mỗi cặp user-item trong Utility Matrix: - Nhờ người ding rate sản phẩm. Amazon luôn nhờ người dùng rate các sản phẩm của họ bằng cách gửi các email nhắc nhở nhiều lần.

Rat nhiều hệ thống khác cũng làm việc tương tự. Tuy nhiên, cách tiếp cận này có một vài hạn ché, vì thường thì người dùng ít khi rate sản phẩm. Và nếu có, đó có thé là những đánh giá thiên lệch bởi những người sẵn sàng rate. - _ Hướng tiếp cận thứ hai là dựa trên hành vi của users.

Rõ ràng, nếu một người dùng mua một sản phâm trên Amazon, xem một clip trên Youtube (có thé là nhiều lần), hay đọc một bài báo, thì có thé khang định rang ngừời dùng đó thích sản phâm đó. Facebook cũng dựa trên việc ta like những nội dung nào để hiển thị newsfeed những nội dung liên quan. Chúng ta càng đam mê facebook, facebook càng được hưởng lợi, thế nên nó luôn mang tới ta những thông tin mà khả năng cao là ta muốn đọc. Thường thì với cách này, ta chỉ xây dựng được một ma trận với các thành phần là 1 và 0, với 1 thể hiện người dùng thích sản phẩm, 0 thể hiện chưa có thông tin.

Trong trường hợp này, 0 không có nghĩa là thấp hơn 1, nó chỉ có nghĩa là người dùng chưa cung cấp thông tin. Chúng ta cũng có thé xây dựng ma trận với các giá trị cao hơn 1 thông qua thời gian hoặc số lượt mà người dùng xem một sản phẩm nào đó. Đôi khi, nút dislike cũng mang lại những lợi ích nhất định cho hệ thống, lúc này có thé gán giá trị tương ứng bang -1 chăng hạn. Cosine similarity Sau khi biểu diễn các rating thành utility matrix, mỗi hang(item) là một vector với độ dai là số lượng user.

Dé tính độ tương tự giữa các user ta sẽ dùng Cosine similarity. Feature vector 1 Feature vector 2 Dé tính độ tương quan giữa 2 vector, ta thực hiện phép tính tích vô hướng giữa 2 vector, hay nói cách khác là tính giá tri góc cosin được hop bởi 2 vector, với 0° < a < 180°: Nếu tích vô hướng cho ra kết quả càng gan về 0, khi đó 2 vector gần như vuông góc với nhau, đồng nghĩa với việc 2 vector không có sự tương đồng với nhau. Ngược lại, nếu tích vô hướng càng tiến về 1, khi đó 2 vector gần như trùng nhau, nghĩa là sự tương đồng giữa 2 vector rất cao. Feature vector 1 Feature vector 2 Feature vector + Feature vector 2 Orthogonal Vectors at or near 90 degree 2.

Root Mean Squared Error (RMSE) Sử dụng RootMean Squared Error dé đánh giá hiệu qua của thuật toán, RMSE được tính bằng công thức: - Dtest : tập kiểm tra - ru: dự đoán của người dùng u trên item i trên tập kiểm tra - Ti: dự đoán của người dùng u trên item i theo thuật toán gợi ý. Các cách tiếp cận của hệ thống khuyến nghị 2.1 Phương pháp tiếp cận dựa trên lọc nội dung (Content-based approach) Một cách tiếp cận phô biến khi thiết kế hệ thống recommender là loc nội dung. Phương pháp lọc dựa trên nội dung dựa trên mô tả về mặt hàng và hồ sơ về các tùy chọn của người dùng. Trong hệ thống gợi ý dựa trên nội dung, từ khóa được sử dụng dé mô tả các mục và hồ sơ người dùng được xây dựng dé chi ra loại mục mà người dùng này thích.

Nói cách khác, các thuật toán này cố gắng đề xuất các mục tương tự với các mục mà người dùng đã thích trong quá khứ (hoặc đang kiểm tra trong hiện tại). Cụ thé, các mục đề cử khác nhau được so sánh với các mục được đánh giá trước đây bởi người dùng và các mục phù hợp nhất được đề xuất. Cách tiếp cận này có nguồn gốc từ việc thu thập thông tin và nghiên cứu loc thông tin. Đề tóm tắt các tính năng của các mục trong hệ thống, một thuật toán trình bày mục được áp dụng.

Một thuật toán được sử dụng rộng rãi là biểu diễn tf — idf (còn được gọi là biểu diễn không gian vecto). Để tạo hồ sơ người dùng, hệ thống chủ yếu tập trung vào hai loại thông tin: -_ Một mô hình ưu tiên của người dùng. - Lich sử tương tác của người dùng với hệ thống gợi ý. Về cơ bản, các phương thức này sử dụng một hồ sơ mặt hàng (ví dụ, một tập hợp các thuộc tính và tính năng rời rạc) mô tả mục trong hệ thống.

Hệ thống tạo hồ sơ dựa trên nội dung của người dùng dựa trên vectơ trọng số của các đối tượng địa lý. Trọng số biéu thị tầm quan trọng của từng tinh năng đối với người dùng và có thé được tính từ các vectơ nội dung được xếp hạng riêng lẻ bằng nhiều kỹ thuật. Các phương pháp đơn giản sử dụng các giá tri trung bình của vector hạng mục trong khi các phương pháp phức tạp khác sử dụng các kỹ thuật máy học như Bayesian Classifiers , phân tích cum , cây quyết định và mang thần kinh nhân tao (artificial neural networks) đê ước tính xác suât người dùng sẽ thích mục đó. Phản hồi trực tiếp từ người dùng, thường dưới dạng nút thích hoặc không thích , có thê được sử dung dé gán trọng số cao hơn hoặc thấp hơn về tam quan trọng của các thuộc tính nhất định (sử dụng phân loại Rocchio hoặc các kỹ thuật tương tự khác).

Một vấn đề quan trọng với lọc dựa trên nội dung là liệu hệ thống có thé tim hiéu các tùy chọn cua người dùng từ hành động của người dung liên quan đên một 10 nguồn nội dung hay không và sử dụng chúng trên các loại nội dung khác. Khi hệ thong bị hạn chế đề xuất nội dung cùng loại với người dùng đang sử dụng, giá trị từ hệ thống đề xuất thấp hơn đáng kế so với các loại nội dung khác từ các dịch vụ khác có thé được đề xuất. Ví dụ: giới thiệu các bài viết tin tức dựa trên việc duyệt tin tức hữu ích nhưng sẽ hữu ích hơn nhiều khi chúng ta có thể đề xuất âm nhạc, video, sản phẩm, cuộc thảo luận, v. từ các dịch vụ khác nhau dựa trên duyệt tin tức.

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