Báo cáo Đồ án: Xây dựng Website Nghe Nhạc Trực Tuyến - ĐH CNTT

Tải báo cáo đồ án website nghe nhạc trực tuyến đầy đủ. Phân tích thiết kế, công nghệ ReactJS, NodeJS và các chức năng chính của một trang nghe nhạc.

Chuyên ngành

Công nghệ Phần mềm

Người đăng

Ẩn danh

Thể loại

Graduation project

2022

59
0
0

Phí lưu trữ

30 Point

Tóm tắt

I. Giới Thiệu Về Đồ Án Xây Dựng Website Nghe Nhạc Trực Tuyến

Đồ án xây dựng website nghe nhạc trực tuyến là một dự án học tập toàn diện tại Đại Học Công Nghệ Thông Tin (UIT) - Đại Học Quốc Gia Thành Phố Hồ Chí Minh. Dự án này được thực hiện bởi hai sinh viên: Nguyễn Công Phi (19522006) và Lương Thiện Phước (19522055), dưới sự hướng dẫn của ThS. Đỗ Thị Thanh Tuyền. Mục tiêu chính là xây dựng một nền tảng nghe nhạc online với giao diện thân thiện và tính năng đa dạng, kết hợp các công nghệ hiện đại nhất. Dự án không chỉ cung cấp dịch vụ nghe nhạc mà còn tích hợp các công cụ hỗ trợ tập trung như todo list, timer và notes. Thời gian thực hiện từ ngày 5/9/2022 đến 31/12/2022, là một đồ án thực tế giúp sinh viên áp dụng kiến thức học tập vào thực tiễn.

1.1. Lý Do Chọn Đề Tài

Âm nhạc không chỉ mang đến sự thư giãn mà còn cải thiện chất lượng giấc ngủ, ngăn ngừa trầm cảm và tăng cường tập trung. Với sự phát triển công nghệ, người dùng ngày càng chuyển từ nghe nhạc truyền thống sang nền tảng web. Nhóm em nhận thấy nhu cầu của thị trường và muốn tạo ra một website nghe nhạc tích hợp nhiều tính năng hữu ích, lấy cảm hứng từ các nền tảng nổi tiếng như Zingmp3, Spotify và lofi.

1.2. Mục Tiêu Đề Tài

Dự án hướng đến việc xây dựng website nghe nhạc với giao diện tối ưu trải nghiệm người dùng. Tính năng chính bao gồm: đăng ký/đăng nhập, nghe nhạc với bình luận và yêu thích, tạo playlist, lịch sử nghe, hồ sơ người dùng, và các công cụ như todo list, timer, notes để tăng hiệu suất làm việc. Ngoài ra, hệ thống sẽ gửi thông báo khi người theo dõi đăng tải bài nhạc mới.

II. Công Nghệ Sử Dụng Trong Đồ Án

Để thực hiện đồ án website nghe nhạc, nhóm em lựa chọn một stack công nghệ hiện đại và phổ biến trong ngành. Phía frontend sử dụng ReactJS với ReduxToolkit để quản lý state, kết hợp với Ant Design và TailwindCSS cho giao diện đẹp. Phía backend sử dụng NodeJS với các framework như NestJS hoặc ExpressJS để xây dựng API mạnh mẽ. Bảo mật được đảm bảo thông qua JWT token, trong khi MongoDBRedis được sử dụng để lưu trữ dữ liệu và caching. Stack công nghệ này được chọn vì khả năng mở rộng cao, hiệu suất tốt và là các công nghệ phổ biến trong thị trường.

2.1. Công Nghệ Frontend

ReactJS là nền tảng chính cho giao diện người dùng, cho phép xây dựng component tái sử dụng. ReduxToolkit giúp quản lý trạng thái ứng dụng một cách hiệu quả. Ant Design cung cấp các component UI chuyên nghiệp, trong khi TailwindCSS giúp styling nhanh chóng. Kết hợp này tạo nên một giao diện thân thiệnresponsive trên tất cả thiết bị.

2.2. Công Nghệ Backend Database

NodeJS với NestJS/ExpressJS xử lý các request từ client và quản lý logic kinh doanh. MongoDB lưu trữ dữ liệu người dùng, bài hát và playlist, trong khi Redis cache dữ liệu để tăng tốc độ. JWT đảm bảo bảo mật xác thực người dùng, ngăn chặn truy cập trái phép.

III. Phạm Vi và Chức Năng Chính của Website Nghe Nhạc

