Ứng Dụng Nghe Nhạc Trên Mobile: Tích Hợp Gợi Ý và Chia Sẻ

Luận văn tốt nghiệp kỹ thuật nghiên cứu tốt nghiệp kỹ thuật phần mềm xây dựng ứng dụng nghe nhạc trên mobile tích hợp gợi ý và chia sẻ nhạc, điều tra thực trạng, phân tích số

Chuyên ngành

Kỹ thuật phần mềm

Người đăng

Ẩn danh

Thể loại

khóa luận

2023

118
4
0

Phí lưu trữ

35 Point

Mục lục chi tiết

LỜI CẢM ƠN

1. CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI

1.1. Hiện trạng

1.2. Lý do chọn đề tài

1.3. Mục đích nghiên cứu

1.4. Đối tượng nghiên cứu

1.5. Phạm vi nghiên cứu

1.6. Phương pháp thực hiện

1.7. Nền tảng công nghệ

1.8. Kết quả mong đợi

1.9. Kế hoạch thực hiện

2. CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

2.1. Kiến thức nền tảng

2.2. Firebase Dynamic Links

2.3. Bản quyền bài hát

2.4. Hệ thống gợi ý Recommender System

2.5. Thuật toán Locality-Sensitive-Hashing (LSH)

2.6. Thuật toán Neighborhood-based Collaborative Filtering

3. CHƯƠNG 3: MÔ TẢ USECASE

3.1. Danh sách tác nhân

3.2. Danh sách Usecase

3.3. Usecase Đăng nhập

3.4. Usecase Đăng ký

3.5. Usecase Quên mật khẩu

3.6. Usecase Cập nhật thông tin

3.7. Usecase Đổi mật khẩu

3.8. Usecase Yêu thích

3.9. Usecase Tạo playlist

3.10. Usecase Thêm bài hát vào playlist

3.11. Usecase Cập nhật thông tin playlist

3.12. Usecase Phát nhạc

3.13. Usecase Xem lịch sử nghe nhạc

3.14. Usecase Đăng tải

3.15. Usecase Gợi ý bài hát kế tiếp

3.16. Usecase Tạo recommend playlist

3.17. Usecase Yêu thích bài đăng

3.18. Usecase Bình luận

3.19. Usecase Chia sẻ

3.20. Usecase Xem hoạt động

4. CHƯƠNG 4: XÂY DỰNG HỆ THỐNG

4.1. Kiến trúc ứng dụng

4.2. Sơ đồ logic

5. CHƯƠNG 5: THIẾT KẾ CƠ SỞ DỮ LIỆU

5.1. Danh sách các quan hệ

6. CHƯƠNG 6: THIẾT KẾ GIAO DIỆN

6.1. Màn hình đăng nhập

6.2. Màn hình đăng ký

6.3. Màn hình quên mật khẩu

6.4. Màn hình reset mật khẩu

6.5. Màn hình email reset mật khẩu

6.6. Màn hình email confirm

6.7. Màn hình chính

6.8. Màn hình tìm kiếm

6.9. Màn hình chơi nhạc

6.10. Màn hình thêm bài hát vào playlist

6.11. Màn hình hẹn giờ tắt nhạc

6.12. Màn hình chơi nhạc trên navigation bar

6.13. Màn hình danh sách playlist, nghệ sĩ, bài hát theo chủ đề

6.14. Màn hình nghệ sĩ

6.15. Màn hình mạng xã hội

6.16. Màn hình bài đăng chi tiết

6.17. Màn hình danh sách bình luận

6.18. Màn hình chia sẻ bài đăng

6.19. Màn hình profile người khác

6.20. Màn hình tìm kiếm bài đăng

6.21. Màn hình tạo bài đăng mới

6.22. Màn hình chỉnh sửa, xóa bài đăng

6.23. Màn hình người dùng

6.24. Màn hình yêu thích của người dùng

