I. Giới thiệu về Đồ án Xây dựng ChatApp Đa Nền tảng
Đồ án ChatApp đa nền tảng là một dự án học thuật đượ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.HCM. Dự án này nhằm phát triển một ứng dụng trò chuyện hiện đại có khả năng hoạt động trên nhiều nền tảng khác nhau như di động (iOS, Android) và web. Mục tiêu chính của chatapp đa nền tảng này là tạo ra một giải pháp giao tiếp toàn diện, memenuhi nhu cầu kết nối và giao tiếp của người dùng trên các thiết bị khác nhau. Nhóm sinh viên thực hiện gồm Vũ Hồ Quỳnh Anh và Mai Tuấn An, dưới sự hướng dẫn của cô Trần Thị Hồng Yến. Trong suốt quá trình phát triển, nhóm đã tập trung vào việc nghiên cứu, phân tích yêu cầu người dùng và thiết kế giao diện thân thiện, dễ sử dụng.
1.1. Lý do chọn đề tài ChatApp Đa Nền tảng
Trong thời đại số hóa hiện nay, nhu cầu giao tiếp trực tuyến ngày càng tăng cao. Ứng dụng chatapp trở thành một công cụ thiết yếu trong cuộc sống hàng ngày. Chọn đề tài xây dựng chatapp đa nền tảng giúp nhóm sinh viên áp dụng các kiến thức về phát triển ứng dụng mobile, web và hệ thống backend vào thực tiễn. Đồng thời, dự án này cho phép học sinh khám phá các công nghệ hiện đại như real-time messaging, xác thực người dùng, và quản lý dữ liệu phân tán trên nhiều nền tảng khác nhau.
1.2. Mục đích và Phạm vi Nghiên cứu
Mục đích chính của đồ án chatapp là xây dựng một hệ thống messaging đầy đủ chức năng với các tính năng như đăng ký, đăng nhập, quản lý hồ sơ, trò chuyện nhóm, chia sẻ hình ảnh và video. Phạm vi nghiên cứu bao gồm phân tích yêu cầu hệ thống, thiết kế kiến trúc ứng dụng, phát triển giao diện người dùng, và xây dựng backend server. Nhóm cũng chú trọng đến bảo mật, quyền riêng tư, kiểm thử ứng dụng và tối ưu hóa hiệu suất hoạt động trên các nền tảng khác nhau.
II. Cơ sở Lý thuyết và Công nghệ Sử dụng
Cơ sở lý thuyết của chatapp đa nền tảng dựa trên các nguyên lý kiến trúc phần mềm hiện đại. Dự án sử dụng mô hình client-server để đảm bảo sự đồng bộ dữ liệu giữa các nền tảng. Công nghệ phát triển bao gồm các framework và thư viện phổ biến như React Native hoặc Flutter cho mobile, React hoặc Vue.js cho web, và Node.js hoặc Python cho backend. Hệ thống cơ sở dữ liệu sử dụng SQL hoặc NoSQL tùy theo yêu cầu cụ thể. Để hỗ trợ tin nhắn real-time, dự án tích hợp công nghệ WebSocket hoặc các dịch vụ cloud như Firebase. Các nguyên lý bảo mật dữ liệu và mã hóa thông tin được áp dụng để bảo vệ quyền riêng tư người dùng.
2.1. Kiến trúc Hệ thống Chatapp
Kiến trúc hệ thống được thiết kế theo mô hình microservices hoặc monolithic tùy theo quy mô. Lớp presentation bao gồm giao diện mobile và web. Lớp business logic xử lý các yêu cầu người dùng, quản lý trò chuyện, và xác thực. Lớp data access kết nối với cơ sở dữ liệu. Kiến trúc chatapp đa nền tảng đảm bảo tính nhất quán dữ liệu, khả năng mở rộng và hiệu suất cao trong các tình huống lưu lượng lớn.
2.2. Công nghệ Real time Messaging
Để cung cấp tin nhắn real-time tức thời, dự án sử dụng WebSocket hoặc Socket.io. Công nghệ này cho phép giao tiếp hai chiều liên tục giữa client và server, đảm bảo người nhận nhận được tin nhắn ngay lập tức. Hệ thống notification được triển khai để thông báo cho người dùng về tin nhắn mới, yêu cầu kết bạn hoặc hoạt động trong nhóm. Các dịch vụ cloud như Firebase Cloud Messaging hỗ trợ gửi thông báo đẩy trên thiết bị di động hiệu quả.
III. Phân tích Yêu cầu và Thiết kế Hệ thống
Phân tích yêu cầu là bước quan trọng trong phát triển chatapp đa nền tảng. Dự án xác định các yêu cầu chức năng như đăng nhập, tạo nhóm, gửi tin nhắn, chia sẻ tệp tin. Yêu cầu phi chức năng bao gồm bảo mật, hiệu suất, khả năng mở rộng, và độ tin cậy của hệ thống. Thiết kế hệ thống sử dụng sơ đồ Use Case để mô tả các tương tác giữa người dùng và ứng dụng. Sơ đồ Entity-Relationship (ER) định nghĩa cấu trúc cơ sở dữ liệu với các bảng như User, Message, MessageBox, Relation, Post, Comment, Report. Sơ đồ Activity mô tả luồng xử lý các chức năng chính, giúp nhóm hiểu rõ quy trình hoạt động của ứng dụng.
3.1. Danh sách Yêu cầu Chức năng
Yêu cầu chức năng chính của chatapp đa nền tảng bao gồm: xác thực người dùng (đăng ký, đăng nhập, quên mật khẩu), quản lý hồ sơ cá nhân, gửi và nhận tin nhắn trực tiếp, tạo và quản lý nhóm chat, chia sẻ hình ảnh và video, phản ứng tin nhắn (like, emoji), tạo bài viết, bình luận, báo cáo nội dung không phù hợp, quản lý danh sách bạn bè, xem bản đồ vị trí. Mỗi chức năng được mô tả chi tiết với điều kiện tiên quyết, luồng chính, và luồng ngoại lệ.
3.2. Thiết kế Cơ sở Dữ liệu
Thiết kế cơ sở dữ liệu cho chatapp bao gồm các bảng chính: User (lưu thông tin người dùng), Message (lưu nội dung tin nhắn), MessageBox (nhóm chat), Relation (quan hệ bạn bè), Post (bài viết), Comment (bình luận), File (tệp đính kèm), Report (báo cáo), Location (vị trí), Status (trạng thái online/offline). Các quan hệ giữa bảng được thiết lập thông qua khóa ngoài. Bảng Audit ghi lại các hoạt động của người dùng để đảm bảo tính minh bạch và bảo mật.
IV. Xây dựng và Triển khai Ứng dụng ChatApp
Xây dựng ứng dụng chatapp đa nền tảng bao gồm phát triển giao diện người dùng cho cả mobile (iOS/Android) và web. Màn hình chính của ứng dụng hiển thị danh sách hộp thoại gần đây, cho phép người dùng truy cập nhanh các cuộc trò chuyện. Màn hình chi tiết hộp thoại cho phép người dùng xem lịch sử tin nhắn, gửi tin nhắn mới, chia sẻ hình ảnh/video. Màn hình bạn bè hiển thị danh sách liên hệ, cho phép kết bạn hoặc xóa bạn. Màn hình trang cá nhân cho phép chỉnh sửa thông tin hồ sơ, xem điểm số, thay đổi mật khẩu. Tính năng bảo mật bao gồm mã hóa end-to-end, xác thực hai yếu tố, kiểm soát quyền truy cập. Kiểm thử ứng dụng được thực hiện trên các thiết bị và nền tảng khác nhau để đảm bảo hoạt động ổn định.
4.1. Sơ đồ Luồng Màn hình và Giao diện Người dùng
Sơ đồ luồng màn hình mô tả hành trình người dùng qua các màn hình khác nhau trong chatapp. Bắt đầu từ màn hình đăng nhập/đăng ký, người dùng điều hướng đến màn hình chính, từ đó có thể truy cập các chức năng như trò chuyện, bạn bè, bài viết, hoặc cài đặt. Giao diện người dùng được thiết kế thân thiện, trực quan với các biểu tượng rõ ràng, màu sắc hài hòa, và luồng tương tác mượt mà. Thiết kế responsive đảm bảo ứng dụng hoạt động tốt trên các kích thước màn hình khác nhau.
4.2. Kết quả Đạt được và Hướng Phát triển
Kết quả đạt được từ đồ án chatapp đa nền tảng bao gồm ứng dụng hoạt động đầy đủ các chức năng cơ bản, giao diện đẹp mắt và dễ sử dụng, hệ thống backend ổn định. Hướng phát triển trong tương lai bao gồm tích hợp các tính năng nâng cao như gọi video/âm thanh, dịch ngôn ngữ tự động, quản lý file lớn, tích hợp AI cho gợi ý bạn bè, nâng cao hiệu suất xử lý lưu lượng lớn, mở rộng hỗ trợ các nền tảng khác.