Phạm vi đề tài tập trung vào môi trường web, không phát triển cho di động. Các chức năng chính bao gồm: hệ thống xác thực người dùng (đăng ký, đăng nhập, quên mật khẩu), tính năng nghe nhạc với bình luận, yêu thích, thêm nhạc mới, lịch sử nghe và tạo playlist cá nhân. Website cung cấp giao diện nghe nhạc tối ưu kết hợp với các công cụ hỗ trợ như todo list, timer, notes giúp người dùng tăng tập trung khi làm việc. Hồ sơ người dùng cho phép xem danh sách bài hát yêu thích, các bản nhạc đã upload hoặc cover. Hệ thống thông báo tự động khi người theo dõi đăng tải bài nhạc mới, tạo cộng đồng tương tác giữa người dùng.

3.1. Tính Năng Xác Thực và Hồ Sơ Người Dùng

Hệ thống đăng ký, đăng nhập bảo vệ bằng mã hóa mật khẩuJWT token. Tính năng quên mật khẩu gửi link reset qua email. Hồ sơ người dùng hiển thị danh sách bài hát yêu thích, các bản nhạc được upload/cover và thống kê nghe nhạc. Thông báo theo thời gian thực khi người theo dõi có hoạt động mới, tạo mối liên kết giữa cộng đồng người dùng.

3.2. Tính Năng Nghe Nhạc và Công Cụ Hỗ Trợ

Trình phát nhạc chức năng đầy đủ: play, pause, skip, điều chỉnh âm lượng. Người dùng có thể bình luận, yêu thích, thêm vào playlist và xem lịch sử nghe. Tích hợp todo list, timer, notes trong cùng giao diện, cho phép người dùng làm việc hiệu quả hơn với sự hỗ trợ của âm nhạc. Playlist cá nhân giúp tổ chức bài hát theo chủ đề và tâm trạng.

IV. Đối Tượng Người Dùng và Phương Pháp Thực Hiện

Website nghe nhạc được thiết kế cho ba nhóm người dùng chính: những người yêu thích âm nhạc và dùng nó để thư giãn, những người ít nghe nhạc nhưng muốn khám phá, và những người dùng âm nhạc để tăng hiệu suất công việc. Phương pháp thực hiện bắt đầu bằng phân tích các nền tảng âm nhạc lớn như Spotify, Zingmp3 để xác định điểm mạnh yếu. Nhóm em sau đó thiết kế giao diện tối ưu trải nghiệm người dùng, tập trung vào tính thông dụngtính thẩm mỹ. Quá trình phát triển chia thành các giai đoạn từ codebase, API backend đến frontend, với việc review code và cải thiện liên tục giữa hai thành viên nhóm.

4.1. Đối Tượng Sử Dụng Chính

Người thích nghe nhạc tìm kiếm nền tảng nghe nhạc chất lượng cao với thư viện bài hát đa dạng. Người ít nghe nhạc cần giao diện đơn giản, dễ sử dụng. Người làm việc/học tập cần âm nhạc kết hợp với công cụ tăng tập trung như todo list và timer. Mỗi nhóm đưa ra yêu cầu khác nhau, giúp nhóm em thiết kế tính năng toàn diện.

4.2. Phương Pháp Thiết Kế và Phát Triển

Nhóm em nghiên cứu thị trường để tìm hiểu các ứng dụng nghe nhạc hiện tại. Dựa trên phân tích, đề xuất các tính năng mới và cải tiến. Quá trình phát triển chia nhành rõ: một thành viên chủ trách frontend, người kia chủ trách backend. Cả hai thường xuyên review code, cộng tác để đảm bảo chất lượng. Việc tập trung vào designUX giúp tạo ra sản phẩm thân thiện người dùng.

28/12/2025

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

Chương I: GIỚI THIỆU TỔNG QUAN.1 Thông tin nhóm .2 Thông tin Website .3 Lý do chọn đề tài .1 Khách quan: .4 Mục tiêu đề tài .5 Phạm vi đề tài .6 Đối tượng sử dụng: .7 Công nghệ sử dụng .1 Lý do chọn MERN Stack .8 Kết quả mong đợi .9 Tầm nhìn và phạm vi .2 Mục tiêu cần đạt: .3 Thước đo thành công .4 Mô tả yêu cầu người dùng. 5 Chương 2 XÂY DỰNG WEBSITE NGHE NHẠC TRỰC TUYẾN .1 Quy trình thực hiện đồ án .2 Yêu cầu phi chức năng .3 Thiết kế database .1 Danh sách các bảng .2 Chi tiết các bảng .4 Thiết kế giao diện .1 Danh sách các màn hình .2 Chi tiết các màn hình .5 Đặc tả Usecase .1 Sơ đồ usecase tổng quát.2 Đặc tả chi tiết usecase. 31 Chương 3 KẾT LUẬN .1 Các tính năng đã làm được .2 Những điều chưa làm được .2 Hướng phát triển tiếp theo .3 Bảng phân công công việc. 41 TÀI LIỆU THAM KHẢO.

