Đồ án với đề tài Xây dựng ứng dụng nhắn tin được xây dựng bằng ngôn ngữ lập trình Dart,sử dụng Flutter và sử dụng hệ quản trị cơ sở dữ liệu MongoDB. Server được viết bằng ngôn ngữ NodeJS. Ứng dụng nhắn tin là một dịch vụ và ứng dụng phần mềm tin nhắn tức thời chia sẻ giao tiếp bằng ký tự và giọng nói. Cho phép người dùng trò chuyện với bạn bè, người thân
Năm: 2023 TÊN ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG NHẮN TIN Nguyễn Văn Hoàn ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT KHOA CÔNG NGHỆ SỐ ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC NGÀNH: CÔNG NGHỆ THÔNG TIN CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG NHẮN TIN Sinh viên thực Mã sinh viên Lớp Người hướng dẫn : Nguyễn Văn Hoàn : 191150531018 : 19T2 : TS Nguyễn Tấn Thuận Đà Nẵng, 06/2023 ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT KHOA CÔNG NGHỆ SỐ ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC NGÀNH: CÔNG NGHỆ THÔNG TIN CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG NHẮN TIN Sinh viên thực Mã sinh viên Lớp Người hướng dẫn : Nguyễn Văn Hoàn : 1911505310218 : 19T2 : TS Nguyễn Tấn Thuận Giảng viên hướng dẫn duyệt Đà Nẵng, 06/2023 NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN Xác nhận Giảng viên hướng dẫn (Ký, ghi rõ họ tên) i NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN Xác nhận Giảng viên phản biện (Ký, ghi rõ họ tên) ii TÓM TẮT Tên đề tài: Xây dựng ứng dụng nhắn tin Sinh viên thực hiện: Nguyễn Văn Hoàn Mã SV: 1911505310218 Lớp: 19T2 Đồ án với đề tài Xây dựng ứng dụng nhắn tin xây dựng ngơn ngữ lập trình Dart, sử dụng Flutter sử dụng hệ quản trị sở liệu MongoDB Server viết ngôn ngữ NodeJS Ứng dụng nhắn tin dịch vụ ứng dụng phần mềm tin nhắn tức thời chia sẻ giao tiếp ký tự giọng nói Cho phép người dùng trị chuyện với bạn bè, người thân iii NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Giảng viên hướng dẫn: TS Nguyễn Tấn Thuận Sinh viên thực hiện: Nguyễn Văn Hoàn Mã SV: 1911505310218 Tên đề tài: Xây dựng ứng dụng nhắn tin Các số liệu, tài liệu ban đầu: − Dựa quy định upload tài liệu, qui tắc đặt câu hỏi − Tài liệu tham khảo: Nội dung đồ án: Q trình xây dựng ứng dụng nhắn tin: − Thu thập thông tin tài liệu liên quan khảo sát thực tế − Phân tích thiết kế chức hệ thống − Phân tích thiết kế sơ liệu − Thiết kế giao diện cho chức − Xây dựng hệ thống app − Kiểm thử chương trình − Hồn thành báo cáo tổng hợp Các sản phẩm dự kiến − Ứng dụng nhắn tin − File báo cáo hoàn chỉnh Ngày giao đồ án: 21/02/2023 Ngày nộp đồ án: 11/06/2023 Đà Nẵng, ngày tháng năm 2023 Người hướng dẫn Trưởng Bộ mơn iv LỜI NĨI ĐẦU Lời đầu tiên, em xin gửi lời cảm ơn chân thành đến quý thầy cô giúp đỡ chúng em thực đề tài Đặc biệt TS Nguyễn Tấn Thuận tận tình giúp đỡ em suốt trình thực đề tài tốt nghiệp Đồng thời, em xin cảm ơn quý thầy cô thuộc ngành Công nghệ thông tin khoa Công nghệ số, trường Đại học Sư phạm Kỹ thuật - Đại học Đà Nẵng truyền đạt kiến thức cần thiết kinh nghiệm quý báu cho chúng em suốt thời gian năm giảng đường để em thực tốt đề tài Đặc biệt, em xin gởi lời cảm ơn chân thành tới TS Nguyễn Tấn Thuận giúp đỡ em nhiều trình học tập cơng việc Trong q trình thực đề tài, kiến thức thời gian hạn chế nên khơng thể tránh khỏi sai sót Vì em mong q thầy, thơng cảm góp ý để em hồn thiện đề tài Và lời góp ý giúp em tránh sai lầm sau Em xin chân thành cảm ơn! Đà Nẵng, ngày tháng năm 2023 Sinh viên thực v CAM ĐOAN Em xin cam đoan: - Những nội dung luận văn em thực hướng dẫn thầy Nguyễn Tấn Thuận - Mọi tham khảo luận văn trích dẫn rõ ràng tên tác giả, tên cơng trình, thời gian, địa điểm công bố - Mọi chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, em xin chịu hoàn toàn trách nhiệm Sinh viên thực vi MỤC LỤC NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN i NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN ii TÓM TẮT iii NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP iv LỜI NÓI ĐẦU v CAM ĐOAN vi MỤC LỤC vii DANH MỤC BẢNG BIỂU xiii DANH MỤC HÌNH VẼ xiv DANH MỤC CHỮ VIẾT TẮT TIẾNG VIỆT xvii DANH MỤC CHỮ VIẾT TẮT TIẾNG ANH xviii MỞ ĐẦU 1 Lý chọn đề tài .1 Mục tiêu đề tài Đối tượng phạm vi nghiên cứu 3.1 Đối tượng nghiên cứu 3.2 Pham vi nghiên cứu .2 Phương pháp nghiên cứu Giải pháp công nghệ Cấu trúc đồ án CHƯƠNG CƠ SỞ LÝ THUYẾT 1.1 Flutter Framework 1.1.1 Flutter gì? 1.1.2 Lịch sử phát triển .3 1.1.3 Kiến trúc khung 1.2 Ngơn ngữ lập trình Dart 1.2.1 Dart gì? 1.2.2 Các thư viện 1.2.3 Nền tảng 1.3 MongoDB 1.3.1 Khái niệm 1.3.2 Lịch sử vii 1.4 Node.js CHƯƠNG PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG .6 2.1 Khảo sát yêu cầu người dùng 2.2 Mô tả nghiệp vụ 2.2.1 Danh sách Actors 2.2.2 Xác định use-case hệ thống 2.3 Biểu đồ UseCase .8 2.3.1 Biểu đồ Usecase Tổng quát 2.3.2 UseCase Đăng ký đăng nhập 2.3.3 UseCase Quản lý hồ sơ .9 2.3.4 UseCase Xem danh sách liên hệ .10 2.3.5 UseCase Tìm kiếm 10 2.3.6 UseCase Gửi tin nhắn 11 2.3.7 UseCase Gửi hình ảnh video .11 2.3.8 UseCase Gửi Audio 12 2.3.9 UseCase Gửi File 12 2.3.10 Usecase Gọi video .13 2.3.11 UseCase Bày tỏ cảm xúc tin nhắn .13 2.4 Đặc tả UseCase .13 2.4.1 Đăng ký .13 2.4.2 Đăng nhập 14 2.4.3 Đăng xuất 15 2.4.4 Gửi tin nhắn .15 2.4.5 Chia sẻ vị trí tơi 16 2.4.6 Chỉnh sửa hồ sơ cá nhân 17 2.4.7 Gọi video 18 2.4.8 Xóa gọi khỏi lịch sử gọi 18 2.4.9 Phản hồi tin nhắn .19 2.4.10 Bày tỏ cảm xúc tin nhắn 19 2.4.11 Tạo nhóm chat 20 2.4.12 Thêm liên hệ vào nhóm chat .20 2.4.13 Rời khỏi nhóm chat 21 2.4.14 Xem liên hệ .21 2.4.15 Gỡ thu hồi tin nhắn 22 viii Xây dựn ứng dụng nhắn tin 3.2.7 Giao diện Hồ sơ a Giao diện hồ sơ cá nhân Hình 3.8 Giao diện hồ sơ cá nhân Sinh viên thực hiện: Nguyễn Văn Hoàn Người hướng dẫn: TS Nguyễn Tấn Thuận 81 Xây dựn ứng dụng nhắn tin b Giao diện hồ sơ người khác Hình 3.9 Giao diện hồ sơ người khác c Giao diện hồ sơ nhóm Hình 3.10 Giao diện hồ sơ nhóm Sinh viên thực hiện: Nguyễn Văn Hoàn Người hướng dẫn: TS Nguyễn Tấn Thuận 82 Xây dựn ứng dụng nhắn tin 3.2.8 Giao diện Chỉnh sửa hồ sơ Hình 3.11 Giao diện chỉnh sửa Hồ sơ a Giao diện chỉnh sửa tên Hình 3.12 Giao diện chỉnh sửa tên Sinh viên thực hiện: Nguyễn Văn Hoàn Người hướng dẫn: TS Nguyễn Tấn Thuận 83 Xây dựn ứng dụng nhắn tin b Giao diện chỉnh sửa tiểu sử Hình 3.13 Giao diện chỉnh sửa tiểu sử c Giao diện chỉnh sửa liên kết Hình 3.14 Giao diện chỉnh sửa liên kết Sinh viên thực hiện: Nguyễn Văn Hoàn Người hướng dẫn: TS Nguyễn Tấn Thuận 84 Xây dựn ứng dụng nhắn tin 3.2.9 Giao diện Cuộc hội thoại Hình 3.15 Giao diện Cuộc hội thoại 3.2.10 Giao diện Chia sẻ vị trí tơi Hình 3.16 Giao diện gửi vị trí dẫn Google Maps Sinh viên thực hiện: Nguyễn Văn Hoàn Người hướng dẫn: TS Nguyễn Tấn Thuận 85 Xây dựn ứng dụng nhắn tin 3.2.11 Giao diện Phản hồi tin nhắn Hình 3.17 Giao diện phản hồi tin nhắn 3.2.12 Giao diện Chuyển tiếp tin nhắn Hình 3.18 Giao diện chuyển tiếp tin nhắn Sinh viên thực hiện: Nguyễn Văn Hoàn Người hướng dẫn: TS Nguyễn Tấn Thuận 86 Xây dựn ứng dụng nhắn tin 3.2.13 Giao diện Gọi video Hình 3.19 Giao diện gọi video 3.2.14 Giao diện Tìm kiếm Hình 3.20 Giao diện Tìm kiếm Sinh viên thực hiện: Nguyễn Văn Hoàn Người hướng dẫn: TS Nguyễn Tấn Thuận 87 Xây dựn ứng dụng nhắn tin 3.2.15 Giao diện Camera Hình 3.21 Giao diện Camera 3.2.16 Giao diện Xem hình ảnh Hình 3.22 Giao diện xem hình ảnh Sinh viên thực hiện: Nguyễn Văn Hoàn Người hướng dẫn: TS Nguyễn Tấn Thuận 88 Xây dựn ứng dụng nhắn tin 3.2.17 Giao diện Chọn ảnh, video, file, âm từ thư viện Hình 3.23 Giao diện chọn ảnh, video, file, âm từ thư viện Sinh viên thực hiện: Nguyễn Văn Hoàn Người hướng dẫn: TS Nguyễn Tấn Thuận 89 Xây dựn ứng dụng nhắn tin 3.2.18 Giao diện Bày tỏ cảm xúc tin nhắn Hình 3.24 Giao diện bày tỏ cảm xúc tin nhắn 3.2.19 Giao diện Thống kê Hình 3.25 Giao diện Thống kê Sinh viên thực hiện: Nguyễn Văn Hoàn Người hướng dẫn: TS Nguyễn Tấn Thuận 90 Xây dựn ứng dụng nhắn tin 3.2.20 Giao diện Quản lý người dùng Hình 3.26 Giao diện Quản lý người dùng 3.2.21 Giao diện Quản lý nhóm Hình 3.27 Giao diện Quản lý nhóm Sinh viên thực hiện: Nguyễn Văn Hoàn Người hướng dẫn: TS Nguyễn Tấn Thuận 91 Xây dựn ứng dụng nhắn tin 3.2.22 Giao diện Hồ sơ admin Hình 3.28 Giao diện Hồ sơ admin Sinh viên thực hiện: Nguyễn Văn Hoàn Người hướng dẫn: TS Nguyễn Tấn Thuận 92 Xây dựn ứng dụng nhắn tin KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Kết luận 1.1 Về công nghệ − Tìm hiểu nắm bắt cơng cụ thiết kế app − Biết cách tổ chức server sở liệu − Nắm vững lý thuyết hiểu sâu Flutter Framework Nắm vững lý thuyết vận dụng thành thạo mơ hình MVVM, kiến thức hỗ − trợ trình xây dụng hệ thống: API, MongoDB Tích lũy kinh nghiệm xây dụng kế hoạch cho việc phát triển phần − mềm hồn chỉnh, cách bố trì quản lý thời gian cho hợp lý 1.2 Về ứng dụng − Xây dựng thành công “Ứng dụng nhắn tin” với chức đáp ứng nhu cầu nhắn tin, tạo nhóm, gửi hình ảnh, video, audio, kết bạn,… cho người dùng Hướng phát triển − Hoàn thành chức thiếu phát triển thêm số chức − − Tối ưu hóa hệ thống để ứng dụng hoạt động nhanh Nâng cấp hoàn thiện giao diện người dùng, chức tính bảo mật hệ thống Sinh viên thực hiện: Nguyễn Văn Hoàn Người hướng dẫn: TS Nguyễn Tấn Thuận 93 Xây dựn ứng dụng nhắn tin TÀI LIỆU THAM KHẢO [1] Việt Trần (2023) Flutter gì? Nó có ưu điểm vượt trội để làm ứng dụng mobile?, https://topdev.vn/blog/flutter-la-gi/ [2] Wikipedia (2023) MongoDB, https://vi.wikipedia.org/wiki/MongoDB [3] Tuấn (2021) Giới thiệu ngôn ngữ Dart, https://viblo.asia/p/gioi-thieu-ngon-ngudart-ORNZqdv3K0n [4] Vinh Phạm (2021) Socket IO gì? Hướng dẫn sử dụng socket io bản, https://bizflycloud.vn/tin-tuc/socket-io-la-gi-huong-dan-su-dung-socket-io-co-ban20210330114148979.htm [5] Nguyễn Hưng (2023) NodeJS gì? Tổng quan kiến thức Node.JS, https://vietnix.vn/nodejs-la-gi/ [6] Vu Duc Tung (2019) Flutter MVVM, https://viblo.asia/p/flutter-va-mvvmL4x5xk4alBM [7] Trang Hà (2023) Visual Studio Code gì? Cách tải phần mềm lập trình VS Code, https://cellphones.com.vn/sforum/visual-studio-code [8] Topdev (2023) Postman gì? API Testing với Postman, https://topdev.vn/blog/postman-la-gi/ [9] Amazon (2023) Vì bạn nên sử dụng sở liệu NoSQL?, https://aws.amazon.com/vi/nosql/ Sinh viên thực hiện: Nguyễn Văn Hoàn Người hướng dẫn: TS Nguyễn Tấn Thuận 94 Xây dựn ứng dụng nhắn tin Sinh viên thực hiện: Nguyễn Văn Hoàn Người hướng dẫn: TS Nguyễn Tấn Thuận 95