Báo cáo Đồ án 2: Xây dựng ứng dụng hẹn hò và kết bạn - SV. Phạm Hoàng Tính

Báo cáo chi tiết về dự án ứng dụng hẹn hò và kết bạn, bao gồm phân tích yêu cầu, thiết kế hệ thống, tính năng và triển khai hoàn chỉnh.

2024

114
0
0

Phí lưu trữ

35 Point

Tóm tắt

I. Giới thiệu về Đồ án App Hẹn hò Kết bạn

Đồ án App Hẹn hò & Kết bạn là một dự án học thuật toàn diện được thực hiện tại Trường Đại học Công nghệ Thông tin, Đại học Quốc gia TP. Hồ Chí Minh. Dự án này nhằm xây dựng một ứng dụng di động hiện đại kết hợp các tính năng hẹn hò, kết bạn và trò chuyện ẩn danh. Với thời gian thực hiện 16 tuần, sinh viên Phạm Hoàng Tính đã phát triển một sản phẩm phần mềm hoàn chỉnh dưới hướng dẫn của TS. Đỗ Thị Thanh Tuyền. Ứng dụng hẹn hò này được thiết kế để memenuhi nhu cầu giao lưu xã hội của các bạn trẻ thế hệ số, cung cấp một nền tảng an toàn và thân thiện.

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

Trong thời đại công nghệ số, nhu cầu kết nối xã hội của giới trẻ ngày càng tăng. Ứng dụng hẹn hò và kết bạn ra đời để giải quyết nhu cầu này một cách an toàn và hiệu quả. Đề tài được chọn vì tính thực tiễn cao, giúp sinh viên áp dụng các công nghệ hiện đại như xác thực người dùng, mã hóa dữ liệu AES, và các thuật toán tìm kiếm DFS. Dự án cũng mang ý nghĩa xã hội quan trọng, tạo ra một không gian an toàn cho cộng đồng trực tuyến.

1.2. Mục đích và đối tượng nghiên cứu

Mục đích chính của đồ án app hẹn hò là phát triển một nền tảng đáng tin cậy cho giao lưu xã hội. Đối tượng sử dụng bao gồm thanh niên từ 18 tuổi trở lên, những người muốn mở rộng mối quan hệ xã hội. Ứng dụng tập trung vào những nhu cầu cơ bản: kết nối với những người có cùng sở thích, trò chuyện an toàn, và xác thực độ tuổi. Phạm vi nghiên cứu bao gồm thiết kế giao diện người dùng và cơ sở dữ liệu robust.

II. Kiến thức nền tảng và Công nghệ sử dụng

Đồ án app hẹn hò sử dụng nhiều công nghệ tiên tiến để đảm bảo hiệu năng và bảo mật. Các công nghệ chính bao gồm: thuật toán tìm kiếm theo chiều sâu (DFS), mã hóa AES, và công nghệ nhận diện khuôn mặt FPT AI Vision. Các công nghệ này được tích hợp để tạo ra một ứng dụng hẹn hò an toàn, nhanh chóng và đáng tin cậy. DFS giúp tìm kiếm các gợi ý bạn bè một cách hiệu quả, trong khi AES bảo vệ dữ liệu nhạy cảm của người dùng. FPT AI Vision được sử dụng để xác thực tuổi và giảm thiểu các tài khoản giả mạo trên nền tảng.

2.1. Thuật toán Depth First Search DFS

Thuật toán DFS là nền tảng của tính năng đề xuất bạn bè trong ứng dụng kết bạn. Thuật toán này duyệt qua đồ thị người dùng một cách hiệu quả, tìm ra những kết nối tiềm năng dựa trên sở thích và vị trí địa lý. DFS giúp hệ thống phát hiện các cộng đồng nhỏ trong mạng xã hội và đề xuất những người dùng phù hợp nhất. Độ phức tạp thời gian của DFS là O(V+E), làm cho nó rất hiệu quả cho các ứng dụng real-time.

2.2. Mã hóa AES và Nhận diện khuôn mặt FPT AI

Mã hóa AES bảo vệ toàn bộ thông tin cá nhân và tin nhắn trong ứng dụng hẹn hò. Công nghệ này sử dụng các khóa 256-bit để mã hóa dữ liệu, đảm bảo rằng chỉ người dùng được phép mới có thể đọc được thông tin. FPT AI Vision được dùng để xác thực độ tuổi người dùng thông qua nhận diện khuôn mặt, giúp ngăn chặn trẻ vị thành niên truy cập ứng dụng không hợp lệ.