42 MỤC LỤC HÌNH ẢNH Hình 2.1 Sơ đồ thiết kế database……………………………………………………8 Hình 2.2 Màn hình đăng ký……………………………………….3 Màn hình đăng nhập…………………………………….4 Màn hình quên mật khẩu………………………………………………….5 Màn hình đỏi mật khẩu……………………………………….6 Màn hình trang chủ……………………………………….7 Màn hình bảng xếp hạng……………………………………….8 Màn hình tìm kiếm……………………………………….9 Màn hình nghe nhạc có tương tác…………………………………………16 Hình 2.10 Màn hình tạo playlist……………………………………….11 Màn hình xem chi tiết ca sĩ……………………………………….12 Màn hình xem thông tin bài hát……………………………………….13 Sơ đồ usecase tổng quát………………………………………………….14 Sơ đồ usecase đăng ký tài khoản…………………………………………19 Hình 2.15 Sơ đồ usecase đăng nhập tài khoản………………………………………20 Hình 2.16 Sơ đồ usecase cập nhật thông tin cá nhân……………………………….17 Sơ đồ usecase quên mật khẩu……………………………………………22 Hình 2.18 Sơ đồ usecase đổi mật khẩu…………………………………………….19 Sơ đồ usecase nghe nhạc…………………………………………………24 Hình 2.20 Sơ đồ usecase quản lý playlist……………………………………………25 Hình 2.21 Sơ đồ usecase xem bảng xếp hạng……………………………………….22 Sơ đồ usecase xem chi tiết ca sĩ………………………………………….23 Sơ đồ usecase xem chi tiết bài nhạc…………………………………….24 Sơ đồ usecase tìm kiếm bài hát………………………………………….25 Sơ đồ hoạt động đăng ký tài khoản…………………………………….26 Sơ đồ hoạt động đăng nhập tài khoản………………………………….27 Sơ đồ hoạt động cập nhật thông tin cá nhân…………………………….28 Sơ đồ hoạt động quên mật khẩu…………………………………………34 Hình 2.29 Sơ đồ hoạt động nghe nhạc…………………………………………….30 Sơ đồ hoạt động tạo playlist…………………………………………….31 Sơ đồ hoạt động thêm nhạc vào playlist……………………………….32 Sơ đồ hoạt động xem bảng xếp hạng……………………………………37 Hình 2.33 Sơ đồ hoạt động xem chi tiết ca sĩ………………………………………37 Hình 2.34 Sơ đồ hoạt động xem thông tin bài hát………………………………….35 Sơ đồ hoạt động tìm kiếm bài hát……………………………………….38 MỤC LỤC BẢNG BIỂU Bảng 2.1 Danh sách tính năng………………………………………………………7 Bảng 2.2 Danh sách các bảng trong database …………………………………….3 Bảng users trong database……………………………….4 Bảng notes trong database…………………………………………….5 Bảng sessions trong database…………………………………………….6 Bảng temptusers trong database…………………………………….7 Bảng playlists trong database…………………………………………….8 Bảng songs trong database……………………………………………….9 Bảng authors trong database…………………………………………….10 Bảng danh sách các màn hình………………………………………….11 Bảng đặc tả usecase đăng ký tài khoản………………………………….12 Bảng đặc tả usecase đăng nhập tài khoản……………………………….13 Bảng đặc tả usecase cập nhật thông tin cá nhân…………………………21 Bảng 2.14 Bảng đặc tả usecase quên mật khẩu…………………………………….15 Bảng đặc tả usecase đổi mật khẩu……………………………………….16 Bảng đặc tả usecase nghe nhạc………………………………………….17 Bảng đặc tả usecase quản lý playlist………………………………….18 Bảng đặc tả usecase xem bảng xếp hạng…………………………………27 Bảng 2.19 Bảng đặc tả usecase xem chi tiết ca sĩ……………………….20 Bảng đặc tả usecase xem chi tiết bài nhạc…………………………….1 Bảng phân công công việc……………………………………………….41 Chương I: GIỚI THIỆU TỔNG QUAN 1.1 Thông tin nhóm - Thành viên 1 o MSSV: 19522006. o Tên: Nguyễn Công Phi.vn - Thành viên 2 o MSSV: 19522055. o Tên: Lương Thiện Phước.2 Thông tin Website - Website có tên gọi là P2Tunes. - Link github: o Front-end: https://github.com/CongPhiNguyen/music-fe o Back-end: https://github.com/LuongThienPhuoc/music-be - Link website: o P2Tunes: https://p2tunes.3 Lý do chọn đề tài 1.1 Khách quan: - Âm nhạc là sự kết hợp của giọng hát và các giai điệu của nhạc cụ nhằm tạo nên vẻ đẹp, sự hài hoà của cảm xúc, mang đến cho con người những giây phút tuyệt vời.

