Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 21 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
21
Dung lượng
1,24 MB
Nội dung
HANOI UNIVERSITY OF SCIENCE AND TECHNOLOGY PROJECT : Thiết kế xây dựng Web nghe nhạc Giảng viên hướng dẫn: Ths Vũ Đức Vượng Sinh viên thực hiện: Trịnh Quang Duy LỜI CẢM ƠN em xin gửi lời chân thành cảm ơn tới giáo viên hướng dẫn, thầy Vũ Đức Vượng, kiên nhẫn, hướng dẫn hỗ trợ thầy, em truyền cảm hứng để nghiên cứu thực đề tài Chúng em vơ biết ơn tâm huyết kì vọng thầy suốt học kì vừa qua MỤC LỤC I Giới thiệu chung 1.1 Đặt vấn đề Error! Bookmark not defined 1.2 Mục tiêu phạm vi đề tài Error! Bookmark not defined 1.3 Định hướng giải pháp II KHẢO SÁT VÀ PHÂN TÍCH YÊU CẦU III CÔNG NGHỆ SỬ DỤNG 3.1 NodeJS 3.2 ReactJS 3.3 ExpressJS 10 3.3 MongoDB 11 IV THỰC NGHIỆM VÀ ĐÁNH GIÁ 12 4.1 Thiết kế kiến trúc 12 4.2 Thiết kế giao diện 12 4.3 Thiết kế sở liệu 13 4.4 Xây dựng ứng dựng 15 V KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN…………………… 20 VI TÀI LIỆU THAM KHẢO…………………………………… 21 I Giới thiệu chung Web âm nhạc trở thành phần thiếu sống đại Với phát triển công nghệ, người dùng dễ dàng truy cập đến hàng triệu hát, album ca sĩ yêu thích cú nhấp chuột Ngồi ra, tảng âm nhạc trực tuyến cung cấp cho người dùng khả tìm kiếm khám phá hát nghệ sĩ mới, từ giúp mở rộng nâng cao trải nghiệm nghe nhạc người dùng Tuy nhiên, ngành công nghiệp âm nhạc web đối mặt với nhiều thách thức vi phạm quyền, cạnh tranh khốc liệt tảng âm nhạc thay đổi thói quen nghe nhạc người dùng Để giải vấn đề này, ngành công nghiệp âm nhạc tích cực nghiên cứu áp dụng giải pháp mới, từ việc bảo vệ quyền đến cung cấp nội dung âm nhạc chất lượng cao khuyến khích người dùng trả phí cho dịch vụ âm nhạc trực tuyến Với tiềm thách thức mình, ngành cơng nghiệp âm nhạc web dần trở thành ngành công nghiệp phát triển hấp dẫn với nhiều hội cho đầu tư phát triển tương lai Trong báo cáo này, chúng tơi khám phá phân tích phát triển xu hướng ngành công nghiệp âm nhạc web, đồng thời đưa quan điểm gợi ý cách tận dụng hội ngành Nắm bắt điều đó, tiếp cận mơn Project 1, nhóm chúng em lựa chọn đề tài “ Web âm nhạc” Trong q trình hồn thành tập lớn, chúng em xin gửi lời cảm ơn chân thành đến: Thầy giáo hướng dẫn Ths Vũ Đức Vượng giảng viên trường đại học Bách Khoa Hà Nội hết lòng hướng dẫn, giúp đỡ tạo điều kiện để chúng em hoàn thành tập lớn 1.3 Định hướng giải pháp - Để đạt mục tiêu trên, em sử dụng kết hợp nhiều công nghệ, bao gồm NodeJS, ReactJS, ExpressJs Xampp NodeJS môi trường thời gian chạy JavaScript phía máy chủ cung cấp tảng hiệu mở rộng để xây dựng ứng dụng web ReactJS thư viện JavaScript phổ biến để xây dựng giao diện người dùng, ExpressJs khung NodeJS linh hoạt để tạo ứng dụng web - Bằng cách sử dụng công nghệ này, em tạo web âm nhạc mạnh mẽ mở rộng, cung cấp cho người dùng giao diện người dùng trực quan hấp dẫn, đồng thời trì mức bảo mật quyền riêng tư cao nhất.em tin ứng dụng có lợi cho người dùng muốn nghe nhạc thời gian thực, vị trí thiết bị họ II KHẢO SÁT VÀ PHÂN TÍCH YÊU CẦU 2.1 Khảo sát trạng Thời kỳ đầu, Internet chưa bùng nổ, mạng di động thống trị, người dùng xoay quanh lựa chọn: gọi điện thoại nhắn tin SMS Nhưng sao? Wi-Fi chỗ có, từ nhà đến cơng ty, quán café sang chảnh hay trà đá vỉa hè Khơng Wi-Fi 3G, 4G bật 24/7 Cước phí Internet rẻ nhiều lần so với tiền card điện thoại di động hàng tháng Để thực khảo sát, chúng tơi tìm kiếm trang web âm nhạc phổ biến phân tích chất lượng hiệu suất chúng công cụ Google PageSpeed Insights GTmetrix Các trang web khảo sát bao gồm Spotify, Apple Music, Tidal SoundCloud Kết cho thấy tốc độ tải trang trang web âm nhạc chậm chất lượng trải nghiệm người dùng không tối ưu Một số trang web có thời gian tải trang chậm, khiến người dùng phải đợi lâu để truy cập vào nội dung âm nhạc Thêm vào đó, số trang web cịn có lỗi cách xử lý liệu, khiến trải nghiệm người dùng trở nên khó khăn Để cải thiện trải nghiệm người dùng tăng tốc độ tải trang, đề xuất giải pháp tối ưu hóa hình ảnh tài ngun trang web, sử dụng giải pháp nhớ cache, tối ưu hóa cấu trúc trang web sử dụng cơng nghệ HTTP/2 CDN Bên cạnh đó, trang web cần kiểm tra sửa lỗi xử lý liệu để cải thiện trải nghiệm người dùng tăng tính ổn định trang web 2.2 Tổng quan chức 2.2.1 Biểu đồ use case tổng quát 2.2.2 Quy trình nghiệp vụ - Hoạt động gửi tin nhắn: Khi người dùng nhập nội dung tin nhắn vào hộp thoại website, người dùng cần click chuột vào nút gửi phím Enter để gửi tin nhắn cho người khác website - Hoạt động tạo phòng trò chuyện mới: Khi người dùng muốn tạo group cho lĩnh vực riêng đó, họ cần ấn vào nút tạo group tạo nhóm - Hoạt động quản lí khách hàng: Khi cần diều chỉnh thơng tin khách hàng xóa khách hàng không phù hợp app khách hàng mà app bổ sung admin quản lý - Hoạt động quản lí thơng tin: Khi khách hàng có vấn đề thắc mắc app, họ liên lạc đến phận hỗ trợ app để tư vấn giải thắc mắc 2.2.3 Xác định yêu cầu phần mềm - Yêu cầu chức năng: + Gửi tin nhắn + Tạo phịng chat + Tham gia phịng chat + Tìm kiếm người dùng - Yêu cầu phi chức năng: + Tính tiện dụng: Giao diện thân thiện, dễ sử dụng, đa ngơn ngữ (tối thiểu phải có tiếng Anh tiếng Việt) + Tính ổn định: Hệ thống hoạt động ổn định 24/7 + Tính an tồn thơng tin: Bảo mật, tồn vẹn, xác thực + Tính phân quyền: người sử dụng chương trình cấp username password phân quyền sử dụng chương trình, giúp người quản lý theo dõi, kiểm sốt chương trình, tránh hợp sửa đổi thông tin không thuộc phạm vi quyền hạn III CÔNG NGHỆ SỬ DỤNG 3.1 NodeJS - Node.js môi trường thời gian chạy JavaScript nguồn mở, đa tảng cho phép nhà phát triển xây dựng ứng dụng phía máy chủ JavaScript Dưới số tính năng, lợi ích hạn chế Node.js, cách chúng sử dụng trò chuyện web: - Đặc trưng: + Kiến trúc hướng kiện: Node.js xây dựng xung quanh mơ hình I/O khơng chặn, hướng kiện giúp cho có khả mở rộng hiệu cao + Nhẹ nhanh: Node.js môi trường thời gian chạy nhẹ, sử dụng lượng nhỏ tài nguyên xử lý đồng thời số lượng lớn kết nối + Thư viện mô-đun phong phú: Node.js có thư viện mơ-đun lớn phát triển mà nhà phát triển sử dụng để thêm chức cho ứng dụng họ + Dễ học: Vì Node.js sử dụng JavaScript, ngơn ngữ phổ biến sử dụng rộng rãi nên nhà phát triển dễ học bắt đầu - Những lợi ích: + Khả mở rộng: Kiến trúc hướng kiện Node.js làm cho có khả mở rộng cao, cho phép xử lý khối lượng lớn liệu kết nối + Hiệu quả: Node.js biết đến với tốc độ hiệu quả, khiến trở thành lựa chọn phổ biến để xây dựng ứng dụng thời gian thực trò chuyện web + Cộng đồng lớn: Node.js có cộng đồng nhà phát triển lớn tích cực, người đóng góp cho phát triển tạo mơ-đun hữu ích sử dụng ứng dụng + Chia sẻ mã: Node.js cho phép nhà phát triển sử dụng ngôn ngữ mã mặt trước mặt sau ứng dụng, giúp chia sẻ mã dễ dàng nâng cao hiệu phát triển - Hạn chế: + Đơn luồng: Node.js đơn luồng, có nghĩa khơng phải lựa chọn tốt cho tác vụ sử dụng nhiều CPU + Quản lý nhớ: Vì Node.js sử dụng mơ hình I/O khơng chặn, nên dễ bị rị rỉ nhớ khơng quản lý cách + Thiếu khả tương thích ngược: Node.js cơng nghệ tương đối mới, điều có nghĩa phiên cũ khơng tương thích ngược với phiên - Trong trò chuyện web, Node.js sử dụng làm công nghệ phụ trợ để xử lý giao tiếp thời gian thực người dùng Kiến trúc hướng kiện Node.js đặc biệt hữu ích bối cảnh này, cho phép xử lý hiệu nhiều kết nối cập nhật theo thời gian thực Bản chất gọn nhẹ Node.js khiến phù hợp để trị chuyện web, xử lý đồng thời số lượng lớn kết nối mà không cần sử dụng nhiều tài nguyên Cuối cùng, thư viện mơ-đun phong phú có sẵn Node.js giúp nhà phát triển dễ dàng thêm chức bổ sung vào ứng dụng trò chuyện web, chẳng hạn xác thực người dùng lưu trữ liệu 3.2 ReactJS - ReactJS thư viện JavaScript phổ biến để xây dựng giao diện người dùng Dưới số tính năng, lợi ích hạn chế ReactJS, cách chúng sử dụng trò chuyện web: - Đặc trưng: + Kiến trúc dựa thành phần: ReactJS xây dựng dựa kiến trúc dựa thành phần giúp dễ dàng chia giao diện người dùng phức tạp thành phần nhỏ hơn, tái sử dụng + DOM ảo: ReactJS sử dụng DOM ảo để tối ưu hóa hiệu suất, cho phép cập nhật giao diện người dùng cách nhanh chóng hiệu + Ràng buộc liệu chiều: ReactJS sử dụng liên kết liệu chiều, nghĩa liệu chảy theo hướng thông qua cấu trúc phân cấp thành phần, giúp quản lý gỡ lỗi dễ dàng + Cú pháp JSX: ReactJS sử dụng cú pháp có tên JSX, cho phép nhà phát triển viết mã giống HTML JavaScript, giúp tạo quản lý giao diện người dùng dễ dàng - Những lợi ích: + Khả sử dụng lại: Kiến trúc dựa thành phần ReactJS giúp dễ dàng sử dụng lại thành phần phần khác ứng dụng, giảm thời gian phát triển tăng tính quán + Hiệu suất: DOM ảo ReactJS cập nhật hiệu giúp hoạt động nhanh phản hồi nhanh, giao diện người dùng lớn phức tạp + Cộng đồng lớn: ReactJS có cộng đồng nhà phát triển lớn tích cực, người đóng góp cho phát triển tạo mơ-đun hữu ích sử dụng ứng dụng + Dễ học: Vì ReactJS sử dụng công nghệ quen thuộc JavaScript HTML nên nhà phát triển dễ học bắt đầu sử dụng - Hạn chế: + Đường cong học tập: Mặc dù ReactJS dễ bắt đầu, thời gian để thành thạo kiến trúc dựa thành phần tính nâng cao khác + Chức hạn chế: ReactJS tập trung vào phát triển giao diện người dùng, lựa chọn tốt để xây dựng chức back-end phức tạp - Trong trò chuyện web, ReactJS sử dụng giao diện người dùng để tạo giao diện người dùng động phản hồi nhanh Kiến trúc dựa thành phần ReactJS giúp dễ dàng chia giao diện người dùng thành thành phần nhỏ hơn, tái sử dụng, chẳng hạn tin nhắn trò chuyện, phòng trò chuyện danh sách người dùng DOM ảo cập nhật hiệu ReactJS cho phép xử lý cập nhật thông báo theo thời gian thực mà không làm chậm ứng dụng Cuối cùng, cú pháp JSX ReactJS giúp dễ dàng tạo quản lý giao diện người dùng phức tạp, chẳng hạn phịng trị chuyện có nhiều người tham gia hồ sơ người dùng tùy chỉnh 3.3 ExpressJS - ExpressJS khung ứng dụng web phổ biến cho Node.js Dưới số tính năng, lợi ích hạn chế ExpressJS, cách chúng sử dụng trò chuyện web: - Đặc trưng: + Định tuyến: ExpressJS cung cấp hệ thống định tuyến mạnh mẽ cho phép nhà phát triển dễ dàng ánh xạ yêu cầu HTTP tới chức xử lý cụ thể + Phần mềm trung gian: ExpressJS hỗ trợ phần mềm trung gian, chức thực thi trước sau yêu cầu xử lý, cho phép xử lý bổ sung sửa đổi yêu cầu phản hồi + Công cụ tạo khuôn mẫu: ExpressJS hỗ trợ nhiều công cụ tạo khuôn mẫu, giúp dễ dàng hiển thị chế độ xem HTML động dựa liệu từ máy chủ + Xử lý lỗi: ExpressJS cung cấp chế xử lý lỗi đơn giản tùy chỉnh giúp dễ dàng nắm bắt xử lý lỗi cách quán tập trung - Những lợi ích: + Nhanh mở rộng: ExpressJS nhanh hiệu quả, làm cho trở thành lựa chọn tốt để xây dựng ứng dụng web mở rộng để xử lý số lượng lớn yêu cầu + Tính linh hoạt: ExpressJS linh hoạt, cho phép nhà phát triển tùy chỉnh mở rộng để phù hợp với nhu cầu cụ thể ứng dụng họ + Cộng đồng lớn: ExpressJS có cộng đồng nhà phát triển lớn tích cực, người đóng góp cho phát triển tạo mơ-đun hữu ích sử dụng ứng dụng + Dễ học: ExpressJS tương đối dễ học dễ bắt đầu, đặc biệt nhà phát triển quen thuộc với Node.js - Hạn chế: + Đường cong học tập: Mặc dù ExpressJS tương đối dễ học, thời gian để thành thạo tính kỹ thuật nâng cao hơn, chẳng hạn phần mềm trung gian xử lý lỗi 10 + Chức hạn chế: ExpressJS chủ yếu tập trung vào xử lý yêu cầu phản hồi HTTP, đó, khơng phải lựa chọn tốt cho ứng dụng phức tạp yêu cầu chức bổ sung, chẳng hạn xử lý giao tiếp thời gian thực - Trong trò chuyện web, ExpressJS sử dụng phía máy chủ để xử lý yêu cầu phản hồi HTTP, quản lý định tuyến cung cấp chức phần mềm trung gian để xử lý bổ sung Hệ thống định tuyến mạnh mẽ ExpressJS sử dụng để ánh xạ yêu cầu HTTP đến tới chức xử lý cụ thể, chẳng hạn truy xuất tin nhắn trò chuyện cập nhật thông tin người dùng Các chức phần mềm trung gian sử dụng để xử lý tác vụ xác thực, xử lý lỗi xử lý liệu đến từ máy khách Cuối cùng, ExpressJS sử dụng để hiển thị chế độ xem HTML động cách sử dụng công cụ tạo khuôn mẫu, chẳng hạn Tay cầm EJS 3.3 Xampp Chữ X viết tắt hệ điều hành mà hoạt động với: Linux, Windows Mac OS X Apache: Web Server mã nguồn mở Apache máy chủ sử dụng rộng rãi toàn giới để phân phối nội dung Web Ứng dụng cung cấp dạng phần mềm miễn phí Apache Software Foundation MySQL / MariaDB: Trong MySQL, XAMPP chứa hệ quản trị sở liệu quan hệ phổ biến giới Kết hợp với Web Server Apache ngôn ngữ lập trình PHP, MySQL cung cấp khả lưu trữ liệu cho dịch vụ Web Các phiên XAMPP thay MySQL MariaDB (một nhánh dự án MySQL cộng đồng phát triển, thực nhà phát triển ban đầu) PHP: Ngơn ngữ lập trình phía máy chủ PHP cho phép người dùng tạo trang Web ứng dụng động PHP cài đặt tất tảng hỗ trợ số hệ thống sở liệu đa dạng Perl: ngôn ngữ kịch Perl sử dụng quản trị hệ thống, phát triển Web lập trình mạng Giống PHP, Perl cho phép người dùng lập trình ứng dụng Web động 11 IV THỰC NGHIỆM VÀ ĐÁNH GIÁ 4.1 Thiết kế kiến trúc - Kiến trúc web chat bao gồm thành phần giao diện người dùng thành phần phụ trợ Thành phần front-end chịu trách nhiệm trình bày giao diện trị chuyện cho người dùng, thành phần back-end xử lý việc xử lý tin nhắn, lưu trữ truy xuất liệu từ sở liệu - Thành phần giao diện người dùng thường xây dựng khung JavaScript chẳng hạn ReactJS, cho phép tạo giao diện người dùng động tương tác Thành phần giao diện người dùng giao tiếp với thành phần phụ trợ cách sử dụng yêu cầu phản hồi HTTP, thường thông qua API phụ trợ cung cấp - Thành phần back-end xây dựng khung phía máy chủ NodeJS ExpressJS, cho phép tạo logic API phía máy chủ Thành phần back-end chịu trách nhiệm nhận xử lý thông báo từ thành phần front-end, đồng thời lưu trữ truy xuất liệu từ sở liệu - Các thành phần front-end back-end giao tiếp với API, thường dạng RESTful API WebSockets API RESTful cho phép trao đổi liệu front-end back-end cách sử dụng yêu cầu phản hồi HTTP, WebSockets cung cấp kênh giao tiếp hai chiều, thời gian thực front-end back-end - Nhìn chung, kiến trúc trị chuyện web thiết kế để cung cấp giao diện trị chuyện mở rộng, linh hoạt tương tác cho người dùng, đồng thời cung cấp khả lưu trữ truy xuất liệu từ sở liệu đáng tin cậy hiệu 4.2 Thiết kế giao diện -Trang web âm nhạc thiết kế với mục đích cung cấp thơng tin hát, nghệ sĩ kiện âm nhạc cho người dùng Giao diện trang web thiết kế để đơn giản, dễ sử dụng tối ưu hóa trải nghiệm người dùng +Header trang web bao gồm logo trang web, menu 12 tìm kiếm Logo đặt góc trái header để giúp người dùng dễ dàng nhận biết trang web Menu bao gồm liên kết đến trang trang web hát, nghệ sĩ kiện Thanh tìm kiếm đặt phía bên phải header phép người dùng tìm kiếm hát nghệ sĩ cách nhanh chóng +Banner đặt phía trang web sử dụng để quảng cáo kiện âm nhạc album nghệ sĩ Banner bao gồm nút để chuyển đến trang liên quan +Các danh mục Trang web âm nhạc chia thành danh mục hát, nghệ sĩ kiện Các danh mục đặt phía bên trái trang web xếp theo thứ tự ưu tiên Các danh mục trang bị với liên kết đến trang chi tiết để người dùng xem chi tiết hát, nghệ sĩ kiện +Danh sách hát nghệ sĩ Danh sách hát danh sách nghệ sĩ đặt trung tâm trang web Các danh sách thiết kế với kiểu dáng bắt mắt đơn giản để người dùng dễ dàng tìm kiếm thơng tin hát nghệ sĩ Mỗi hát nghệ sĩ hiển thị với hình ảnh đại diện, tên thơng tin ngắn hát nghệ sĩ + Footer trang web bao gồm liên kết đến trang liên quan trang giới thiệu, trang liên hệ trang đăng nhập Ngoài ra, footer bao gồm + Khả truy cập: Điều quan trọng thiết kế giao diện âm nhạc có lưu ý đến khả truy cập, đảm bảo người khuyết tật sử dụng giao diện Điều bao gồm sử dụng độ tương phản màu phù hợp, cung cấp văn thay cho hình ảnh đảm bảo giao diện điều hướng phím tắt - Nhìn chung, giao diện trị chuyện web phải trực quan, thân thiện với người dùng hấp dẫn trực quan, tập trung vào tính dễ sử dụng chức 4.3 Thiết kế sở liệu -Để thiết kế sở liệu cho web âm nhạc, ta cần lưu trữ thông tin hát, nghệ sĩ, album, thể loại, người dùng lịch sử nghe nhạc Dưới số bảng mối quan hệ chúng sử dụng thiết kế sở liệu: 13 -Bảng "Songs": Lưu trữ thông tin hát bao gồm tên hát, nghệ sĩ, album, thể loại, năm phát hành, thời lượng, lời hát, lượt nghe, ngày đăng tải link tới file nhạc +song_id (primary key) +song_name +artist_id (foreign key) +album_id (foreign key) +genre_id (foreign key) +year +duration +lyrics +play_count +upload_date +song_file -Bảng "Artists": Lưu trữ thông tin nghệ sĩ bao gồm tên nghệ sĩ, thông tin liên lạc thông tin hát nghệ sĩ +artist_id (primary key) +artist_name +contact_info +bio -Bảng "Albums": Lưu trữ thông tin album âm nhạc bao gồm tên album, nghệ sĩ, năm phát hành số lượng hát +album_id (primary key) +album_name +artist_id (foreign key) +year +number_of_songs -Bảng "Genres": Lưu trữ thông tin thể loại âm nhạc bao gồm tên thể loại mô tả +genre_id (primary key) +genre_name +description -Bảng "Users": Lưu trữ thông tin người dùng bao gồm tên đăng nhập, mật khẩu, email, ngày sinh thông tin liên hệ +user_id (primary key) +username +password +email +date_of_birth +contact_info -Bảng "Playlists": Lưu trữ thông tin danh sách phát người dùng bao gồm tên danh sách phát, người dùng hát danh sách phát +playlist_id (primary key) 14 +playlist_name +user_id (foreign key) -Bảng "Playlist_Songs": Lưu trữ thông tin hát danh sách phát người dùng bao gồm danh sách phát hát +playlist_id (foreign key) +song_id (foreign key) -Bảng "Listening_History" lưu trữ thông tin lịch sử nghe nhạc người dùng bao gồm thông tin hát nghe, thời gian nghe người dùng +history_id (primary key) +user_id (foreign key) +song_id (foreign key) +timestamp Một số mối quan hệ bảng: Bảng "Songs" có mối quan hệ nhiều-một với bảng "Artists", bảng "Albums" bảng "Genres", hát thuộc nhiều nghệ sĩ, album thể loại khác Bảng "Albums" bảng "Artists" có mối quan hệ nhiều-một nghệ sĩ phát hành nhiều album khác Bảng "Playlists" bảng "Users" có mối quan hệ nhiều-một người dùng có nhiều danh sách phát khác Bảng "Playlist_Songs" có mối quan hệ nhiều-nhiều với bảng "Songs", hát thuộc nhiều danh sách phát khác Bảng "Listening_History" có mối quan hệ nhiều-một với bảng "Users" bảng "Songs", người dùng nghe nhiều hát khác hát nghe nhiều người dùng khác Trên số bảng mối quan hệ sử dụng thiết kế sở liệu cho web âm nhạc Tuy nhiên, cấu trúc sở liệu phù hợp phụ thuộc vào yêu cầu cụ thể dự án nhu cầu người dùng 4.4 Xây dựng ứng dựng - Sign Up: 15 - Login: - Trang chủ: 16 - Tìm kiếm nhạc: -Phát nhạc 17 - Khám phá -Zing chart -Radio live 18 -Thêm nhạc ưa thích -Tải hát ưa thích máy lên - Đăng xuất - 19 V KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN - Nhìn chung sau trình phát triển phần mềm nhóm hồn thành đa số yêu cầu đặt trước xây dựng web chat đơn giản, dễ sử dụng, công khai Những chức nghe nhạc ,thêm nhạc vào mục ưa thích, tìm kiếm hát,tải hát ,nghe nhạc người hát trực tuyến,… - Tuy nhiên thời gian có hạn nên cịn số hạn chế mà nhóm chưa thể khắc phục Chúng em mong nhận đóng góp ý kiến thầy bạn để góp phần hồn thiện đề tài VI TÀI LIỆU THAM KHẢO [1] https://en.wikipedia.org/wiki/Network_socket [2] http://it.die.vn/s/socket/ [3] https://medium.com/@noufel.gouirhate/build-a-simple-chat-app-withnode-js-and-socket-io-ea716c093088 [4]https://www.youtube.com/watch?v=vAecGPWxzFE&t=3267s&ab_ch annel=F8Official 20