Khóa luận ứng dụng nghe nhạc trên mobile tích hợp gợi ý và chia sẻ nhạc

124 1 0
Khóa luận ứng dụng nghe nhạc trên mobile tích hợp gợi ý và chia sẻ nhạc

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐẠ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 NGUYỄN DỖN THỊNH CAO NGUYỄN MINH QN KHĨA LUẬN TỐT NGHIỆP ỨNG DỤNG NGHE NHẠC TRÊN MOBILE TÍCH HỢP GỢI Ý VÀ CHIA SẺ NHẠC MUSIC MOBILE APPLICATION WITH MUSIC RECOMMENDATION AND SHARING KỸ SƯ/ CỬ NHÂN NGÀNH KỸ THUẬT PHẦN MỀM TP HỒ CHÍ MINH, 2023 ĐẠ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 NGUYỄN DỖN THỊNH – 19522281 CAO NGUYỄN MINH QUÂN - 19522074 KHÓA LUẬN TỐT NGHIỆP ỨNG DỤNG NGHE NHẠC TRÊN MOBILE TÍCH HỢP GỢI Ý VÀ CHIA SẺ NHẠC MUSIC MOBILE APPLICATION WITH MUSIC RECOMMENDATION AND SHARING KỸ SƯ/ CỬ NHÂN NGÀNH KỸ THUẬT PHẦN MỀM GIẢNG VIÊN HƯỚNG DẪN Ts Đỗ Thị Thanh Tuyền Th.S Trần Anh Dũng TP HỒ CHÍ MINH, 2023 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 Chủ tịch Thư ký Ủy viên Ủy viên ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC Độc Lập - Tự Do - Hạnh Phúc CÔNG NGHỆ THÔNG TIN TP HCM, ngày… tháng… năm 2023 NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP (CỦA CÁN BỘ HƯỚNG DẪN) Tên khóa luận: Ứng dụng nghe nhạc Mobile tích hợp gợi ý chia sẻ nhạc Nhóm SV thực hiện: Cán hướng dẫn/phản biện: CAO NGUYỄN MINH QUÂN 19522074 Ts Đỗ Thị Thanh Tuyền NGUYỄN DOÃN THỊNH 19522281 Ths Trần Anh Dũng Đánh giá Khóa luận Về báo cáo: Số trang Số chương Số bảng số liệu Số hình vẽ Số tài liệu tham khảo Sản phẩm Một số nhận xét hình thức báo cáo: ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… Về nội dung nghiên cứu: Về chương trình ứng dụng Về thái độ làm việc sinh viên Đánh giá chung: Điểm sinh viên: CAO NGUYỄN MINH QUÂN /10 NGUYỄN DOÃN THỊNH /10 Người nhận xét (Ký tên ghi rõ họ tên) (Ký tên ghi rõ họ tên) Đỗ Thị Thanh Tuyền Trần Anh Dũng ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC Độc Lập - Tự Do - Hạnh Phúc CÔNG NGHỆ THÔNG TIN TP HCM, ngày… tháng… năm 2023 NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP (CỦA CÁN BỘ PHẢN BIỆN) Tên khóa luận: Ứng dụng nghe nhạc Mobile tích hợp gợi ý chia sẻ nhạc Nhóm SV thực hiện: Cán hướng dẫn/phản biện: CAO NGUYỄN MINH QUÂN 19522074 Ts Đỗ Thị Thanh Tuyền NGUYỄN DOÃN THỊNH 19522281 Ths Trần Anh Dũng Đánh giá Khóa luận Về báo cáo: Số trang Số chương Số bảng số liệu Số hình vẽ Số tài liệu tham khảo Sản phẩm Một số nhận xét hình thức báo cáo: ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… Về nội dung nghiên cứu: Về chương trình ứng dụng Về thái độ làm việc sinh viên Đánh giá chung: Điểm sinh viên: CAO NGUYỄN MINH QUÂN /10 NGUYỄN DOÃN THỊNH /10 Người nhận xét (Ký tên ghi rõ họ tên) LỜI CẢM ƠN Đầu tiên, chúng em xin gửi lời cảm ơn chân thành đến tập thể quý thầy cô Trường Đại học Công nghệ thông tin – Đại học Quốc gia TP.HCM quý thầy cô khoa Công nghệ phần mềm giúp cho chúng em có kiến thức làm tảng để thực đề tài Đặc biệt, nhóm tác giả xin gửi lời cảm ơn lòng biết ơn sâu sắc tới thầy Trần Anh Dũng cô Đỗ Thị Thanh Tuyền, người hướng dẫn tận tình, sửa chữa đóng góp nhiều ý kiến quý báu giúp em hồn thành báo cáo mơn học Trong thời gian học đề tài, em vận dụng kiến thức tảng tích lũy đồng thời kết hợp với việc học hỏi nghiên cứu kiến thức Từ đó, em vận dụng tối đa thu thập để hoàn thành báo cáo đồ án tốt Tuy nhiên, q trình thực khơng tránh khỏi thiếu sót Chính vậy, em mong nhận góp ý từ phía thầy/cơ nhằm hoàn thiện kiến thức mà em học tập hành trang để em thực tiếp đề tài khác tương lai Xin chân thành cảm ơn q thầy/cơ! Thành phố Hồ Chí Minh, 03 tháng 07 năm 2023 Sinh Viên CAO NGUYỄN MINH QUÂN NGUYỄN DOÃN THỊNH MỤC LỤC LỜI CẢM ƠN MỤC LỤC DANH MỤC HÌNH ẢNH 10 DANH MỤC BẢNG 12 DANH MỤC TỪ VIẾT TẮT 14 TÓM TẮT KHÓA LUẬN ĐỀ CƯƠNG CHI TIẾT NỘI DUNG KHÓA LUẬN Chương TỔNG QUAN ĐỀ TÀI 1.1 Hiện trạng 1.2 Lý chọn đề tài 1.3 Mục đích nghiên cứu 1.4 Đối tượng nghiên cứu 1.4.1 Các công nghệ nghiên cứu 1.4.2 Đối tượng để tài 1.5 Phạm vi nghiên cứu 1.5.1 Phạm vi môi trường 1.5.2 Phạm vi chức Chương CƠ SỞ LÝ THUYẾT 2.1 Kiến thức tảng 2.1.1 Tìm hiểu Flutter 2.1.2 Spring Framework 10 2.1.3 FastAPI 11 2.1.4 MongoDB 12 2.1.5 Firebase Dynamic Links .14 2.2 Mạng xã hội 15 2.2.1 Giới thiệu 15 2.2.2 Bản quyền hát .15 2.2.3 Hướng giải 15 2.2.4 Đánh giá độ xác 16 2.3 Hệ thống gợi ý Recommender System 16 2.3.1 Khái niệm 16 2.3.2 Thuật toán Locality-Sensitive-Hashing (LSH) 19 2.3.3 Áp dụng LSH vào đề tài .20 2.3.4 Thuật toán Neighborhood-based Collaborative Filtering .22 2.3.5 Các thành phần thuật tốn Neighborhood-based Collaborative Filtering 23 2.3.6 Áp dụng Neighbor-based collaborative filtering vào đề tài 26 Chương ĐẶC TẢ USECASE 29 3.1 Sơ đồ Usecase 29 3.2 Danh sách tác nhân 30 3.3 Danh sách Usecase 30 3.4 Mô tả chi tiết 32 3.4.1 Đăng nhập 32 3.4.2 Đăng ký 34 3.4.3 Quên mật 36 3.4.4 Cập nhật thông tin 38 3.4.5 Đổi mật 40 3.4.6 Yêu thích 42 3.4.7 Tạo playlist 45 3.4.8 Thêm hát vào playlist 47 3.4.9 Cập nhật thông tin playlist 49 3.4.10 Xóa playlist .51 3.4.11 Tìm kiếm 52 3.4.12 Phát nhạc 54 3.4.13 Xem lịch sử nghe nhạc 56 3.4.14 Hẹn 57 6.20 Màn hình profile người khác Hình 6.20 Màn hình profile người khác 6.20.1 Mơ tả tổng quát Màn hình hiển thị profile người khác mạng xã hội chia sẻ nhạc 6.20.2 Mô tả chi tiết STT Tên đối tượng Loại Chức Username profile Text Hiển thị Username profile Hình ảnh profile Image Hiển thị hình ảnh profile Tên profile Text Hiển thị tên profile Số lượng following Text Số lượng followed Text Follow profile Button Follow/ Unfollow profile Gửi mail profile IconButton Chuyển đến mail cá nhân profile Hiển thị số lượng following profile Hiển thị số lượng followed profile 91 Danh sách đăng PostCard List Quay lại IconButton Hiển thị danh sách đăng profile Quay lại trang trước Bảng 6.20 Mô tả chi tiết giao diện profile người khác 6.21 Màn hình tìm kiếm đăng Hình 6.21 Màn hình tìm kiếm đăng 6.21.1 Mơ tả tổng quát Màn hình tìm kiếm đăng 6.21.2 Mô tả chi tiết STT Tên đối tượng Loại Chức Nhập từ khóa TextField Nhập từ khóa tìm kiếm Danh sách đăng PostCard List Danh sách profile Xóa từ khóa Hiển thị danh sách đăng có chứa từ khóa ProfileCard Hiển thị danh sách profile có chứa từ List khóa IconButton Xóa từ khóa textfield 92 Quay lại IconButton Quay lại trang trước Bảng 6.21 Mơ tả chi tiết giao diện tìm kiếm đăng 6.22 Màn hình tạo đăng Hình 6.22 Màn hình tạo đăng 6.22.1 Mơ tả tổng qt Màn hình tạo đăng 6.22.2 Mô tả chi tiết STT Tên đối tượng Loại Chức Tiêu đề Text Hiển thị tiêu đề trang ImagePicker Chọn hình ảnh đại diện đăng Chọn hình ảnh đăng Nhập content đăng TextField Nhập content đăng Nhập tên hát TextField Nhập tên hát đăng Chọn hát FilePicker Chọn file audio file mp4 Đăng Button 93 Đăng để hệ thống kiểm tra quyền Thông báo thất bại Quay lại Popup Hiển thị thơng báo hát có Message quyền IconButton Quay lại trang trước Bảng 6.22 Mơ tả chi tiết giao diện tạo đăng 6.23 Màn hình chỉnh sửa, xóa đăng Hình 6.23 Màn hình chỉnh sửa, xóa đăng 6.23.1 Mơ tả tổng qt Màn hình thể người dùng muốn sửa xóa đăng 6.23.2 Mô tả chi tiết STT Tên đối tượng BottomSheet chỉnh sửa đăng Loại Chức BottomSheet Hiển thị BottomSheet chỉnh sửa đăng Chỉnh sửa đăng Button Mở trang chỉnh sửa đăng Thay đổi chỉnh sửa Button Cập nhật thay đổi đăng Xóa đăng Button Mở popup xóa đăng 94 Hiển thị popup cảnh báo xóa Popup xóa đăng Popup Xóa Button Xóa đăng Hủy Button Đóng popup đăng Bảng 6.23 Mô tả chi tiết chỉnh sửa đăng 6.24 Màn hình người dùng Hình 6.24 Màn hình người dùng 6.24.1 Mơ tả tổng qt Màn hình hiển thị thơng tin người dùng, người dùng cập nhật hình ảnh cách nhấn đúp vào ảnh 6.24.2 Mô tả chi tiết STT Tên đối tượng Loại Chức Hình ảnh người dùng Image Hiển thị hình ảnh người dùng Tên người dùng Text Hiển thị tên người dùng Text Hiển thị ngày sinh người dùng Ngày sinh người dùng 95 Cài đặt Button Mở popup cài đặt thông tin Đăng xuất Button Đăng xuất khỏi ứng dụng Danh mục thư viện Button List Popup cập nhật hình ảnh Mở trang danh sách yêu thích, playlist cá nhân, lịch sử Popup Hiển thị popup cập nhật hình ảnh Lưu hình ảnh Button Cập nhật hình ảnh Đóng Popup Button Đóng popup cập nhật ảnh Bảng 6.24 Mơ tả chi tiết hình hiển thị thơng tin người dùng 6.25 Màn hình u thích người dùng Hình 6.25 Màn hình u thích người dùng 6.25.1 Mơ tả tổng qt Màn hình hiển thị danh sách yêu thích người dùng bao gồm danh sách yêu thích playlist, danh sách yêu thích nghệ sĩ, danh sách u thích hát 6.25.2 Mơ tả chi tiết STT Tên đối tượng Loại Chức 96 Tiêu đề Danh sách yêu thích Text Hiển thị tiêu đề trang FavoriteCard Hiển thị danh sách yêu thích List người dùng Bảng 6.25 Mô tả chi tiết danh sách u thích 6.26 Màn hình playlist cá nhân Hình 6.26 Màn hình Playlist cá nhân 6.26.1 Mơ tả tổng quát Màn hình hiển thị danh sách playlist người dùng, người dùng tạo playlist mới, xem xóa playlist 6.26.2 Mơ tả chi tiết STT Tên đối tượng Loại Chức Tiêu đề Text Hiển thị tiêu đề trang Danh sách playlist cá OwnplaylistCard nhân List 97 Hiển thị danh sách playlist cá nhân người dùng, nhấn chọn mở playlist cá nhân Tạo playlist IconButton Mở Popup tạo playlist Hiển thị Popup tạo playlist gồm Popup tạo playlist Popup Textfield tiêu đề Textfield miêu tả Button Save Button Back Nhập tiêu đề popup tạo Nhập tiêu đề TextField Nhập miêu tả TextField Đóng Popup Button Đóng popup mở Lưu playlist Button Lưu thông tin playlist vừa tạo Xóa playlist IconButton Mở Popup xóa playlist playlist Nhập miêu tả popup tạo playlist Hiển thị Popup xóa playlist gồm 10 Popup xóa playlist Popup thông tin cảnh báo Button Cancel Button Remove 11 Remove Playlist Button Xóa Playlist khỏi danh sách 12 Trang playlist cá nhân Page Hiển thị trang playlist cá nhân Bảng 6.26 Mô tả chi tiết giao diện playlist cá nhân 98 6.27 Màn hình lịch sử người dùng Hình 6.27 Màn hình lịch sử người dùng 6.27.1 Mơ tả tổng qt Màn hình hiển thị lịch sử người dùng bao gồm lịch sử nghe nhạc lịch sử tìm kiếm 6.27.2 Mơ tả chi tiết STT Tên đối tượng Loại Chức Tiêu đề Text Hiển thị tiêu đề trang Nhập từ khóa TextField Nhập từ khóa tìm kiếm trang Danh sách hát Danh sách từ khóa SongHistory Card SearchHistory Card Danh sách hát nghe xóa khỏi danh sách nghe Danh sách từ khóa search xóa từ khóa khỏi danh sách search Xóa tồn IconButton Xóa tồn lịch sử trang Quay lại IconButton Quay lại trang trước Bảng 6.27 Mơ tả chi tiết hình lịch sử nghe nhạc 99 6.28 Màn hình cập nhật thơng tin Hình 6.28 Màn hình cập nhật thơng tin 6.28.1 Mơ tả tổng qt Màn hình hiển thị popup cập nhật thông tin 6.28.2 Mô tả chi tiết STT Tên đối tượng Popup cập nhật thông tin Loại Chức Hiển thị Popup cập nhật thông tin Popup bao gồm tên, email, số điện thoại, ngày sinh Nhập tên người dùng TextField Nhập tên người dùng Nhập email TextField Nhập email người dùng Nhập số điện thoại TextField Nhập ngày sinh Quay lại Nhập số điện thoại người dùng CanlendarPicker Chọn ngày sinh người dùng Button 100 Đóng popup Lưu cập nhật Button Đổi mật Button Lưu thay đổi vào hệ thống cập nhật thông tin người dùng Mở trang đổi mật Bảng 6.28 Mô tả chi tiết giao diện cập nhật thông tin 6.29 Màn hình đổi mật Hình 6.29 Màn hình đổi mật Mơ tả tổng qt 6.29.1 Màn hình hiển thị popup đổi mật 6.29.2 Mô tả chi tiết STT Tên đối tượng Loại Chức Popup đổi mật Popup Hiển thị Popup đổi mật Nhập mật TextField Nhập mật Nhập mật TextField Nhập mật Quay lại Button Đóng popup Lưu đổi mật Button Thực đổi mật Bảng 6.29 Mô tả chi tiết giao diện đổi mật 101 Chương CÀI ĐẶT VÀ KIỂM THỬ 7.1 Môi trường cài đặt kiểm thử Môi trường cài đặt: Android, iOS Thiết bị cài đặt: Android Virtual Device 7.2 Kết kiểm thử Tính STT Mức độ hoàn thiện Authentication Authorization 100% Nghe nhạc 100% Thêm, xóa, sửa playlist 100% Thêm, xóa, sửa post 100% Yêu thích, hẹn ngủ 100% Tìm kiếm hát 100% Hệ thống gợi ý 100% Bảng 7.1 Bảng kết kiểm thử 102 Ghi Chương TỔNG KẾT 8.1 Kết đạt Sau trình tìm hiểu nghiên cứu, nhóm chúng em đạt kết sau:  Tìm hiểu hệ thống gợi ý xây dựng hệ thống gợi ý hai cách Content-Based Filtering Collaborative Filtering  Kết hợp thành công phương pháp lazy loading ứng dụng phân trang server giúp tối ưu hóa tốc độ tải sản phẩm  Xây dựng mạng xã hội, giúp người dùng chia sẻ nhạc  Xây dựng chức kiểm tra quyền hát, tránh cho việc người dùng đăng hát khơng thuộc quyền sở hữu họ  Hồn thành chức ứng dụng nghe nhạc: o Phát nhạc: ứng dụng cần có khả phát file nhạc từ thiết bị từ internet o Tìm kiếm: cho phép người dùng tìm kiếm hát, ca sĩ, album danh sách phát o Danh sách phát: cho phép người dùng tạo danh sách phát riêng để nghe nhạc theo thứ tự yêu thích o Trình phát nhạc: cho phép người dùng điều chỉnh chức phát nhạc tua nhanh, tua chậm, lặp lại, phát ngẫu nhiên, v.v  Hoàn thành chức mạng xã hội chia sẻ nhạc: o Đăng nhạc người dùng sáng tác cover o Người dùng tương tác (u thích, bình luận, chia sẻ) vào đăng người khác  Xây dựng thành công hệ thống gợi ý: o Content-Based Filtering: Phát hát dựa vào hát người dùng nghe 103 o Collaborative Filtering: Tạo playlist chứa danh sách hát gợi ý dựa vào 10 hát nghe nhiều user 8.2 Hạn chế Do hạn chế mặt thời gian kinh nghiệm, nhóm cịn số điểm cần khắc phục sau:  Chưa có thơng báo cho người dùng thơng báo (lượt u thích mới, bình luận mới, …)  Bộ liệu cịn thơng tin kết dự đốn khơng có độ xác cao  Ứng dụng chưa kiểm thử hệ điều hành iOS 8.3 Hướng phát triển Trong tương lai, đề tài mở rộng phát triển, hoàn thiện chức gợi ý chức khác phục vụ khách hàng:  Cải thiện mơ hình dự đốn, sử dụng thuật toán gợi ý khác hiệu hơn, giúp giảm thời gian dự đốn tăng độ xác  Mở rộng thêm nhiều chức khác (nghe nhạc offline, gợi ý nhạc dựa theo nghệ sĩ yêu thích,…)  Mở rộng chức giúp tăng khả tương tác người dùng 104 TÀI LIỆU THAM KHẢO Tài liệu hướng dẫn ngơn ngữ lập trình [1] Code tham khảo: https://stackoverflow.com/ [2] Flutter: https://docs.flutter.dev/ [3] Spring: https://docs.spring.io/spring-framework/reference/ [4] FastAPI: https://fastapi.tiangolo.com/ [5] MongoDB: https://www.mongodb.com/docs/ Tài liệu code mẫu xây dựng Recommender System [6] Locality-Sensitive Hashing: https://www.learndatasci.com/tutorials/buildingrecommendation-engine-locality-sensitive-hashing-lsh-python/ [7] Neighbor-Based Collaborative Filtering: https://github.com/beckernick/music_recommender [8] Giới thiệu Content-Based Recommender System https://machinelearningcoban.com/2017/05/17/contentbasedrecommendersys/ [9] Giới thiệu Collaborative Filtering https://machinelearningcoban.com/2017/05/24/collaborativefiltering/

Ngày đăng: 04/09/2023, 20:52

Tài liệu cùng người dùng

Tài liệu liên quan