Không những thế, nó còn giúp cải thiện chất lượng giấc ngủ, ngăn ngừa chứng trầm cảm, giảm đau, kiểm soát cơn thèm ăn để làm đẹp vóc dáng, tăng cường sự tập trung… Nếu như chúng ta bỏ qua việc nghe nhạc, chúng ta đã bỏ lỡ rất nhiều lợi ích tốt cho sức khỏe. - Bên cạnh sự phát triển quá dữ dội của công nghệ, việc người dùng dùng đĩa để nghe nhạc lại càng ít đi, thay vào đó người dùng lại có thói quen nghe nhạc trên 1 các nền tảng web. Và không chỉ nghe nhạc, chúng ta còn có thể sử dụng nhạc để giúp tăng sự tập trung, việc tích hợp thêm todolist, notes hay timer cũng giúp việc học tập và làm việc được gia tăng sự hiệu quả. - Nhóm em ấp ủ một dự án xây dựng một website nghe nhạc trực tuyến.

Nhóm em sẽ cố gắng thực hiện với việc áp dụng các công nghệ phù hợp nhất và có các tính năng hay nhất, hữu ích nhất của các nển tảng nghe nhạc nổi tiếng như Zingmp3, Spotify hay lofi.2 Chủ quan: - Nhóm em muốn tổng hợp những kiến thức đã được học ở trường và thực tế để xây dựng một ứng dụng nghe nhạc hoàn chỉnh nhất, đồng thời biết được điểm mạnh, điểm yếu của bản thân sau khi thực hiện đồ án và trước khi thực hiện đồ án để cải thiện và phát huy. Sau này có thể sử dụng để nghe nhạc, hỗ trợ tập trung, có thêm động lực, sự tự hào khi nhìn lại sản phẩm của mình.4 Mục tiêu đề tài - Xây dựng một website nghe nhạc trực tuyến với giao diện thân thiện với người dùng. - Xây dựng tính năng vừa nghe nhạc để giúp người dùng hỗ trợ tập trung. Có các notes, todolist và time để hỗ trợ người dùng thực hiện mục đích đó.5 Phạm vi đề tài - Đề tài tập trung xây dựng website với tăng tối đa trải nghiệm người dùng.

o Phạm vi môi trường: ▪ Triển khai sản phẩm đề tài trên môi trường web. o Phạm vi chức năng: ▪ Tính năng đăng ký, đăng nhập, quên mật khẩu(Authentication) ▪ Tính năng nghe nhạc (Bình luận, yêu thích, thêm nhạc, lịch sử nghe, tạo playlist, xem MV(nếu có)). ▪ Có thể nghe nhạc với giao diện và các tính năng khác như: todo list, timer, notes để tăng sự tập trung, hiệu quả đối với người dùng cần nghe nhạc để làm việc. 2 ▪ Profile người dùng(có thể list các bài nhạc được người lưu, các bài hát của người dùng hoặc các bản nhạc được người dùng cover).

▪ Có thông báo cho người dùng khi người theo dõi đăng tải bài nhạc mới.6 Đối tượng sử dụng: - Những người thích nghe nhạc, dùng âm nhạc để thư giãn. - Những người hay dùng âm nhạc để tăng hiệu quả công việc.7 Công nghệ sử dụng - Web được xây dựng theo MERN Stack với chi tiết các công nghệ được sử dụng là: o Front-end: ReactJS – ReduxToolkit, ReactHook, Ant Design, TailwindCSS. o Back-end: NodeJS, NestJS, ExpressJS. o Security Standard: JWT.

- MERN viết đầy đủ là MERN stack, là một bộ công nghệ mã nguồn mở liên quan đến JavaScript. Gồm các công nghệ: MongoDB, Express, React và Nodejs. Mọi người sử dụng MERN stack để xây dựng một ứng dụng web dựa trên JavaScript. Gồm cả client-side (front-end) và server-side (back-end).