III. Phân tích Thiết kế và Cơ sở dữ liệu

Giai đoạn phân tích và thiết kế hệ thống của đồ án app hẹn hò sử dụng phương pháp UML toàn diện. Các Use Case Diagram chi tiết mô tả tất cả các chức năng chính: xác thực người dùng, vuốt để bày tỏ sở thích (Like/Dislike), chỉnh sửa hồ sơ, trò chuyện với chatbot, trò chuyện ẩn danh, và đề xuất kết bạn. Cơ sở dữ liệu được thiết kế với các bảng: User, Report, MatchedList, Block, Message, và các bảng hỗ trợ khác. Mỗi bảng được thiết kế tối ưu với các chỉ mục phù hợp để đảm bảo truy vấn nhanh. Kiến trúc này cho phép ứng dụng kết bạn mở rộng khi số lượng người dùng tăng.

3.1. Các yêu cầu và Use Case chính

Đồ án app hẹn hò định nghĩa 12 Use Case chính bao gồm đăng ký tài khoản bằng số điện thoại, xác thực OTP, tạo mật khẩu, đăng nhập, hoàn thành hồ sơ người dùng, vuốt (swipe) để thích/không thích, khớp cặp (matching), chỉnh sửa tiểu sử, trò chuyện, trò chuyện với chatbot, tìm người trò chuyện ẩn danh, và đề xuất bạn bè. Mỗi Use Case được mô tả chi tiết với các actor, điều kiện tiên quyết, và kết quả mong đợi.

3.2. Thiết kế Cơ sở dữ liệu và Bảng dữ liệu

Cơ sở dữ liệu của ứng dụng hẹn hò bao gồm 7 bảng chính: User (lưu thông tin tài khoản), Profile (thông tin hồ sơ), Message (tin nhắn), MatchedList (danh sách những cặp khớp), Block (danh sách chặn), Report (báo cáo lạm dụng), và Chat (lịch sử trò chuyện). Các mối quan hệ được xác định rõ ràng để đảm bảo tính toàn vẹn dữ liệu. Chỉ mục được tạo trên các trường thường xuyên truy vấn để tối ưu hiệu năng.

IV. Giao diện người dùng Kiểm thử và Triển khai

Đồ án app hẹn hò bao gồm 22 màn hình được thiết kế với giao diện hiện đại, thân thiện người dùng. Các màn hình chính bao gồm: Home, Sign Up, Verify OTP, Create Password, Sign In, Complete Profile (tên, ngày sinh, giới tính, hình ảnh), Edit Profile, Chatbot, Swipe, Chat, Message, Call, Report, Block, Anonymous Chat, Search, Age Verification, và Friend Suggestions. Quá trình kiểm thử ứng dụng được thực hiện toàn diện, bao gồm kiểm thử chức năng, kiểm thử hiệu năng, và kiểm thử bảo mật. Ứng dụng hẹn hò đã được triển khai thành công trên Google Play Store, đạt được những kết quả đáng kể trong thử nghiệm người dùng thực tế.

4.1. Danh sách các màn hình và tính năng chính

Ứng dụng kết bạn được chia thành các phần chức năng: (1) Xác thực - Home, Sign Up, OTP, Password, Sign In, (2) Hồ sơ - Complete Profile, Edit Profile, Age Verification, (3) Giao lưu - Swipe, Chat, Message, Call, (4) Tính năng bổ trợ - Chatbot, Report, Block, Anonymous Chat, Search, Friend Suggestions. Mỗi màn hình được thiết kế để tối ưu trải nghiệm người dùng với bố cục rõ ràng và điều hướng dễ dàng.

4.2. Kiểm thử và Triển khai trên Google Play Store

Quá trình kiểm thử ứng dụng hẹn hò bao gồm kiểm thử đơn vị, kiểm thử tích hợp, và kiểm thử chấp nhận. Tất cả các tính năng chính đều được xác minh hoạt động chính xác trên các thiết bị Android khác nhau. Ứng dụng kết bạn đã vượt qua các yêu cầu của Google Play Store và được triển khai chính thức, sẵn sàng cho người dùng cuối.

28/12/2025

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

