Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 99 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
99
Dung lượng
3,6 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 LÊ HỒNG HIỂN HỒ THÁI THĂNG KHÓA LUẬN TỐT NGHIỆP XÂY DỰNG MẠNG XÃ HỘI HẸN HÒ TRỰC TUYẾN Online dating social network KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM TP HỒ CHÍ MINH, 2021 ĐẠ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 LÊ HỒNG HIỂN – 16521095 HỒ THÁI THĂNG - 16521095 KHÓA LUẬN TỐT NGHIỆP XÂY MẠNG XÃ HỘI HẸN HÒ TRỰC TUYẾN Online dating social network KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM GIẢNG VIÊN HƯỚNG DẪN ThS HUỲNH TUẤN ANH TP HỒ CHÍ MINH, 2021 THƠNG TIN HỘI ĐỒNG CHẤM KHĨA LUẬN TỐT NGHIỆP Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số …………………… ngày ………………… Hiệu trưởng Trường Đại học Công nghệ Thông tin LỜI CẢM ƠN Sau năm học tập rèn luyện Trường Đại Học Công Nghệ Thông Tin, em trang bị kiến thức bản, kỹ thực tế để hồn thành Khóa luận tốt nghiệp Xin chân thành cảm ơn quý thầy cô Khoa Công Nghệ Phần Mềm, đặc biệt thầy Huỳnh Tuấn Anh nhiệt tình, quan tâm, hướng dẫn truyền đạt kiến thức kinh nghiệm cho em suốt thời gian thực Khóa luận tốt nghiệp Bên cạnh đó, lần xin cảm ơn nhóm bạn lớp làm khóa luận động viên, thảo luận góp ý cho nhóm đồng thời khơi thêm nguồn động lực cho nhóm để tiếp thêm động lực cho nhóm giai đoạn đầy khó khăn Ngồi ra, chúng em cảm ơn anh, chị, bạn bè gia đình giúp đỡ tạo điều kiện cho chúng em hoàn tất luận văn Mặc dù cố gắng, nhiên khả giới hạn nên khơng tránh khỏi sai sót, chúng em mong nhận thơng cảm góp ý chân tình từ q thầy cô bạn Một lần xin chân thành cảm ơn người Thành Phố Hồ Chí Minh, 15 tháng 01 năm 2021 Sinh viên Lê Hồng Hiển Hồ Thái Thăng MỤC LỤC Chương TỔNG QUAN ĐỀ TÀI 1.1 Đặt vấn đề: 1.2 Mục tiêu phạm vi: 1.2.1 Mục tiêu: 1.2.2 Phạm vi: 1.2.3 Nội dung thực hiện: 1.2.4 Kết dự kiến: Chương CƠ SỞ LÝ THUYẾT .4 2.1 Node.js: 2.2 Typescript: 2.3 GraphQL: 2.4 Flutter: 2.5 PostgreSQL: 2.6 Redis: 2.7 MongoDB: 2.8 FastAPI: 2.9 Ant Design Pro: 2.10 Thuật tốn ghép đơi: 2.10.1 Thuật tốn phân nhóm (clustering): 2.10.1.1 Tổng quan: 2.10.1.2 Hướng áp dụng: .9 2.10.1.3 Thuật toán K-means clustering: Chương XÁC ĐỊNH VÀ PHÂN TÍCH YÊU CẦU 11 3.1 Khảo sát trạng: 11 3.1.1 Hiện trạng tin học (phần cứng, phần mềm): 11 3.1.2 Các ứng dụng liên quan: 12 3.1.2.1 Tinder: 12 3.1.2.2 Facebook hẹn hò: 13 3.2 Các yêu cầu: 14 3.2.1 Các yêu cầu chức năng: 14 3.2.1.1 Yêu cầu lưu trữ: 14 3.2.1.2 Yêu cầu tính tốn: 14 3.2.1.3 Yêu cầu tra cứu: 15 3.2.1.4 Yêu cầu thống kê, tổng hợp: 15 Chương THIẾT KẾ HỆ THỐNG .16 4.1 Phân tích thiết kế hệ thống: 16 4.1.1 Lược đồ use case: 16 4.1.2 Danh sách actor: 16 4.1.3 Danh sách use case: 16 4.1.4 Đặc tả use case: 19 4.1.4.1 Đặc tả use case “Đăng nhập tài khoản Cupizz”: 19 4.1.4.2 Đặc tả use case “Đăng nhập mạng xã hội”: 20 4.1.4.3 Đặc tả use case “Đăng ký”: 22 4.1.4.4 Đặc tả use case: “Quên mật khẩu”: 23 4.1.4.5 Đặc tả use case “Đổi mật khẩu”: 24 4.1.4.6 Đặc tả use case “Chỉnh sửa thông tin cá nhân”: 25 4.1.4.7 Đặc tả use case “Thay đổi ảnh bìa”: 26 4.1.4.8 Đặc tả use-case “Thay đổi ảnh đại diện”: 27 4.1.4.9 Đặc tả use case “Thêm ảnh vào thư viện ảnh”: 28 4.1.4.10 Đặc tả use “Xóa ảnh khỏi thư viện ảnh”: 29 4.1.4.11 Đặc tả use case “Chỉnh sửa vị trí thứ tự ảnh thư viện ảnh”: 30 4.1.4.12 Đặc tả use case “Trả lời câu hỏi”: 32 4.1.4.13 Đặc tả use case “Gửi siêu thích”: 33 4.1.4.14 Đặc tả use case “Xem lại hồ sơ ghép đôi”: 34 4.1.4.15 Đặc tả use case “Xem người dùng thích bạn”: 35 4.1.4.16 Đặc tả use case “Xem hồ sơ hẹn hò người dùng gợi ý”: 36 4.1.4.17 Đặc tả use case “Vuốt thích khơng thích hồ sơ hẹn hò đề xuất”: 37 4.1.4.18 Đặc tả use case “Trị chuyện với người ghép đơi”: 38 4.1.4.19 Đặc tả use case “Gọi video”: 39 4.1.4.20 Đặc tả use case “Trò chuyện ẩn danh”: 40 4.1.4.21 Đặc tả use case “Đăng nhập quản trị viên”: 42 4.1.4.22 Đặc tả use case “Xem phân tích”: 43 4.1.4.23 Đặc tả use case “Xem thống kê”: 44 4.1.4.24 Đặc tả use case “Quản lý người dùng”: 45 4.1.4.25 Đặc tả use case “Xem cấu hình ứng dụng”: 46 4.1.4.26 Đặc tả use case “Quản lý sở thích”: 47 4.1.4.27 Đặc tả use case “Quản lý câu hỏi”: 48 4.1.4.28 Đặc tả use case “Quản lý hỏi đáp”: 50 4.2 Thiết kế sở liệu: 52 4.2.1 Mơ hình quan hệ: 52 4.2.2 Mô tả kiểu liệu: 52 4.3 Thiết kế giao diện: 66 4.3.1 Sơ đồ thiết kế giao diện: 66 4.3.2 Danh sách giao diện: 66 4.3.3 Giao diện ứng dụng: 68 4.3.3.1 Giao diện “Đăng ký tài khoản”: 68 4.3.3.2 Giao diện “Nhập mã xác thực”: 69 4.3.3.3 Giao diện “Đăng nhập”: 70 4.3.3.4 Giao diện “Gợi ý hẹn hò”: 71 4.3.3.5 Giao diện “Thông tin cá nhân người người khác”: 72 4.3.3.6 Giao diện “Menu cài đặt thông tin gợi ý”: 73 4.3.3.7 Giao diện “Danh sách người ghép đôi”: 74 4.3.3.8 Giao diện “Danh sách người thích bạn”: 75 4.3.3.9 Giao diện “Danh sách trị chuyện cơng khai”: 76 4.3.3.10 Giao diện “Cuộc trị chuyện cơng khai”: 76 4.3.3.11 Giao diện “Thông tin cá nhân”: 78 4.3.3.12 Giao diện “Cập nhật thông tin cá nhân”: 79 4.3.3.13 Giao diện “Quản lý thư viện ảnh”: 80 4.3.3.14 Giao diện “Xem ảnh”: 81 4.3.3.15 Giao diện “Cài đặt ứng dụng”: 82 4.4 Thiết kế kiến trúc: 83 4.4.1 Thiết kế hệ thống: 83 Chương KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 83 5.1 Kết đạt được: 83 5.2 Thuận lợi khó khăn: 84 5.2.1 Thuận lợi: 84 5.2.2 Khó khăn: 84 5.3 Hướng phát triển: 85 DANH MỤC HÌNH Hình 2.1 Thuật tốn K-means clustering 10 Hình 3.1 Khảo sát thị phần hệ điều hành di động 11 Hình 3.2 Logo Tinder 12 Hình 3.3 Logo Facebook hẹn hò 13 Hình 4.1 Sơ đồ Usecase 16 Hình 4.2 Mơ hình quan hệ sở liệu 52 Hình 4.3 Sơ đồ thiết kế giao diện 66 Hình 4.4 Màn hình đăng ký 68 Hình 4.5 Màn hình nhập mã xác thực 69 Hình 4.6 Màn hình đăng nhập 70 Hình 4.7 Màn hình trang chủ 71 Hình 4.8 Màn hình trang cá nhân người khác 72 Hình 4.9 Menu cài đặt thơng tin gợi ý 73 Hình 4.10 Màn hình danh sách người ghép đôi 74 Hình 4.11 Màn hình danh sách người thích bạn 75 Hình 4.12 Màn hình danh sách trị chuyện cơng khai 76 Hình 4.13 Màn hình nhắn tin 77 Hình 4.14 Màn hình thơng tin cá nhân 78 Hình 4.15 Màn hình chỉnh sửa thơng tin cá nhân 79 Hình 4.16 Màn hình quản lý hình ảnh 80 Hình 4.17 Màn hình xem ảnh 81 Hình 4.18 Màn hình cài đặt 82 Hình 4.19 Sơ đồ thiết kế hệ thống 83 4.3.3.5 Giao diện “Thơng tin cá nhân người người khác”: Hình 4.8 Màn hình trang cá nhân người khác 72 4.3.3.6 Giao diện “Menu cài đặt thơng tin gợi ý”: Hình 4.9 Menu cài đặt thông tin gợi ý 73 4.3.3.7 Giao diện “Danh sách người ghép đơi”: Hình 4.10 Màn hình danh sách người ghép đơi 74 4.3.3.8 Giao diện “Danh sách người thích bạn”: Hình 4.11 Màn hình danh sách người thích bạn 75 4.3.3.9 Giao diện “Danh sách trị chuyện cơng khai”: Hình 4.12 Màn hình danh sách trị chuyện cơng khai 4.3.3.10 Giao diện “Cuộc trị chuyện cơng khai”: 76 Hình 4.13 Màn hình nhắn tin 77 4.3.3.11 Giao diện “Thơng tin cá nhân”: Hình 4.14 Màn hình thơng tin cá nhân 78 4.3.3.12 Giao diện “Cập nhật thông tin cá nhân”: Hình 4.15 Màn hình chỉnh sửa thơng tin cá nhân 79 4.3.3.13 Giao diện “Quản lý thư viện ảnh”: Hình 4.16 Màn hình quản lý hình ảnh 80 4.3.3.14 Giao diện “Xem ảnh”: Hình 4.17 Màn hình xem ảnh 81 4.3.3.15 Giao diện “Cài đặt ứng dụng”: Hình 4.18 Màn hình cài đặt 82 4.4 Thiết kế kiến trúc: 4.4.1 Thiết kế hệ thống: Hình 4.19 Sơ đồ thiết kế hệ thống Chương KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 5.1 Kết đạt được: Mạng xã hội hẹn hị khơng phải hướng Tuy nhiên thơng qua q trình nghiên cứu thực đề tài khố luận, nhóm chúng em có hội tìm hiểu cơng nghệ, phát triển triển khai hệ thống ứng dụng hồn chỉnh có ích cho lĩnh vực đời sống Cùng với trình lên kế hoạch, tìm hiểu nghiên cứu, phát triển đề tài, viết báo cáo, giúp ích phần vào kinh nghiệm nhóm cho tương lai sau Bên cạnh kiến thức học từ nhà trường củng cố, có thêm nhiều kinh nghiệm rút q trình xây dựng phát triển ứng dụng Về mặt kỹ thuật cơng nghệ, nhóm đạt kết sau: 83 Tìm hiểu, ứng dụng Flutter công nghệ liên quan vào việc phát triển ứng dụng mobile Tìm hiểu, ứng dụng Nodejs vào việc phát triển Server Nắm vững quy trình phát triển ứng dụng từ A đến Z, nâng cao kỹ lập trình khía cạnh từ front-end đến back-end Về mặt thực tiễn, nhóm đạt kết sau: Nâng cao kỹ tìm hiểu, nghiên cứu cơng nghệ Nâng cao khả quản lý công việc, khả làm việc nhóm Xây dựng ứng dụng hẹn hị hồn chỉnh góp phần giúp cho người tìm nửa phù hợp có nhiều điểm chung, có hội cao việc hẹn hị Và khơng sân chơi cho phép người có gặp gỡ nhiều người bạn sống thực 5.2 Thuận lợi khó khăn: 5.2.1 Thuận lợi: Có kiến thức tảng ngôn ngữ Javascript Flutter trình học tập trường nên bước đầu gặp thuận lợi việc phát triển xây dựng ứng dụng Nhận giúp đỡ bạn bè, thầy cô người có lĩnh vực chun mơn liên quan 5.2.2 Khó khăn: Do thời gian ngắn, vừa phải tìm hiểu cơng nghệ hỗ trợ lập trình vừa lần đầu phải tìm hiểu thuật tốn ghép đơi với tìm hiểu kiến thức xây dựng ứng dụng hỗ trợ ứng dụng mạng xã hội hẹn hị ứng dụng em chưa xây dựng tốt nhiều thiếu sót Cần tham khảo ý kiến người có kinh nghiệm phát triển thêm Thiếu nhân lực kinh phí để xây dựng, mở rộng tính hữu ích 84 5.3 Hướng phát triển: - Bổ sung thêm tính thú vị nhằm thu hút tạo hứng thú cho người sử dụng - Cải thiện vấn đề hiệu khả chịu tải hệ thống - Cải thiện tối ưu thuật tốn ghép đơi tăng độ xác thuật tốn giúp cho người tìm thấy nửa phù hợp - Cải thiện mặt UX UI nhằm nâng trải nghiệm người dùng - Cải thiện vấn đề bảo mật nhằm tăng độ tin cậy an toàn cho người dùng sử dụng ứng dụng 85 TÀI LIỆU THAM KHẢO Tài liệu tiếng việt [1] Tiệp, “Machine Learning - Bài 4: K-means Clustering,” 1 2017 [Trực tuyến] Available: https://machinelearningcoban.com/2017/01/01/kmeans/ [Đã truy cập 10 10 2020] Tài liệu tiếng anh [2] "Introduction FastAPI," [Online] Available: https://fastapi.tiangolo.com/ [Accessed 11 10 2020] [3] "Introduction Ant Design of React," [Online] Available: https://ant.design/docs/react/introduce [Accessed 11 2020] [4] "Introduction Ant Design Pro," [Online] Available: https://pro.ant.design/ [Accessed 11 2020] [5] "Introduction Momentum," [Online] Available: https://xamdev.gq/momentum/ [Accessed 17 10 2020] [6] "Prisma Document," [Online] Available: https://www.prisma.io/docs/ [Accessed 2020] [7] "Nexus Document," [Online] Available: https://nexusjs.org/docs/ [Accessed 26 10 2020] 86 ... lại đây, ứng dụng hẹn hò tạo cách mạng trực tuyến với việc sử dụng thiết bị động ngày tăng, thay đổi cách người làm quen hẹn hò với Hẹn hò trực tuyến nhanh thuận tiện so với hẹn hò truyền thống,... Experience (User Experience) API Application Programming Interface TÓM TẮT KHÓA LUẬN Khóa luận “XÂY DỰNG MẠNG XÃ HỘI HẸN HỊ TRỰC TUYẾN” gồm 05 chương: Chương 1: Tổng quan đề tài: đặt vấn đề, lý chọn... KHĨA LUẬN TỐT NGHIỆP XÂY MẠNG XÃ HỘI HẸN HỊ TRỰC TUYẾN Online dating social network KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM GIẢNG VIÊN HƯỚNG DẪN ThS HUỲNH TUẤN ANH TP HỒ CHÍ MINH, 2021 THƠNG TIN HỘI ĐỒNG