Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 116 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
116
Dung lượng
3,11 MB
Nội dung
ĐẠ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 TRẦN THÀNH TRUNG – 19522436 NGUYỄN QUỐC TRUNG – 19522429 ĐỒ ÁN PHÁT TRIỂN ỨNG DỤNG TRÒ CHUYỆN ẨN DANH CONTINUE DEVELOPING ANONYMOUS CHATTING APP KHOA CÔNG NGHỆ PHẦN MỀM TP HỒ CHÍ MINH, 12,2022 ĐẠ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 TRẦN THÀNH TRUNG – 19522436 NGUYỄN QUỐC TRUNG – 19522429 ĐỒ ÁN PHÁT TRIỂN ỨNG DỤNG TRÒ CHUYỆN ẨN DANH CONTINUE DEVELOPING ANONYMOUS SOCIAL CHAT APP KHOA CÔNG NGHỆ PHẦN MỀM GIẢNG VIÊN HƯỚNG DẪN TH.S HUỲNH TUẤN ANH TP HỒ CHÍ MINH, 12,2022 LỜI CẢM ƠN Lời đầu tiên, nhóm tác giả xin chân thành cảm ơn quý thầy cô khoa Công nghệ Phần mềm, trường Đại Học Công Nghệ Thông Tin, ĐHQG TP.HCM, tận tình hướng dẫn nhóm suốt thời gian qua Những kiến thức mà thầy cô truyền đạt tảng quan trọng để nhóm hồn thành đề tài Nhóm tác giả xin gửi lời cảm ơn chân thành lòng biết ơn sâu sắc đến ThS Huỳnh Tuấn Anh, cảm ơn thầy tận tình hướng dẫn tạo điều kiện tốt cho nhóm hồn thành đề tài Những lời động viên, góp ý chân tình thầy động lực quý báu để nhóm vượt qua khó khăn tìm hiểu thực đề tài Trong thời gian tháng thực đề tài, nhóm chúng em cố gắng vận dụng kiến thức tảng học, kết hợp học hỏi tìm hiểu công nghệ để ứng dụng xây dựng cho đồ án lần Tuy nhiên trình thực hiện, kiến thức kinh nghiệm nhiều hạn chế, khó tránh khỏi thiếu sót Chính vậy, nhóm tác giả mong nhận góp ý từ q thầy để nhóm hồn thiện thêm kiến thức mà nhóm học tập, làm hành trang q báu cho nhóm cơng việc sau Sau cùng, nhóm tác giả xin kính chúc q thầy khoa Công nghệ phần mềm thầy Huỳnh Tuấn Anh thật dồi sức khỏe, niềm tin để tiếp tục thực sứ mệnh cao đẹp truyền đạt kiến thức cho hệ mai sau Đồng thời chúc tất người có kỳ nghỉ tết nguyên đán vui vẻ, hạnh phúc bên gia đình Xin chân thành cảm ơn quý thầy cô ! NHẬN XÉT (Của giáo viên hướng dẫn) ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… DANH SÁCH THÀNH VIÊN NHÓM Tên thành viên Trần Thành Trung Nguyễn Quốc Trung MSSV 19522436 19522429 MỤC LỤC Chương TỔNG QUAN VỀ ĐỀ TÀI 1.1 Đặt vấn đề 2 1.1.1 Mục tiêu 1.1.2 Phạm vi 1.2 Công cụ sử dụng Chương CƠ SỞ LÝ THUYẾT 2.1 NodeJS 3 2.1.1 Giới thiệu 2.1.2 Lý sử dụng 2.2 MongoDB 2.2.1 Giới thiệu 2.2.2 Lý sử dụng 2.3 Flutter 2.3.1 Giới thiệu 2.3.2 Lý sử dụng 2.4 Agora 2.4.1 Giới thiệu 2.4.2 Lý sử dụng 2.5 RailWay 2.5.1 Giới thiệu 2.5.2 Lý sử dụng Chương KHẢO SÁT VÀ PHÂN TÍCH ĐẶC TẢ YÊU CẦU 3.1 Nhu cầu thực tế 3.2 Use case , đặc tả usecase 9 10 3.2.1 Sơ đồ usecase 10 3.2.2 Danh sách usecase 11 3.2.3 Đặc tả chi tiết (Activity, Sequence Diagram) 12 3.2.3.1 Đăng nhập 12 Activity Diagram 14 Sequence Diagram 15 3.2.3.2 Đăng ký 15 Activity Diagram 17 Sequence Diagram 18 3.2.3.3 Quên mật 18 Activity Diagram 20 Sequence Diagram 21 3.2.3.4 Đăng xuất 21 Activity Diagram 23 Sequence Diagram 24 3.2.3.5 Chỉnh sửa hồ sơ 24 Activity Diagram 26 Sequence Diagram 27 3.2.3.6 Chỉnh sửa cài đặt 27 Activity Diagram 29 Sequence Diagram 30 3.2.3.7 Ghép cặp 30 Activity Diagram 32 Sequence Diagram 33 3.2.3.8 Chat 33 Activity Diagram 35 Sequence Diagram 36 3.2.3.9 Nghe nhạc 36 Activity Diagram 38 Sequence Diagram 39 3.2.3.10 Khiếu nại - Report 39 Activity Diagram 41 Sequence Diagram 42 3.2.3.11 Thêm bạn bè / Theo dõi bạn bè 42 Activity Diagram 44 Sequence Diagram 45 3.2.3.12 Tìm kiếm bạn bè 45 Activity Diagram 47 Sequence Diagram 48 3.2.3.13 Xem danh sách ghép cặp 48 Activity Diagram 49 Sequence Diagram 50 3.2.3.14 Xem hồ sơ bạn bè 50 Activity Diagram 51 Sequence Diagram 52 3.2.3.15 Khiếu nại bạn bè 52 Activity Diagram 54 Sequence Diagram 55 3.2.3.16 Bỏ theo dõi bạn bè 55 Activity Diagram 57 Sequence Diagram 58 3.2.3.17 Mời bạn bè vào phòng chat 58 Activity Diagram 60 Sequence Diagram 61 3.2.3.18 Quản lý kho ảnh - thêm ảnh 61 Activity Diagram 63 Sequence Diagram 64 3.2.3.19 Xem ảnh 64 Activity Diagram 65 Sequence Diagram 65 3.2.3.20 Quản lý kho ảnh - xóa ảnh 66 Activity Diagram 67 Sequence Diagram 68 3.2.3.21 Voice call 68 Activity Diagram 69 Sequence Diagram 69 3.2.3.22 Video call 70 Activity Diagram 71 Sequence Diagram 71 3.2.3.23 Xem danh sách thông báo 72 Activity Diagram 73 Sequence Diagram 73 3.2.3.24 Xóa thơng báo 73 Activity Diagram 74 Sequence Diagram 75 3.2.3.25 Chấp nhận yêu cầu theo dõi 75 Activity Diagram 76 Sequence Diagram 77 3.2.3.26 Từ chối yêu cầu theo dõi 77 Activity Diagram 78 Sequence Diagram 79 3.3 Sơ đồ lớp 80 3.3.1 Danh sách chi tiết đối tượng quan hệ 80 3.3.2 Mô tả chi tiết lớp đối tượng 80 3.3.2.1 User 80 3.3.2.2 Setting 81 3.3.2.3 Media 81 3.3.2.4 Message 82 3.3.2.5 Friend 82 3.3.2.6 Report 82 Chương THIẾT KẾ HỆ THỐNG 4.1 Kiến trúc hệ thống 83 83 4.2 Giao diện tổng quan 85 4.2.1 Màn hình đăng nhập 85 4.2.2 Màn hình đăng ký 86 4.2.3 Màn hình quên mật 87 4.2.4 Màn hình – Home 88 4.2.5 Hồ sơ người dùng 89 4.2.6 Cài đặt 90 4.2.7 Danh sách bạn bè 91 4.2.8 Hồ sơ bạn bè 92 4.2.9 Phòng chat 93 4.2.9.1 Nhắn tin 93 4.2.9.2 Nghe nhạc 94 4.2.10 Xem Ảnh 95 4.2.11 Gọi Video - Video Call 96 4.2.12 Gọi Voice - Voice Call 97 4.2.13 Thông báo 98 4.2.14 Khiếu nại 100 PHÁT TRIỂN VÀ CÀI ĐẶT ỨNG DỤNG 101 Chương 5.1 Môi trường phát triển ứng dụng 101 5.2 Môi trường triển khai ứng dụng 101 Chương KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 6.1 Kết luận 6.1.1 Kết đạt 101 101 101 6.1.1.1 Ưu điểm 101 6.1.1.2 Khuyết điểm 102 Hình 70 Màn hình cài đặt 86 4.2.7 Danh sách bạn bè Hình 71 Màn hình danh sách bạn bè 87 4.2.8 Hồ sơ bạn bè Hình 72 Màn hình thơng tin bạn bè 88 4.2.9 Phịng chat 4.2.9.1 Nhắn tin Hình 73 Màn hình Phịng chat 89 4.2.9.2 Nghe nhạc Hình 74 Màn hình nghe nhạc 90 4.2.10.Xem Ảnh Hình 75 Màn hình xem ảnh 91 4.2.11.Gọi Video - Video Call Hình 76 Màn hình gọi Video 92 93 4.2.12.Gọi Voice - Voice Call Hình 77 Màn hình gọi thoại 94 4.2.13.Thơng báo Hình 78 Màn hình thơng báo 95 4.2.14.Khiếu nại 96 Hình 79 Màn hình khiếu nại Chương PHÁT TRIỂN VÀ CÀI ĐẶT ỨNG DỤNG 97 5.1 Môi trường phát triển ứng dụng - Hệ điều hành: Windows 10, 11, Linux Mint - Ngôn ngữ: Dart - Framework: Flutter, NodeJS, Express - Hệ quản trị sở liệu: MongoDB, Cloudinary - Voice Call, Video Call : Agora - Công cụ chạy ứng dụng: Visual Studio Code - Cơng cụ khởi tạo kiểm sốt máy ảo : Android Studio – Android 8.1 Oreo, Smartphone Techno Pova 5.2 Môi trường triển khai ứng dụng - Hệ điều hành : Android - Ram 2GB+ - Yêu cầu có kết nối internet cài đặt app để sử dụng Chương 6.1 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Kết luận 6.1.1 Kết đạt 6.1.1.1 Ưu điểm o Flutter : Hiểu thêm cách hoạt động,sử dụng state management GetX, đồng thời trau dồi thêm kiến thức thiết kế UI Flutter o NodeJS : Hiểu sâu Socket.io, đồng thời kết hợp với Agora để hồn thiện tính voice call, video call o Agora : Nắm luồng hoạt động, cách thực thi, phương thức bảo mật triển khai Agora 98 o Hai phần BackEnd FrontEnd tách biệt, dễ sử dụng, dễ hiểu o Đặt đề mục đặt rút kinh nghiệm từ đồ án : cải thiện UI, app performance, chức app, 6.1.1.2 Khuyết điểm o Chưa thể cấu hình thuật tốn ghép đơi cụ thể o Khơng đủ thời gian tìm hiểu sâu, nên có số chức chưa hoàn thiện đặt ra: Chưa có tính group chat, o Tối ưu code chưa tốt nên tốc độ phản hồi chưa đạt hiệu cao o Chưa áp dụng nhiều animation vào app o Chưa publish app lên CHPlay cịn q nhiều thiếu sót 6.1.2 Điểm đặc sắc đề tài - Có hướng phát triển cụ thể từ đồ án 1, hoàn thiện đồ án lần - Vẫn đồ án 1, đề tài phát triển ứng dụng nhằm kết nối người lại với - Giờ gọi video, voice call thơng qua app - Đã có tính thông báo 6.2 - Hướng phát triển Cải thiện tốc độ phản hồi Server, đồng thời tiếp nhận Bug, phản hồi, từ hồn thiện ứng dụng đưa vào sử dụng thực tiễn, hoạt động Store - Thêm số tính GroupChat ẩn danh, - Tìm hiểu thuật tốn ghép cặp Tinder/Lit Match nhằm cải thiện độ tương thích ghép cặp khơng cịn ngẫu nhiên 99 Chương TÀI LIỆU THAM KHẢO Theo chuẩn IEEE 1/ Flutter Documentary : Flutter documentation | Flutter Tham khảo kiến thức bản, state management GetX 2/ NodeJS : NodeJS Xây dựng server + Token Generator kết nối MongoDB, 3/ SocketIO (tham khảo) : Introduction | Socket.IO Mở kết nối cho server chat 4/ JWT : JSON Web Token Introduction - jwt.io Định danh, xác thực người dùng 5/Agora.io : Agora.io Tìm hiểu Agora, WebRTC áp dụng Voice Call, Video Call 5/Railway : Railway - deploy project Tìm hiểu RailWay, deploy Token generator Server phục vụ cho việc voice call, video call 100 ... 4.2.14 Khiếu nại 100 PHÁT TRIỂN VÀ CÀI ĐẶT ỨNG DỤNG 101 Chương 5.1 Môi trường phát triển ứng dụng 101 5.2 Môi trường triển khai ứng dụng 101 Chương KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 6.1 Kết luận 6.1.1... CÔNG NGHỆ PHẦN MỀM TRẦN THÀNH TRUNG – 19522436 NGUYỄN QUỐC TRUNG – 19522429 ĐỒ ÁN PHÁT TRIỂN ỨNG DỤNG TRÒ CHUYỆN ẨN DANH CONTINUE DEVELOPING ANONYMOUS SOCIAL CHAT APP KHOA CÔNG NGHỆ PHẦN MỀM GIẢNG... vượt qua khó khăn tìm hiểu thực đề tài Trong thời gian tháng thực đề tài, nhóm chúng em cố gắng vận dụng kiến thức tảng học, kết hợp học hỏi tìm hiểu cơng nghệ để ứng dụng xây dựng cho đồ án lần