6.25. Màn hình playlist cá nhân

6.26. Màn hình lịch sử của người dùng

6.27. Màn hình cập nhật thông tin

6.28. Màn hình đổi mật khẩu

6.29. Cài đặt và kiểm thử

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng Quan Về Ứng Dụng Nghe Nhạc Trên Mobile

Ứng dụng nghe nhạc trên mobile đã trở thành một phần không thể thiếu trong cuộc sống hiện đại. Với sự phát triển của công nghệ, người dùng có thể dễ dàng truy cập vào kho nhạc khổng lồ chỉ với một chiếc điện thoại thông minh. Các ứng dụng này không chỉ cho phép nghe nhạc mà còn tích hợp nhiều tính năng hấp dẫn như gợi ý bài hát và chia sẻ nhạc. Điều này tạo ra một trải nghiệm nghe nhạc phong phú và đa dạng hơn bao giờ hết.

1.1. Lợi Ích Của Ứng Dụng Nghe Nhạc Trên Mobile

Ứng dụng nghe nhạc trên mobile mang lại nhiều lợi ích cho người dùng. Đầu tiên, nó giúp người dùng dễ dàng tiếp cận với âm nhạc mọi lúc mọi nơi. Thứ hai, các tính năng gợi ý nhạc thông minh giúp người dùng khám phá những bài hát mới phù hợp với sở thích của họ. Cuối cùng, khả năng chia sẻ nhạc với bạn bè tạo ra một cộng đồng yêu thích âm nhạc sôi động.

1.2. Xu Hướng Nghe Nhạc Hiện Nay

Xu hướng nghe nhạc hiện nay đang chuyển dịch mạnh mẽ sang các ứng dụng di động. Người dùng không chỉ nghe nhạc mà còn tham gia vào các hoạt động như tạo playlist, bình luận và chia sẻ bài hát. Điều này cho thấy sự thay đổi trong cách mà âm nhạc được tiêu thụ và tương tác.

II. Vấn Đề Và Thách Thức Trong Ứng Dụng Nghe Nhạc

Mặc dù ứng dụng nghe nhạc trên mobile mang lại nhiều tiện ích, nhưng cũng tồn tại không ít thách thức. Một trong những vấn đề lớn nhất là việc quản lý bản quyền âm nhạc. Nhiều ứng dụng gặp khó khăn trong việc đảm bảo rằng nội dung âm nhạc được sử dụng hợp pháp. Ngoài ra, việc tối ưu hóa trải nghiệm người dùng cũng là một thách thức không nhỏ.

2.1. Vấn Đề Bản Quyền Âm Nhạc

Quản lý bản quyền âm nhạc là một trong những thách thức lớn nhất mà các ứng dụng nghe nhạc phải đối mặt. Nhiều ứng dụng không có giấy phép sử dụng âm nhạc, dẫn đến việc bị kiện cáo và mất uy tín. Điều này ảnh hưởng trực tiếp đến khả năng phát triển của ứng dụng.

2.2. Tối Ưu Hóa Trải Nghiệm Người Dùng

Tối ưu hóa trải nghiệm người dùng là một yếu tố quan trọng để giữ chân người dùng. Các ứng dụng cần phải đảm bảo rằng giao diện thân thiện, dễ sử dụng và nhanh chóng. Nếu không, người dùng có thể chuyển sang các ứng dụng khác.

III. Phương Pháp Gợi Ý Nhạc Hiệu Quả

Để nâng cao trải nghiệm người dùng, các ứng dụng nghe nhạc cần áp dụng các phương pháp gợi ý nhạc hiệu quả. Các thuật toán gợi ý dựa trên sở thích và hành vi nghe nhạc của người dùng có thể giúp tạo ra những danh sách phát cá nhân hóa, từ đó tăng cường sự hài lòng của người dùng.

3.1. Hệ Thống Gợi Ý Dựa Trên Dữ Liệu Người Dùng