o MongoDB: là hệ quản trị cơ sở dữ liệu mã nguồn mở, là cơ sở dữ liệu kiểu NoSQL (None-Relational SQL hoặc Not-Only SQL), là cơ sở dữ liệu hướng tài liệu (document). Dữ liệu được lưu trữ dưới dạng JSON (ví dụ BSON). o Express: là một JavaScript framework, chạy ở server-side (backend), được xây dựng trên nền tảng Nodejs. Express cung cấp các tính năng cần thiết để tạo ra một ứng dụng web hoặc di động.

3 o React: React là một thư viện front-end (hay UI) viết bằng JavaScript, do Facebook phát triển. React Native là framework kế thừa từ React, dùng để viết ứng dụng di động đa nền tảng. o Nodejs: là một nền tảng (platform) phát triển độc lập, được xây dựng trên JavaScript Runtime của Chrome (V8). Dựa trên Nodejs chúng ta có thể xây dựng được các ứng dụng mạng nhanh chóng, và dễ dàng mở rộng.

Nodejs là nền tảng giúp chạy JavaScript tại phía server. Nodejs được viết bằng C++.1 Lý do chọn MERN Stack - MongoDB có thể cung cấp khả năng mở rộng cao hơn, Express.js để nâng cao tốc độ, JavaScript là ngôn ngữ cơ bản để phát triển từ đầu đến cuối; MERN là một trong những bộ phát triển full-stack tốt nhất sau MEAN.js rất tuyệt khi nói đến tính trừu tượng của lớp giao diện người dùng. Nó có các công cụ tốt nhất để phát triển mã nhanh hơn. Mặc dù React chỉ là một thư viện, nhưng nó cho phép tự do xây dựng ứng dụng và tổ chức mã như mong muốn, với các công cụ cần thiết.

Do đó, nó tốt hơn Angular.js về hiệu suất và kết xuất giao diện người dùng. o Thiết lập với sự hỗ trợ tuyệt vời của cộng đồng. o Bộ công cụ kiểm tra rộng được tích hợp sẵn. o Thư viện React cung cấp quyền truy cập vào các công cụ cao cấp để xây dựng ứng dụng.

Các nhà phát triển được sử dụng miễn phí thư viện để thiết kế các ứng dụng net của họ. o Hỗ trợ kiến trúc bộ điều khiển chế độ xem mô hình (MVC) để quá trình phát triển suôn sẻ. o Các nhà phát triển phải là chuyên gia về JavaScript và JSON để sử dụng Stack này. o Stack công nghệ này bao gồm cả các chu kỳ phát triển từ front-end đến back-end bằng JavaScript.

o Các nhà phát triển có thể sử dụng mã được viết trên React trên cả trình duyệt và máy chủ. Stack JS này mang lại sự linh hoạt trong việc tạo các trang trên máy chủ khi được yêu cầu.8 Kết quả mong đợi - Nắm bắt và áp dụng được công nghệ mới để xây dựng hoàn thiện sản phẩm của đề tài. - Học thêm về push notification, animation trong các chức năng. - Xây dựng một ứng dụng đem đến trải nghiệm nghe nhạc tốt nhất hướng đến người dùng.9 Tầm nhìn và phạm vi 1.1 Tổng quan - Website nghe nhạc với mục tiêu giúp người dùng giải quyết các công việc hiệu quả và trở thành một công cụ giải trí và thư giản không thể thiếu.2 Mục tiêu cần đạt: - BO-1: Ít nhất 90% người dùng hài lòng với sản phẩm.

- BO-2: Ứng dụng hổ trợ tối đa 24/24 thời gian thực hiện các nghiệp vụ được hổ trợ bởi hệ thống phần mềm. - BO-3: Ứng dụng hổ trợ 12/24 thời gian thực chăm sóc khách hàng được hổ trợ bởi hệ thống quản lý.3 Thước đo thành công - SM-1: Tổng số người dùng ứng dụng tăng ít nhất 10% theo tháng. - SM-2: Thời gian đáp ứng của sản phẩm / phản hồi yêu câu của khách hàng giảm xuống ít nhất 40%. - SM-3: Giảm số lượng lỗi ít nhất có thể không quá 1-2 lỗi theo tháng.

Tránh ảnh hưởng đến trải nghiệm người dùng - SM-4: Mức đồ hài lòng của khách hàng tăng ít nhất 0.5 điểm trong thang điểm đánh giá chất lượng.

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