MỞ ĐẦU 1. Lý do chọn đề tài Trong bối cảnh xã hội hiện đại, việc tìm kiếm một mối quan hệ phù hợp ngày càng trở nên khó khăn hơn do nhịp sống hối hả và bận rộn. Nhằm đáp ứng nhu cầu đó, ứng dụng hẹn hò DAFA ra đời với sứ mệnh mang đến cho người dùng trải nghiệm hẹn hò an toàn, hiệu quả và thú vị. DAFA không chỉ là một ứng dụng hẹn hò thông thường, mà còn là một cộng đồng kết nối những người độc thân có cùng sở thích và mong muốn tìm kiếm một mối quan hệ nghiêm túc.

Ứng dụng sử dụng công nghệ AI tiên tiến để:  Lọc bỏ các hành vi vi phạm: tạo môi trường hẹn hò an toàn và văn minh.  Hỗ trợ giao tiếp hiệu quả: cung cấp tính năng gợi ý trả lời tin nhắn.  Hỗ trợ tư vấn tình cảm: cung cấp lời khuyên cho người dùng về các vấn đề trong mối quan hệ, giúp họ giải quyết mâu thuẫn và cải thiện giao tiếp. DAFA sử dụng Firebase Authentication để xác thực số điện thoại của người dùng.

Việc này giúp đảm bảo tính chính xác và hạn chế số lượng tài khoản ảo. So với các ứng dụng hẹn hò khác cho phép đăng nhập bằng tài khoản Google, dẫn đến nhiều tài khoản ảo vi phạm quy tắc cộng đồng mặc dù họ đã có biện pháp kiểm soát chặt chẽ. DAFA sử dụng thuật toán DFS (Depth-First Search) với độ phức tạp thấp để thực hiện việc ghép cặp người dùng. Nhờ vậy, tốc độ ghép cặp được diễn ra nhanh chóng và hiệu quả, giúp người dùng dễ dàng tìm kiếm đối tượng phù hợp.

Mục đích nghiên cứu  Đem đến một cộng đồng an toàn và lành mạnh, nơi những người có cùng sở thích và đam mê có thể kết nối, chia sẻ và học hỏi lẫn nhau. Ứng dụng không chỉ tạo ra một không gian giao lưu mà còn đảm bảo rằng mọi thành viên đều cảm thấy được bảo vệ và tôn trọng.  Cung cấp một nền tảng toàn diện cho phép người dùng dễ dàng chọn lọc đối tượng phù hợp với sở thích và tiêu chí cá nhân của mình. Thông qua hệ thống tin nhắn trực tiếp, mọi người có thể thoải mái giao tiếp, trao đổi ý kiến và xây dựng mối quan hệ bền vững, thậm chí có thể dẫn đến những tình bạn hoặc mối quan hệ lâu dài.

 Cung cấp các tính năng và công cụ hiện đại, được tích hợp AI thông minh để hỗ trợ người dùng. Những công nghệ này không chỉ nâng cao trải nghiệm người dùng mà còn giúp tùy biến các gợi ý, tối ưu hóa quá trình tìm kiếm và tương tác. AI trong ứng dụng DAFA giúp phân tích hành vi người dùng, đưa ra những gợi ý chính xác và hữu ích, tạo điều kiện tốt nhất để người dùng tìm kiếm và kết nối với nhau một cách hiệu quả và dễ dàng. Đối tượng nghiên cứu 1.

Các công nghệ nghiên cứu:  Đối với Frontend: Flutter  Đối với Backend và Database: Firebase 1. Đối tượng sử dụng đề tài hướng đến:  Người độc thân tìm kiếm tình yêu: DAFA là nơi lý tưởng cho những ai đang tìm kiếm một nửa còn lại của mình. Với tính năng chọn lọc đối tượng phù hợp và hệ thống gợi ý thông minh, người dùng có thể dễ dàng tìm thấy người bạn đời lý tưởng dựa trên sở thích và giá trị cá nhân.  Người muốn kết bạn mới: Không chỉ dừng lại ở việc hẹn hò, DAFA còn là nơi kết nối những người bạn mới có cùng sở thích.