Hệ thống gợi ý dựa trên dữ liệu người dùng sử dụng các thuật toán học máy để phân tích hành vi nghe nhạc. Bằng cách này, ứng dụng có thể đưa ra những gợi ý chính xác hơn về các bài hát mà người dùng có thể thích.

3.2. Gợi Ý Nhạc Dựa Trên Xu Hướng Thị Trường

Ngoài việc dựa vào sở thích cá nhân, ứng dụng cũng có thể gợi ý nhạc dựa trên các xu hướng thị trường. Việc theo dõi các bài hát đang hot trên các nền tảng khác nhau giúp người dùng không bỏ lỡ những bản hit mới.

IV. Chia Sẻ Nhạc Tạo Cộng Đồng Âm Nhạc

Chia sẻ nhạc là một trong những tính năng quan trọng của ứng dụng nghe nhạc. Tính năng này không chỉ giúp người dùng kết nối với nhau mà còn tạo ra một cộng đồng yêu thích âm nhạc. Người dùng có thể chia sẻ những bài hát yêu thích, tạo playlist chung và thảo luận về âm nhạc.

4.1. Tính Năng Chia Sẻ Bài Hát

Tính năng chia sẻ bài hát cho phép người dùng gửi bài hát cho bạn bè qua các nền tảng mạng xã hội. Điều này không chỉ giúp tăng cường sự tương tác mà còn giúp người dùng khám phá âm nhạc mới từ bạn bè.

4.2. Tạo Playlist Chung

Người dùng có thể tạo playlist chung với bạn bè, từ đó cùng nhau thưởng thức âm nhạc. Tính năng này không chỉ tạo ra sự kết nối mà còn giúp người dùng khám phá những bài hát mới từ nhau.

V. Kết Luận Tương Lai Của Ứng Dụng Nghe Nhạc

Tương lai của ứng dụng nghe nhạc trên mobile hứa hẹn sẽ còn phát triển mạnh mẽ hơn nữa. Với sự tiến bộ của công nghệ, các ứng dụng sẽ ngày càng thông minh hơn, cung cấp nhiều tính năng hấp dẫn hơn cho người dùng. Việc tích hợp gợi ý và chia sẻ nhạc sẽ tiếp tục là xu hướng chính trong ngành công nghiệp âm nhạc.

5.1. Xu Hướng Công Nghệ Trong Ngành Âm Nhạc

Công nghệ AI và machine learning sẽ tiếp tục đóng vai trò quan trọng trong việc phát triển các ứng dụng nghe nhạc. Những cải tiến này sẽ giúp nâng cao khả năng gợi ý và cá nhân hóa trải nghiệm người dùng.

5.2. Tương Lai Của Chia Sẻ Nhạc

Chia sẻ nhạc sẽ trở thành một phần không thể thiếu trong trải nghiệm nghe nhạc. Các ứng dụng sẽ tiếp tục phát triển các tính năng mới để khuyến khích người dùng chia sẻ và tương tác với nhau.

10/07/2025
Khóa luận tốt nghiệp kỹ thuật phần mềm xây dựng ứng dụng nghe nhạc trên mobile tích hợp gợi ý và chia sẻ nhạc

Trích đoạn nội dung tài liệu

Chương 1. TONG QUAN DE TÀI 1. Hién trang Hiện nay, hai hình thức giải tri phổ biến nhất đó chính là nghe nhac và mạng xã hội. Đối với ứng dụng nghe nhạc, những ứng dụng nhiều người sử dụng có thé kế đến như là Spotify,Youtube Music, Zing MP3,.

