Vấn đề nghiên cứu Hiện nay, việc tìm kiếm bài hát trên các nền tảng nghe nhạc chủ yếu dựa vào vănbản, gây khó khăn cho người dùng khi không nhớ tên bài hát hoặc nghệ sĩ.. Để khắcphục hạn
GIỚI THIỆU ĐỀ TÀI
Tên đề tài
Tên tiếng Việt: XÂY DỰNG WEBSITE NGHE NHẠC TRỰC TUYẾN HỖ TRỢ TÌM KIẾM BÀI HÁT BẰNG GIỌNG NÓI.
Tên tiếng Anh: BUILDING AN ONLINE MUSIC WEBSITE SUPPORTINGSONG SEARCH BY VOICE.
Lý do chọn đề tài
Nhịp sống của xã hội hiện đại đang trở nên ngày càng nhanh Và ở đó, con người ngày càng phải đối mặt với sự căng thẳng đến từ nhiều phía: học tập, công việc, tình cảm, các mối quan hệ xã hội… khiến con người ta trở nên mệt mỏi và kiệt quệ Vì thế, sau khoảng thời gian phải đương đầu với cuộc sống xô bồ đó, con người cần tìm đến một cái gì đó để có thể giải trí và thư giãn, giúp họ giải tỏa những cảm xúc tiêu cực tích tụ sau một ngày dài Và âm nhạc hiển nhiên là một lựa chọn được đông đảo mọi người nhất trí Âm nhạc có thể phản ánh trí tuệ, tư tưởng, cũng như tác động mạnh mẽ và sâu sắc đến cảm xúc của con người Giúp thư giãn, giảm căng thẳng hay rộng hơn là mang tính kết nối về mặt cảm xúc và cả mặt cộng đồng, nó mang trong mình một khả năng kết nối quần chúng mạnh mẽ Vì thế, nhằm mục tiêu tạo ra một không gian cho người
Mục đích đề tài
Chúng tôi đã chọn đề tài “Xây dựng website nghe nhạc trực tuyến hỗ trợ tìm kiếm bài hát bằng giọng nói” nhằm mang đến trải nghiệm tiện lợi cho người dùng Người dùng có thể dễ dàng tìm kiếm bài hát yêu thích bằng cách sử dụng tính năng nhận diện giọng nói, có thể đọc tên bài hát hoặc ngân nga giai điệu quen thuộc trong trí nhớ khi không thể nhớ chính xác tên bài hát Tính năng này giúp nâng cao trải nghiệm người dùng, tiết kiệm thời gian và tăng tính tiện dụng của nền tảng nghe nhạc trực tuyến.
Tổng kết, đề tài này nhằm tối ưu hóa trải nghiệm người dùng bằng cách đáp ứng các yêu cầu cơ bản của một trang web nghe nhạc Website cung cấp tiện ích tìm kiếm bài hát bằng giọng nói, giúp người dùng dễ dàng truy cập và tìm kiếm nhạc yêu thích Đồng thời, hệ thống đề xuất bài hát nổi bật hỗ trợ cá nhân hóa trải nghiệm nghe nhạc, thúc đẩy sự hài lòng và gắn kết của người dùng.
Xây dựng website nghe nhạc trực tuyến là một giải pháp tối ưu để cung cấp trải nghiệm âm nhạc tiện ích và dễ dàng truy cập Một nền tảng nghe nhạc trực tuyến cần có giao diện thân thiện, thiết kế dễ sử dụng để thu hút và giữ chân người dùng Việc tối ưu hóa trải nghiệm người dùng giúp nâng cao khả năng tương tác và tăng lượt truy cập cho website Đồng thời, tích hợp các tính năng như tìm kiếm nhanh, duyệt danh sách bài hát phong phú cũng là yếu tố quan trọng để thành công trong thị trường cạnh tranh cao này.
Ứng dụng tích hợp chức năng tìm kiếm bằng giọng nói, giúp người dùng dễ dàng tìm kiếm bài hát nhanh chóng Công nghệ nhận diện giọng nói tiên tiến cho phép truy cập nhanh chóng vào thư viện âm nhạc mà không cần nhập thủ công Tính năng này nâng cao trải nghiệm người dùng bằng cách cung cấp phương thức tìm kiếm tiện lợi và chính xác hơn.
Để cải thiện hiệu suất tìm kiếm, cần đảm bảo tính chính xác và tốc độ xử lý trong quá trình tích hợp khả năng tìm kiếm bằng giọng nói Điều này giúp người dùng dễ dàng và nhanh chóng tìm kiếm bài hát mong muốn, nâng cao trải nghiệm người dùng.
Cải thiện trải nghiệm người dùng là mục tiêu hàng đầu nhằm mang lại dịch vụ nghe nhạc trực tuyến thân thiện và dễ sử dụng Điều này giúp người dùng tiết kiệm thời gian và thao tác, từ đó nâng cao sự hài lòng và trải nghiệm chung khi thưởng thức âm nhạc trực tuyến.
Chúng tôi đóng góp tích cực vào lĩnh vực phát triển website nghe nhạc thông minh bằng cách mở rộng nghiên cứu và ứng dụng công nghệ trí tuệ nhân tạo, học máy và phân tích dữ liệu lớn để cung cấp trải nghiệm nghe nhạc trực tuyến tối ưu Việc tích hợp các công nghệ tiên tiến giúp nâng cao chất lượng dịch vụ, đề xuất bài hát phù hợp với sở thích người dùng và cải thiện khả năng tìm kiếm nội dung âm nhạc một cách nhanh chóng và chính xác Nhờ đó, chúng tôi góp phần thúc đẩy sự đổi mới và phát triển bền vững của ngành công nghiệp nghe nhạc trực tuyến.
Đối tượng nghiên cứu
1.4.1 Các công nghệ nghiên cứu
- Đối với thiết kế hệ thống: Client – server, sử dụng Firebase Admin SDK để kết nối website với database.
- Đối với Database: Firebase, Jamendo API.
- Đối với Website: NodeJs, ReactJS, Npm.
- Đối với server: Node.js (ExpressJS), Npm.
1.4.2 Đối tượng sử dụng đề tài hướng đến Đối tượng hướng đến của đề tài là cộng đồng những người yêu âm nhạc nói chung, ở mọi lứa tuổi, thuộc mọi ngành nghề, từ những người không rành về công nghệ, đến những người có hướng thú với công nghệ hiện đại, miễn là có thiết bị thích hợp và có internet, đều có thể trở thành người dùng của website.
Đề tài nhắm đến đối tượng sử dụng rộng rãi, bao gồm tất cả những người có nhu cầu nghe nhạc trực tuyến Công nghệ được tích hợp nhằm tối ưu hóa trải nghiệm giải trí của người dùng một cách hiệu quả Điều này giúp đáp ứng nhu cầu đa dạng của khách hàng, từ những người yêu thích thưởng thức âm nhạc đến các tín đồ công nghệ.
Phạm vi nghiên cứu
Đề tài tập trung vào phạm vi người dùng trực tuyến, nhấn mạnh rằng bất kỳ người dùng nào đã đăng ký tài khoản đều có khả năng thực hiện các thao tác Việc này giúp mở rộng khả năng tương tác và nâng cao trải nghiệm người dùng trên nền tảng số Chính sách này thúc đẩy sự tham gia của cộng đồng trực tuyến, đồng thời đảm bảo an toàn và bảo mật cho người dùng đã đăng ký Tối ưu hóa trải nghiệm người dùng dựa trên khả năng truy cập và thao tác của các tài khoản đã đăng ký là yếu tố cốt lõi của chiến lược phát triển nền tảng trực tuyến.
1.5.1 Phạm vi môi trường Đề tài được thực hiện trên phạm vi website trực tuyến
1.5.2 Phạm vi chức năng: Đối với công cụ tìm kiếm bằng giọng nói:
- Có khả năng tìm kiếm bài hát thông qua tên bài hát.
- Có khả năng nhận biết âm thanh, tìm kiếm được bài hát thông qua một đoạn lời bài hát. Đối với website:
- Chức năng tạo tài khoản người dùng.
- Chức năng nghe, tải nhạc.
- Chức năng tìm kiếm bài hát thông qua keyword và giọng nói.
- Chức năng tạo danh sách phát phát các bài hát của nghệ sĩ.
- Chức năng bình luận và đánh giá bài hát.
- Chức năng tạo và quản lý danh sách phát cá nhân.
- Chức năng đề xuất bài hát.
- Chức năng quản lý hồ sơ của người dùng.
- Chức năng báo cáo lỗi thông qua email.
Phương pháp nghiên cứu
- Phân tích các giải pháp của các ứng dụng tương tự trên thị trường.
- Phân tích các bảng xếp hạng âm nhạc lớn của thể giới và trong nước.
- Phân tích xu hướng người nghe hiện nay.
- Tìm hiểu về các trí tuệ nhân tạo phù hợp với chức năng sản phẩm.
- Tìm hiểu và phân tích các phương pháp đề xuất âm nhạc.
CƠ SỞ LÝ THUYẾT
Phân tích các nghiên cứu đã có trên thị trường
Hình CƠ SỞ LÝ THUYẾT.1: Logo Spotify
Spotify là một dịch vụ phát nhạc trực tuyến hàng đầu thế giới, ra mắt vào năm
2008 tại Thụy Điển Nền tảng này cung cấp hàng triệu bài hát, podcast và sách nói từ nhiều thể loại và nghệ sĩ khác nhau Người dùng có thể nghe nhạc miễn phí với quảng cáo hoặc sử dụng gói trả phí để trải nghiệm không quảng cáo, tải nhạc offline, và chất lượng âm thanh cao Spotify nổi bật với khả năng cá nhân hóa danh sách phát, đề xuất bài hát dựa trên sở thích nghe nhạc, và tính năng kết nối cộng đồng.
Hình CƠ SỞ LÝ THUYẾT.2: Logo ZingMP3
Zing MP3, ứng dụng nghe nhạc trực tuyến phổ biến tại Việt Nam thuộc sở hữu của VNG Corporation, ra mắt từ năm 2007, chuyên cung cấp các bài hát và album của nghệ sĩ Việt Nam cùng với nhạc quốc tế Người dùng có thể nghe nhạc miễn phí, tải nhạc về thiết bị, tạo danh sách phát cá nhân, và tận hưởng các tính năng như nghe offline, xem MV, và hiển thị lời bài hát Đây là nền tảng âm nhạc phù hợp với sở thích của người Việt Nam, giúp thưởng thức âm nhạc dễ dàng mọi lúc mọi nơi.
Các vấn đề được tập trung giải quyết trong đồ án
2.2.1 Xây dựng cơ sở dữ liệu âm nhạc
Tạo một kho âm nhạc đa dạng về thể loại và ngôn ngữ đòi hỏi quản lý chặt chẽ về bản quyền và nguồn dữ liệu Đảm bảo hệ thống quản lý cơ sở dữ liệu mở rộng, ổn định và có khả năng đáp ứng nhu cầu truy cập lớn là thách thức lớn cần vượt qua để duy trì dịch vụ hiệu quả.
Việc sử dụng âm nhạc cần tuân thủ luật bản quyền và yêu cầu có giấy phép từ các nghệ sĩ cũng như nhà sản xuất âm nhạc Các dịch vụ lớn như Spotify và Apple Music đã đầu tư hàng triệu đô la để mua bản quyền, điều này có thể tạo ra rào cản đáng kể cho các dự án sinh viên Việc nắm rõ quy định về quyền sử dụng âm nhạc là cần thiết để đảm bảo pháp lý và tránh vi phạm bản quyền trong quá trình sáng tạo.
2.2.2 Tích hợp tìm kiếm bằng giọng nói
Tính năng tìm kiếm bằng giọng nói yêu cầu xây dựng hệ thống nhận diện giọng nói (ASR - Automatic Speech Recognition) chính xác để mang lại trải nghiệm tốt nhất cho người dùng Tuy nhiên, việc nhận diện giọng nói có thể gặp nhiều khó khăn khi người dùng có giọng địa phương, phát âm không chuẩn hoặc gặp phải tiếng ồn xung quanh Các yếu tố này ảnh hưởng đến độ chính xác của hệ thống ASR, đòi hỏi các giải pháp công nghệ phù hợp để nâng cao hiệu quả nhận diện giọng nói.
2.2.3 Trải nghiệm người dùng (UX/UI) Đảm bảo website nghe nhạc trực tuyến có giao diện dễ sử dụng, trực quan và hấp dẫn là một yếu tố quan trọng Một trải nghiệm không tốt có thể khiến người dùng nhanh chóng rời bỏ nền tảng
Khi tối ưu hóa nội dung, cần chú ý đến cả máy tính để bàn và thiết bị di động, vì phần lớn người dùng nghe nhạc trên điện thoại di động Thiết kế giao diện phải đảm bảo thao tác nhanh chóng, dễ dàng và mượt mà trên cả hai nền tảng để nâng cao trải nghiệm người dùng.
Các dịch vụ nghe nhạc hàng đầu như Spotify và Apple Music nổi bật với khả năng cá nhân hóa và đề xuất âm nhạc phù hợp với sở thích của người dùng Để đạt được điều này, hệ thống phân tích hành vi và thói quen nghe nhạc của người dùng một cách chính xác là yếu tố then chốt, giúp tạo ra trải nghiệm âm nhạc cá nhân hóa tối ưu.
2.2.5 Hạ tầng và hiệu suất website
Website nghe nhạc trực tuyến cần xử lý lượng dữ liệu lớn để đảm bảo hoạt động mượt mà, tránh tình trạng tải chậm hoặc ngừng phát nhạc khi có nhiều người truy cập cùng lúc Để đạt được điều này, hệ thống yêu cầu cơ sở hạ tầng mạnh mẽ bao gồm máy chủ lưu trữ, hệ thống phân phối nội dung (CDN), và các giải pháp tối ưu hóa hiệu suất nhằm nâng cao trải nghiệm người dùng và duy trì khả năng hoạt động ổn định.
Quản lý băng thông là vấn đề lớn, đặc biệt với các tệp âm thanh có chất lượng cao.
2.2.6 Bảo mật và quyền riêng tư
Bảo mật thông tin người dùng và dữ liệu cá nhân là yếu tố vô cùng quan trọng khi xây dựng website để đảm bảo quyền riêng tư của khách hàng Việc xử lý dữ liệu giọng nói và thông tin cá nhân đòi hỏi các biện pháp bảo vệ chặt chẽ nhằm hạn chế các rủi ro về quyền riêng tư Thu thập dữ liệu người dùng để cá nhân hóa trải nghiệm cần tuân thủ các quy định về bảo mật thông tin, giúp tăng sự tin tưởng của khách hàng và đảm bảo an toàn dữ liệu.
Ngăn chặn các cuộc tấn công mạng như tấn công từ chối dịch vụ (DDoS) hoặc xâm nhập trái phép cũng là một trong những vấn đề quan trọng.
2.2.7 Khả năng mở rộng và tính cộng đồng
Một trang web nghe nhạc trực tuyến cần có khả năng mở rộng theo thời gian để đáp ứng sự gia tăng về số lượng người dùng và dữ liệu Kiến trúc hệ thống linh hoạt giúp dễ dàng nâng cấp và tích hợp các tính năng mới như cộng đồng người dùng, bình luận, và chia sẻ playlist, đảm bảo trải nghiệm người dùng luôn được cải thiện và phù hợp với xu hướng phát triển của ngành công nghiệp âm nhạc trực tuyến.
Công nghệ sử dụng
Hình CƠ SỞ LÝ THUYẾT.3: Logo Figma
Figma là công cụ thiết kế giao diện trực tuyến phổ biến, hỗ trợ thiết kế UI/UX và thúc đẩy sự hợp tác theo thời gian thực Nhờ tính năng dựa trên đám mây, Figma cho phép nhiều người cùng làm việc trên một dự án, dễ dàng chia sẻ, nhận phản hồi và quản lý phiên bản hiệu quả Đây là công cụ lý tưởng cho việc tạo prototype và mockup cho ứng dụng hoặc website, được ưa chuộng trong ngành thiết kế hiện nay.
Hình CƠ SỞ LÝ THUYẾT.4: Logo ReactJS
ReactJS là thư viện JavaScript mã nguồn mở do Facebook phát triển, chuyên xây dựng giao diện người dùng (UI) cho các ứng dụng web Với tính năng component-based, React cho phép tái sử dụng mã dễ dàng, giúp giảm thiểu lỗi và tiết kiệm thời gian phát triển Công nghệ virtual DOM của React tối ưu hóa hiệu suất, mang lại trải nghiệm mượt mà cho người dùng React phù hợp để phát triển các ứng dụng web đơn trang (SPA), nhờ khả năng tạo giao diện tối ưu và đồng bộ cao Ngoài ra, cộng đồng lập trình viên lớn và hoạt động sôi nổi hỗ trợ mạnh mẽ trong việc học hỏi và cập nhật công nghệ mới.
2.3.3 Tổng quan về Express.js
Hình CƠ SỞ LÝ THUYẾT.5: Logo Express JS
Express là framework web nhẹ và linh hoạt cho Node.js, giúp xây dựng ứng dụng web và API một cách dễ dàng Với cú pháp đơn giản và khả năng mở rộng cao, Express hỗ trợ quản lý tuyến đường (routes), middleware, và xử lý yêu cầu HTTP hiệu quả Đây là lựa chọn phổ biến cho các dự án backend nhờ tính nhanh gọn và khả năng tích hợp linh hoạt.
Hình CƠ SỞ LÝ THUYẾT.6: Logo Firebase
Firebase là nền tảng phát triển ứng dụng di động và web do Google cung cấp, tích hợp các dịch vụ như cơ sở dữ liệu thời gian thực, Firebase Firestore, Firebase Authentication và lưu trữ đám mây Firebase giúp các nhà phát triển tăng tốc quá trình xây dựng ứng dụng, quản lý người dùng dễ dàng, và triển khai nhanh chóng mà không cần phải thiết lập các cấu hình phức tạp Đây là công cụ mạnh mẽ hỗ trợ phát triển ứng dụng hiệu quả và tối ưu, phù hợp cho cả dự án nhỏ lẫn doanh nghiệp lớn.
2.3.5 Tổng quan về Jamendo API
Hình CƠ SỞ LÝ THUYẾT.7: Logo Jamendo Music
Jamendo API là giao diện lập trình ứng dụng của Jamendo, một nền tảng cung cấp nhạc miễn phí bản quyền từ các nghệ sĩ độc lập API này cho phép truy cập danh mục bài hát, album, nghệ sĩ và playlist, hỗ trợ tìm kiếm nhạc theo thể loại, tên bài hát, hoặc nghệ sĩ Nó phù hợp cho các ứng dụng phát nhạc hoặc tìm kiếm nhạc sử dụng nguồn dữ liệu bản quyền mở.
2.3.6 Tổng quan về Web Speech API
Hình CƠ SỞ LÝ THUYẾT.8: Logo MDN Web Docs – nơi cung cấp tài liệu
Web Speech API là công cụ mạnh mẽ giúp tích hợp khả năng nhận dạng và tổng hợp giọng nói vào các ứng dụng web API này gồm hai thành phần chính là Speech Recognition, cho phép chuyển đổi giọng nói thành văn bản, và Speech Synthesis, giúp chuyển đổi văn bản thành giọng nói Nhờ đó, các ứng dụng web có thể cung cấp trải nghiệm người dùng đa dạng hơn, hỗ trợ điều khiển bằng giọng nói và phản hồi âm thanh, nâng cao tính tiện lợi và mức độ tương tác cho người dùng.
Hình CƠ SỞ LÝ THUYẾT.9: Logo Cloudinary
Cloudinary là nền tảng quản lý hình ảnh và video dựa trên đám mây, cung cấp API mạnh mẽ để tải lên, chỉnh sửa, chuyển đổi và phân phối nội dung đa phương tiện API của Cloudinary hỗ trợ tải hình ảnh và video từ nhiều phương thức như trình duyệt, URL từ xa hoặc API phía máy chủ, giúp tích hợp dễ dàng vào các ứng dụng Management API cho phép quản lý tài nguyên hiệu quả với các chức năng tìm kiếm, liệt kê, cập nhật và xóa nội dung nhanh chóng Các dịch vụ của Cloudinary giúp tối ưu hóa quá trình quản lý nội dung đa phương tiện, nâng cao trải nghiệm người dùng và tối ưu hóa hiệu suất website.
PHÂN TÍCH, THIẾT KẾ HỆ THỐNG
Sơ đồ lớp
Hình PHÂN TÍCH, THIẾT KẾ HỆ THỐNG.10: Sơ đồ lớp
- Tổng quan các lớp trong sơ đồ
Bảng PHÂN TÍCH, THIẾT KẾ HỆ THỐNG.1: Bảng tổng quan các lớp có trong sơ đồ
STT Tên lớp Ghi chú
1 NguoiDung Lưu trữ thông tin người dùng.
2 DanhSachPhat Lưu trữ thông tin danh sách phát.
3 DanhGia Lưu trữ thông tin các đánh giá của bài hát.
4 BaiHat Lưu trữ thông tin bài hát.
5 NhacSi Lưu trữ thông tin nhạc sĩ sáng tác nên bài hát đó.
6 TheLoai Lưu trữ thông tin thể loại của bài hát.
7 NgheSi Lưu trữ thông tin nghệ sĩ hát bài hát đó.
Bảng PHÂN TÍCH, THIẾT KẾ HỆ THỐNG.2: Các thuộc tính bảng
STT Tên thuộc tính Kiểu dữ liệu Chú thích
1 MaNguoiDung Text Mã ID của tải khoản người dùng.
2 TenNguoDung Text Tên người dùng.
3 NgaySinh Date Ngày tháng năm sinh của người dùng.
4 GioiTinh Text Giới tính của người dùng
5 Email Text Địa chỉ Email của người dùng.
6 AvatarUrl String ref Linh URL lưu trữ ảnh đại diện của người dùng.
Bảng PHÂN TÍCH, THIẾT KẾ HỆ THỐNG.3: Các thuộc tính bảng
STT Tên thuộc tính Kiểu dữ liệu Chú thích
1 MaDanhSach Text Mã ID của danh sách phát.
2 MaNguoiDung Text Mã người dùng đã tạo danh sách phát.
3 TenDanhSach Text Tên danh sách phát.
4 AvatarUrl String ref Link URL của avatar danh sách phát.
5 NgayDang Date Ngày tạo danh sách phát.
6 ListMaBaiHat Array Mảng gồm mã các bài hát thuộc danh sách phát.
Bảng PHÂN TÍCH, THIẾT KẾ HỆ THỐNG.4: Các thuộc tính bảng DanhGia
STT Tên thuộc tính Kiểu dữ liệu Chú thích
1 MaDanhGia Text Mã ID của đánh giá.
2 MaNguoiDung Text Mã người dùng đã thực hiện đánh giá.
3 MaBaiHat Text Mã bài hát được đánh giá.
4 MucDanhGia Int Mức độ đánh giá từ 1 đến 5.
5 BinhLuan Text Bình luận đi kèm.
Bảng PHÂN TÍCH, THIẾT KẾ HỆ THỐNG.5: Các thuộc tính bảng BaiHat
STT Tên thuộc tính Kiểu dữ liệu Chú thích
1 MaBaiHat Text Mã ID của bài hát.
2 MaNhacSi Text Mã nhạc sĩ dáng tác bài hát.
3 MaTheLoai Text Mã thể loại bài hát.
4 MaNgheSi Text Mã nghệ sĩ biểu diễn bài hát.
5 TenBaiHat Text Tên bài hát.
6 FilBaiHat String ref Đường đã file bài hát.
7 AvatarUrl String ref Đường dẫn ảnh đại diện bài hát.
8 LoiBaiHat Text Lười bài hát.
9 NgayDang Date Ngày đăng tải bài hát.
10 LuotNghe Text Lượt nghe của bài hát.
Bảng PHÂN TÍCH, THIẾT KẾ HỆ THỐNG.6: Các thuộc tính bảng NhacSi
STT Tên thuộc tính Kiểu dữ liệu Chú thích
1 MaNhacSi Text Mã ID của nhạc sĩ.
2 TenNhacSi Text Tên của nhạc sĩ.
Bảng PHÂN TÍCH, THIẾT KẾ HỆ THỐNG.7: Các thuộc tính bảng TheLoai
STT Tên thuộc tính Kiểu dữ liệu Chú thích
1 MaTheLoai Text Mã ID của thể loại nhạc.
2 TenTheLoai Text Tên của thể loại nhạc.
Bảng PHÂN TÍCH, THIẾT KẾ HỆ THỐNG.8: Các thuộc tính bảng NgheSi
STT Tên thuộc tính Kiểu dữ liệu Chú thích
1 MaNgheSi Text Mã ID của nghệ sĩ.
2 TenNgheSi Text Tên của nghệ sĩ.
3 SoNguoiTheoDoi Int Số người theo dõi của nghệ sĩ.
Sơ đồ Use-case
Hình PHÂN TÍCH, THIẾT KẾ HỆ THỐNG.11: Sơ đồ Use-case tổng quát Các thành phần chính trong sơ đồ:
User: Đại diện cho người dùng hệ thống, có thể thực hiện tất cả các chức năng được liệt kê trong sơ đồ.
- Các trường hợp sử dụng (Use cases):
+ Đăng ký, Đăng nhập, Đăng xuất:
Cho phép người dùng tạo tài khoản mới, đăng nhập vào hệ thống và đăng xuất khi không sử dụng.
+ Nghe nhạc: Bao gồm nhiều chức năng mở rộng liên quan:
Phát hoặc ngừng nhạc: Điều khiển bài hát đang phát.
Next hoặc back bài hát: Chuyển sang bài kế tiếp hoặc bài trước đó.
Phát trộn bài hoặc phát lặp lại: Điều chỉnh chế độ phát nhạc.
Hiển thị lời bài hát: Hiển thị phần lời cho bài hát đang phát.
Xem thông tin bài hát: Hiển thị thông tin chi tiết như tên bài hát, nghệ sĩ, nhạc sĩ, thể loại, v.v.
Tăng/giảm âm lượng: Điều chỉnh âm lượng khi phát nhạc.
Đánh giá bài hát: Cho phép người dùng đánh giá hoặc để lại bình luận.
+ Quản lý danh sách phát:
Tạo danh sách phát: Người dùng có thể tạo playlist mới.
Cập nhật thông tin danh sách phát: Sửa đổi thông tin (tên, ảnh đại diện, v.v.) của playlist.
Xóa danh sách phát: Xóa playlist khi không cần thiết.
Thêm bài hát vào danh sách phát: Chọn bài hát và thêm vào playlist.
Xóa bài hát khỏi danh sách phát: Loại bỏ bài hát khỏi playlist.
Xem thông tin tài khoản: Xem chi tiết tài khoản cá nhân.
Thay đổi thông tin cá nhân: Cập nhật thông tin như tên, email, ảnh đại diện, v.v.
+ Tìm kiếm: Cho phép người dùng tìm kiếm bài hát, nghệ sĩ, hoặc thể loại nhạc.
Sơ đồ tuần tự
Hình PHÂN TÍCH, THIẾT KẾ HỆ THỐNG.12: Sơ đồ đăng ký
Hình PHÂN TÍCH, THIẾT KẾ HỆ THỐNG.13: Sơ đồ đăng nhập
Hình PHÂN TÍCH, THIẾT KẾ HỆ THỐNG.14: Sơ đồ đăng xuất
3.3.4 Sơ đồ xem thông tin cá nhân
Hình PHÂN TÍCH, THIẾT KẾ HỆ THỐNG.15: Sơ đồ xem thông tin cá nhân
3.3.5 Sơ đồ thay đổi thông tin cá nhân
Hình PHÂN TÍCH, THIẾT KẾ HỆ THỐNG.16: Sơ đồ thay đổi thông tin cá
3.3.6 Sơ đồ phát hoặc ngưng phát nhạc
Hình PHÂN TÍCH, THIẾT KẾ HỆ THỐNG.17: Sơ đồ phát hoặc ngưng phát nhạc
3.3.7 Sơ đồ chọn mở bài tiếp theo hoặc phát bài trước đó
Hình PHÂN TÍCH, THIẾT KẾ HỆ THỐNG.18: Sơ đồ chọn mở bài hát tiếp theo hoặc trước đó
3.3.8 Sơ đồ chế độ phát trộn hoặc lặp lại
Hình PHÂN TÍCH, THIẾT KẾ HỆ THỐNG.19: Sơ đồ chọn chế độ trộn hoặc lặp lại
3.3.9 Sơ đồ chế độ hiển thị lời bài hát hoặc không
Hình PHÂN TÍCH, THIẾT KẾ HỆ THỐNG.20: Sơ đồ chọn chế độ hiển thị lời bài hát hoặc không
3.3.10.Sơ đồ chọn chế độ xem thông tin bài hát
Hình PHÂN TÍCH, THIẾT KẾ HỆ THỐNG.21: Sơ đồ chọn chế độ xem thông tin bài hát
3.3.11.Sơ đồ tìm kiếm bằng keywords
Hình PHÂN TÍCH, THIẾT KẾ HỆ THỐNG.22: Sơ đồ tìm kiếm bằng keywords
3.3.12.Sơ đồ tìm kiếm bằng giọng nói
Hình PHÂN TÍCH, THIẾT KẾ HỆ THỐNG.23: Sơ đồ tìm kiếm bằng giọng nói
3.3.13.Sơ đồ tạo danh sách phát
Hình PHÂN TÍCH, THIẾT KẾ HỆ THỐNG.24: Sơ đồ tạo danh sách phát
3.3.14.Sơ đồ xóa danh sách phát
Hình PHÂN TÍCH, THIẾT KẾ HỆ THỐNG.25: Sơ đồ xóa danh sách phát
3.3.15.Sơ đồ cập nhật thông tin danh sách phát
Hình PHÂN TÍCH, THIẾT KẾ HỆ THỐNG.26: Sơ đồ cập nhật thông tin danh
3.3.16.Sơ đồ thêm bài hát vào danh sách phát (Từ thanh nghe nhạc)
Hình PHÂN TÍCH, THIẾT KẾ HỆ THỐNG.27: Sơ đồ thêm bài hát vào danh sách phát (Từ thanh nghe nhạc)
3.3.17.Sơ đồ xóa bài hát khỏi danh sách phát
Hình PHÂN TÍCH, THIẾT KẾ HỆ THỐNG.28: Sơ đồ xóa bài hát khỏi danh sách phát
3.3.18.Sơ đồ đánh giá bài hát
Hình PHÂN TÍCH, THIẾT KẾ HỆ THỐNG.29: Sơ đồ đánh giá bài hát
XÂY DỰNG ỨNG DỤNG
Môi trường cài đặt
- Hệ điều hành: Không yêu cầu cố định (vì website sử dụng Firebase và máy chủ Node.js không yêu cầu hệ điều hành cố định).
- Cơ sở dữ liệu: Firebase Firestore và Jamedo API đảm nhận vai trò lưu trữ dữ liệu bài hát, thông tin bài hát, và metadata liên quan.
- Hệ điều hành: Windows 10 trở lên, macOS 10.13 trở lên.
- Trình duyệt: Google Chrome, Firefox, hoặc Microsoft Edge (phiên bản mới nhất).
- Bộ nhớ RAM: Tối thiểu 4GB.
- Bộ xử lý: Tối thiểu CPU 2.0 GHz hoặc tương đương.
- Kết nối mạng: Kết nối ổn định để phát trực tuyến nhạc và truy cập dữ liệu từFirebase.
4.1.2 Môi trường phát triển và triển khai hệ thống
4.1.2.1 Môi trường phát triển Để xây dựng website âm nhạc, nhóm sử dụng các công nghệ và phần mềm sau:
- Công cụ phát triển: Visual Studio Code.
- Ngôn ngữ lập trình: JavaScript (ReactJS ở phía Client, ExpressJS ở phía Server)
- Cơ sở dữ liệu: Firebase Firestore kết hợp với Jamedo API để lưu trữ thông tin và dữ liệu.
- Giao diện người dùng: Sử dụng các component của ReactJS với Material-UI để xây dựng giao diện hiện đại và tương tác.
- Windows hoặc macOS với trình duyệt (Google Chrome, Edge).