Dù bạn là người yêu thích thể thao, âm nhạc, nghệ thuật hay bất kỳ lĩnh vực nào, ứng 10 dụng sẽ giúp bạn tìm thấy những người có cùng đam mê để chia sẻ và giao lưu.  Những người mới chuyển đến khu vực mới: Đối với những người vừa chuyển đến một thành phố hoặc quốc gia mới, DAFA cung cấp cơ hội tuyệt vời để mở rộng mạng lưới xã hội, tìm kiếm những người bạn mới và nhanh chóng hòa nhập với môi trường mới. Phạm vi nghiên cứu 1. Phạm vi môi trường: Ứng dụng di động chạy trên nền tảng android 1.

Phạm vi chức năng:  Đăng ký: chỉ cho phép đăng ký bằng số điện thoại.  Đăng nhập: đăng nhập bằng số điện thoại đã đăng ký.  Profile: Bao gồm thông tin về hình ảnh, sở thích… của người dùng.  Swipe: mỗi profile user là một card, người dùng khác có thể chọn quẹt trái (dislike) hoặc quẹt phải (like).

 Chat: nhắn tin giữa các user, có tích hợp tính năng gợi ý trả lời tin nhắn thông qua sự hỗ trợ của GPT Turbo 0631 Model của OpenAI.  Video call: user có thể thực hiện video call với user khác.  Chat ẩn danh: user sẽ nhấn vào công cụ tìm kiếm để tiến hành match với những user khác (cũng đang thực hiện match), tất cả user đang match sẽ được đưa về dạng đồ thị và dùng thuật toán DFS để chọn ra đối tượng phù hợp, sau đó user sẽ có 3 phút để nhắn tin và tìm hiểu nhau, nếu cảm thấy hợp nhau họ có thể ấn nút (hình trái tim) để đi đến giao diện chat thông thường và không còn bị giới hạn thời gian 3 phút. Khi chat ẩn danh, user sẽ không thể thấy bất kì thông tin gì của user khác (trừ tên) để đảm bảo khi match thì họ hoàn toàn hợp nhau về cách trò chuyện.

 Chatbot tư vấn tình cảm: user có thể hỏi chatbot những vấn đề liên quan đến tình cảm để được tư vấn thông qua sự hỗ trợ của GPT Turbo 0631 11 Model của OpenAI. 12 Chương 2: KIẾN THỨC NỀN TẢNG 2. Flutter Hình KIẾN THỨC NỀN TẢNG.1: Flutter Flutter là bộ công cụ phát triển UI mã nguồn mở do Google phát triển, giúp xây dựng ứng dụng đa nền tảng (Android, iOS) từ một codebase duy nhất. Một số đặc điểm chính của Flutter bao gồm:  Phát triển đa nền tảng: Xây dựng ứng dụng cho cả Android và iOS, tiết kiệm thời gian, chi phí.

 Hiệu suất cao: Render UI mượt mà nhờ thư viện đồ họa Skia.  Giao diện người dùng đẹp mắt: Cung cấp widget phong phú, tùy chỉnh cao.  Cộng đồng phát triển lớn: Nhiều tài nguyên hỗ trợ và thư viện mã nguồn mở.  Dễ học: Sử dụng ngôn ngữ Dart thân thiện với người mới.

 Khả năng hot reload: Xem ngay thay đổi code mà không cần build lại ứng dụng.  Hỗ trợ nhiều kiến trúc: Flutter hỗ trợ nhiều kiến trúc khác nhau như ARM, x86 và x64.  Khả năng mở rộng: Hỗ trợ thêm tính năng mới dễ dàng. Firebase Hình KIẾN THỨC NỀN TẢNG.2: Firebase Firebase là nền tảng phát triển ứng dụng đa năng của Google, hỗ trợ xây dựng và quản lý ứng dụng di động, web một cách dễ dàng.

Dưới đây là một số đặc điểm quan trọng của Firebase:  Dễ sử dụng: Giao diện trực quan, thân thiện.  Khả năng mở rộng: Dễ dàng mở rộng khi cần.  Bảo mật: Tính năng bảo vệ dữ liệu mạnh mẽ.  Các dịch vụ đa dạng: o Cơ sở dữ liệu: Realtime Database (đồng bộ thời gian thực) và Cloud Firestore (NoSQL linh hoạt).