Còn đối với những mạng xã hội, Facebook, Tiktok, Souncloud có thể kế đến như là những ứng dung hàng đầu cho mục đích này. Tuy nhiên, ngoải Youtube thì chưa có một ứng dụng nào là áp dụng tất cả hai hình thức trên. Lý do chọn đề tài Âm nhạc từ lâu luôn đóng góp vị trí quan trọng trong sự phát triển của đời sống và xã hội. Mọi người thường nghe âm nhac dé giải trí, thư giản, giải toa áp lực của bản thân, cũng như dé đáp ứng nhu cầu của bản thân trong cuộc sống thường ngày.

Đôi khi âm nhạc cũng là sợi dây gắn kết mọi người lại với nhau, họ chia sẻ cũng như trò chuyện về những bài nhạc họ yêu thích. Do đó, nham đáp ứng nhu cầu nghe nhạc cũng như chia sẻ nhạc của mọi người, nhóm chúng em quyết định chọn dé tài này, xây dựng ứng dụng nghe nhạc trên Mobile tích hợp gợi ý và chia sẻ nhạc. Ứng dụng cung cấp những tiện ích giúp người dùng dễ dàng tiếp cận với những bài nhạc mới cũng như gợi ý những bài nhạc hay dựa trên những thông tin của người dùng. Bên cạnh đó, ứng dụng còn có mạng xã hội để mọi người chia sẻ những bai nhạc của mình với moi người.

Mục đích nghiên cứu Chúng em mong muôn đáp ứng nhu câu nghe nhạc và chia sẻ nhạc của mọi người Chúng em đã luôn tò mò và hứng thú đối với các công nghệ liên quan tới Mobile đặc biệt là Flutter, cũng như sự hệ thống gợi ý Chúng em mong muốn được áp dụng những kiến thức và kĩ năng đã học vào dự án 1. Đối tượng nghiên cứu 1. Các công nghệ nghiên cứu Đối với thiết kế hệ thống: - MVC - Kết nối va trao đổi giữa ứng dụng va database thông qua RESTful API Đối với database: MongoDB Đối với ứng dụng: Flutter và Dart Đối với Recommender System: Content-Based System, Collaborative Filtering Khác: - Luu trữ ảnh thông qua Cloudinary - _ Trao đổi mail thông qua Spring Mail - _ Lưu trữ các đường dan thông qua Firebase Dynamic Linking - _ Nguồn nhạc thông qua ZingMP3 1. Đối tượng để tài Những người có sở thích nghe nhạc cũng như những người muốn chia sẻ đam mê nghe nhac tới moi người.

Phạm vỉ nghiên cứu 1. Phạm vỉ môi trường Ứng dụng di động trên Android 1. Phạm vỉ chức năng - _ Cung cấp các bài nhạc, playlist, nghệ sĩ dựa trên ZingMP3 - Phat nhạc và kèm lyric nếu có - Lut danh sách các bài hát, album, nghệ sĩ yêu thích - Chon nhạc random va repeat danh sách nhac dang chơi - Cac playlist, thông tin nghệ sĩ được quản lí tiện lợi kèm theo một số chức năng như xem thông tin bài hát cũng như chuyên đổi qua lại giữa các bài hát trong playlist hoặc của nghệ sĩ - _ Chức năng hen giờ tắt nhạc - Goi ý các bài nhạc dựa trên lịch sử nghe nhạc của người dùng - _ Xem thông tin các bài hát của mọi người trên mạng xã hội - _ Đăng bài và kiểm tra bài quyền của bài nhạc đã đăng - Binh luận và yêu thích bai đăng - Chia sẻ bai nhạc của bài đăng Chương 2. Kiến thức nền tảng 2.

Tìm hiểu về Flutter Flutter Hinh 2.1 Flutter Flutter là một công cụ phát triển giao điện người dùng mã nguồn mở được sử dung dé tao ra các ứng dụng di động cho Android và iOS. Được phát triển bởi Google, Flutter sử dụng ngôn ngữ Dart đề xây dựng các ứng dụng đẹp và hiệu quả. Flutter sử dụng một cấu trúc UI được gọi là "widget tree", cho phép bạn xây dựng giao diện người dùng bằng cách sắp xếp các widget khác nhau. Widget là một khối xây dựng giao diện được sử dụng dé tạo ra các thành phần khác nhau của ứng dụng như nút, trường văn bản, hình ảnh, danh sách, menu, v.