o Lưu trữ: Firebase Storage lưu trữ ảnh, video, dữ liệu khác. o Xác thực: Firebase Authentication quản lý người dùng. o Nhận thông báo: Firebase Cloud Messaging gửi thông báo đẩy. o Phân tích: Firebase Analytics theo dõi dữ liệu ứng dụng.

 Hoạt động trên nhiều nền tảng: Firebase hỗ trợ phát triển ứng dụng di động (Android, iOS) và web.  Cộng đồng lớn: Firebase có cộng đồng lớn các nhà phát triển với nhiều tài nguyên và hướng dẫn sẵn có. Agora SDK Hình KIẾN THỨC NỀN TẢNG.3: Agora Agora SDK là công cụ phát triển giúp xây dựng ứng dụng truyền thông thời gian thực (RTC) chất lượng cao, hỗ trợ đa nền tảng như iOS, Android, Windows, macOS, Web và Flutter.  Chất lượng truyền tải: o Độ trễ thấp, video HD, âm thanh rõ ràng.

o Thích ứng mạng tự động, đảm bảo ổn định.  Tính năng đa dạng: o Gọi thoại, video 1-1 hoặc nhóm. o Nhắn tin, chia sẻ màn hình, ghi âm và phát lại.  Khả năng mở rộng và linh hoạt: o Hỗ trợ đa nền tảng, dễ tích hợp.

o Quy mô lớn, đáp ứng nhiều người dùng cùng lúc.  Bảo mật và an toàn: o Mã hóa dữ liệu, bảo vệ quyền riêng tư. o Chống tấn công mạng. OpenAI API Hình KIẾN THỨC NỀN TẢNG.4: OpenAI OpenAI API là công cụ giúp tích hợp các mô hình trí tuệ nhân tạo tiên tiến vào ứng dụng, hỗ trợ ngôn ngữ, thị giác máy tính và các tác vụ AI khác.

 Truy cập vào các mô hình AI tiên tiến: o GPT-3: Tạo văn bản, dịch ngôn ngữ, sáng tạo nội dung. o DALL-E 2: Tạo, chỉnh sửa hình ảnh từ văn bản. o Codex: Hỗ trợ lập trình và tự động hóa.  Dễ sử dụng: Thư viện và hướng dẫn rõ ràng, thân thiện với mọi trình độ.

 Linh hoạt: Tích hợp vào ứng dụng web, di động, giáo dục, nghiên cứu.  Giá cả phải chăng: Có gói miễn phí và trả phí phù hợp nhu cầu.  Khả năng mở rộng: Hỗ trợ GPU, lưu trữ đám mây.  An toàn và bảo mật: Mã hóa dữ liệu, bảo vệ an toàn thông tin.

 Cộng đồng: Hỗ trợ từ các nhà phát triển tích cực. Thuật toán tìm kiếm theo chiều sâu Hình MỞ ĐẦU.5: Thuật toán DFS Thuật toán Tìm kiếm theo chiều sâu (DFS) là một phương pháp hiệu quả để duyệt và khám phá đồ thị vô hướng, đặc biệt trong việc tìm các thành phần liên thông.  Cách thức hoạt động: o Khởi tạo: Bắt đầu từ một đỉnh bất kỳ trong đồ thị, đánh dấu nó là đã thăm. o Duyệt theo chiều sâu: Với mỗi đỉnh lân cận chưa thăm: Đánh dấu đã thăm và gọi đệ quy DFS trên đỉnh đó.

o Quay lại: Khi tất cả đỉnh lân cận đã được thăm, quay lại đỉnh trước đó. o Lặp lại: Tiếp tục đến khi tất cả các đỉnh đều được duyệt.  Ưu điểm: o Dễ hiểu, dễ triển khai. o Hiệu quả trong tìm kiếm các thành phần liên thông trong đồ thị vô hướng.

o Có thể sử dụng để giải quyết nhiều bài toán khác nhau trên đồ thị.  Nhược điểm: o Có thể bị lạc vào các vòng lặp vô hạn trong đồ thị có chu trình. o Không hiệu quả trong việc tìm kiếm đường đi ngắn nhất giữa hai đỉnh.  Ứng dụng: o Khoa học máy tính: Thuật toán mạng, hệ thống phân tán, trí tuệ nhân tạo.

17 o Kỹ thuật: Xử lý tín hiệu, xử lý ảnh, robot học. FPT AI Vision Hình KIẾN THỨC NỀN TẢNG.6: FPT AI FPT AI Vision là dịch vụ nhận diện hình ảnh, tập trung trích xuất thông tin từ giấy tờ cá nhân (CMND, CCCD, hộ chiếu, bằng lái xe).  Quy trình hoạt động: 1.

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