Với tính năng "Hot Reload" cho phép bạnxem kết quả ngay tức thì khi thay đổi code, hỗ trợ cho nhiều thiết bị và nhiều kích thước màn hình, cũng như khả năng xây dựng ứng dụng chạy trên nền tảng web và máytính để bàn. Flutter được đánh giá là một công cụ hữu ích cho các nhà phát triển di động vìtính linh hoạt và hiệu suất của nó.2 Spring Framework Spring Framework là một trong những framework phát triển ứng dụng Java phô biến nhất hiện nay. Xây dựng trên các nguyên tắc của Dependency Injection (DI) và Inversion of Control (IoC), giúp giảm thiểu sự phức tạp của việc quản lý các đối tượng trong ứng dụng. 10 Ngoài ra, Spring Framework cũng cung cấp nhiều tính năng như: e Spring Data: cung cấp một cách dễ dàng dé tương tác với các cơ sở dữ liệu khác nhau, bao gồm cả RDBMS và NoSQL.

e Spring Security: cung cap cac tinh nang bao mat cho tng dung, bao gồm xác thực và phân quyền. e Spring MVC: cung cấp một kiến trúc MVC dé phát triển các ứng dụng web. e Spring Boot: cung cấp một cách nhanh chóng dé tạo ra các ứng dụng độc lập và tự động cấu hình. Spring Framework cũng được tích hợp với các công nghệ khác như Hibernate, JPA, Thymeleaf, và nhiều thư viện khác dé giúp giải quyết các van dé phát triển ứng dụng Java.

Với các tính năng và lợi ích của nó, Spring Framework đã trở thành một trong những công nghệ phổ biến nhất trong lĩnh vực phát triển ứng dung Java.3 FastAPI FastAPI là một framework web phát triển ứng dụng API nhanh và hiệu quả bằng Python. Nó được thiết kế với mục đích cung cấp hiệu suất cao, tính năng tải liệu hóa tự động, và hỗ trợ đầy đủ cho các tính năng của Python, bao gồm cả async/await. FastAPI được xây dựng trên nền tảng Starlette, một framework web ASGI (Asynchronous Server Gateway Interface) được phát triển bởi Encode. Với sự kết hợp của Starlette và 11 Python, FastAPI cho phép phát triển ứng dụng API nhanh chóng và dễ dàng, với các tính năng như: e Tu động tạo tài liệu API với OpenAPI và JSON Schema.

e©_ Sử dụng type hints (chú thích kiểu dit liệu) dé tao ra các API endpoint và kiểm tra đầu vào dữ liệu tự động. e Hỗ trợ các tính năng ASGI và asyncio dé tối ưu hóa hiệu suất và xử lý các yêu cầu đồng thời. © Cung cấp các công cụ dé xử lý lỗi, xác thực người dùng và phân quyền truy cập. FastAPI cũng được đánh giá là một trong những framework web phát trién API nhanh nhất hiện nay, với khả năng xử lý hàng ngàn yêu cầu mỗi giây trên một máy chủ đơn giản.4 MongoDB MongoDB là một hệ thống cơ sở dữ liệu phi quan hệ (NoSQL) được phát triển bởi MongoDB Inc.

MongoDB lưu trữ dữ liệu dưới dạng tài liệu JSON linh hoạt và có khả năng mở rộng tốt, cho phép lưu trữ dữ liệu lớn và xử lý các yêu cầu truy vấn phức tạp. 12 MongoDB là một hệ thống cơ sở đữ liệu tài liệu mã nguồn mở và có sẵn miễn phí. Nó được thiết kế dé tương thích với các ứng dung web hiện đại và các ứng dụng đám mây. MongoDB cung câp các tính năng như: e Khả năng lưu trữ dữ liệu dưới dang tài liệu JSON linh hoạt, cho phép dé dàng thêm, sửa, xóa các trường và đối tượng trong cơ sở dữ liệu.

e_ Khả năng mở rộng tốt, có thé scale-out cơ sở dữ liệu bằng cách thêm các node vào hệ thống. e Hỗ trợ các tính năng như indexing, aggregation, và map-reduce dé xử lý các yêu cầu truy vấn phức tạp. e Cung cấp các tính năng bảo mật như xác thực và phân quyền truy cập dé bảo vệ dữ liệu. MongoDB cũng được tích hợp với các công nghệ khác như Node.js, Python, Java, và nhiều thư viện khác để giúp giải quyết các vấn đề phát triển ứng dụng.

Với các tính năng và lợi ích của nó, MongoDB đã trở thành một trong những công nghệ cơ sở đữ liệu phi quan hệ phô biến nhất trong lĩnh vực phát triển ứng dụng web và đám mây. 13 Vo Dynamic Links Hinh 2.5 Firebase Dynamic Link Dynamic Link là một tinh năng của Google Firebase, cho phép tạo ra các liên kết động dé chia sẻ nội dung và thông tin giữa các ứng dụng va trang web. Với Dynamic Link, người dùng có thé truy cập nội dung của ứng dụng hoặc trang web một cách dé dang và nhanh chóng. Khi tạo một Dynamic Link, người dùng có thể tùy chỉnh liên kết để phù hợp với mục đích sử dụng của mình, bao gồm cả tùy chỉnh URL, tùy chỉnh nội dung và tùy chỉnh tham số.

Điều này giúp tăng tính linh hoạt và tăng khả năng tương tác của ứng dụng hoặc trang web. Dynamic Link cũng cung cấp các tính năng như theo dõi, phân tích và kiểm soát truy cập, cho phép người dùng theo dõi và phân tích các hoạt động của người dùng khi truy cập vào liên kết. Điều này giúp tối ưu hóa chiến lược tiếp thị và cải thiện hiệu quả của ứng dụng hoặc trang web. 14 Dynamic Link được tích hợp với nhiều ứng dụng và trang web khác nhau, cho phép tạo ra các liên kết động giữa chúng.

Với các tính năng và lợi ích của nó, Dynamic Link đã trở thành một công nghệ quan trọng trong lĩnh vực phát triển ứng dụng và tiếp thị sd. Giới thiệu Mang xã hội sẽ là nơi dé người dùng có thé đăng những ban thu âm về bài hát ( có thé là do chính họ sáng tác hoặc cover ) và nhận được những bình luận, tương tác của người dùng khác. Người dùng có thể chia sẻ bài hát mình yêu thích cho người khác. Bản quyền bài hát 2.

Hướng giải quyết Khi xây dựng mạng xã hội dé chia sẻ bài hát, một vấn dé cần được đặt ra đó là bản quyền bài hát. Nhóm đã làm một API endpoint dé kiểm tra bản quyền bài hat dựa vào thư viện TinyTag của Python. Mỗi bài hát sẽ được đánh dau bản quyền bằng một chuan tag là ID3. Thư viện TinyTag này có chức năng sẽ trích xuất thông tin ID3 của bài hát người dùng đăng tải.

Nếu ID3 tag xuất hiện trong file nhạc của người dùng thì bài hát đó sẽ vi phạm bản quyền. Lý Ngựa Ô Quang Linh 1993 15 Bảng 2.1 Danh sách các bài hát test bản quyền 2. Đánh giá độ chính xác Như bảng thống kê ở 3.1, những bài hát được phát hành những năm trở lại đây sẽ có xác suất kiểm tra được bản quyền cao hơn những bai hát đã được phát hành từ lâu.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