
TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN
TRƯỜNG CÔNG NGHỆ
----------------
KHÓA LUẬN TỐT NGHIỆP
XÂY DỰNG HỆ THỐNG CHIA SẺ BÀI
HÁT TRỰC TUYẾN GROOVIE KẾT
HỢP THANH TOÁN ĐIỆN TỬ VÀ
THUẬT TOÁN PHÂN CỤM ĐỀ XUẤT
BÀI HÁT
Tên sinh viên : Hoàng Đình Hiếu
Giảng viên hướng dẫn : TS. Phạm Xuân Lâm
Hà Nội, 5/2025
2025.2 KHOA HỌC MÁY TÍNH HOÀNG ĐÌNH HIẾU 11212229

TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN
TRƯỜNG CÔNG NGHỆ
----------------
KHÓA LUẬN TỐT NGHIỆP
XÂY DỰNG HỆ THỐNG CHIA SẺ BÀI
HÁT TRỰC TUYẾN GROOVIE KẾT HỢP
THANH TOÁN ĐIỆN TỬ VÀ THUẬT
TOÁN PHÂN CỤM ĐỀ XUẤT BÀI HÁT
Tên sinh viên : Hoàng Đình Hiếu
Mã sinh viên : 11212229
Lớp : Khoa học máy tính K63
Ngành : Khoa học máy tính
Khoa : Công nghệ thông tin
Giảng viên hướng dẫn : TS. Phạm Xuân Lâm
(Chữ ký GVHD)
Hà Nội, 5/2025

i
MỤC LỤC
MỤC LỤC ............................................................................................................... i
LỜI CAM ĐOAN ................................................................................................. iii
DANH MỤC CÁC TỪ VIẾT TẮT ...................................................................... iv
DANH MỤC BẢNG, BIỂU ĐỒ ............................................................................ v
DANH MỤC HÌNH ............................................................................................. vii
DANH MỤC CÔNG THỨC ............................................................................... viii
MỞ ĐẦU ................................................................................................................ 1
CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI ...................................................................... 2
1.1. Lý do lựa chọn đề tài ............................................................................... 2
1.2. Mục đích nghiên cứu ............................................................................... 2
1.3. Phạm vi nghiên cứu ................................................................................. 3
CHƯƠNG 2. CÁC CÔNG NGHỆ SỬ DỤNG ...................................................... 4
2.1. Giao diện hệ thống (Front-end) ................................................................... 4
2.1.1. ReactJS và Typesript ............................................................................. 4
2.1.2. Axios ..................................................................................................... 4
2.1.3. React Router DOM ................................................................................ 5
2.1.4. TailwindCSS ......................................................................................... 5
2.2. Xử lý nghiệp vụ (Back-end) ........................................................................ 5
2.2.1. Java Spring ............................................................................................ 5
2.2.2. FastAPI .................................................................................................. 6
2.3. Lưu trữ dữ liệu ............................................................................................. 7
2.3.1. PostgreSQL ........................................................................................... 7
2.3.2. Minio ..................................................................................................... 7
2.4. Tiền xử lý dữ liệu và đề xuất nội dung ........................................................ 8
2.4.1. Librosa ................................................................................................... 8
2.4.2. DBSCAN (Density-based clustering) ................................................... 8
2.5. Thanh toán điện tử ....................................................................................... 9
2.5.1. StripeAPI ............................................................................................... 9
CHƯƠNG 3. ÁP DỤNG THUẬT TOÁN PHÂN CỤM ĐỀ XUẤT BÀI HÁT
DỰA TRÊN SỞ THÍCH NGƯỜI DÙNG ........................................................... 10
3.1. Giới thiệu thuật toán .................................................................................. 10
3.1.1. Khái niệm thuật toán ........................................................................... 10

ii
3.1.2. Lịch sử phát triển thuật toán ................................................................ 10
3.1.3. Phân loại các thuật toán phân cụm ...................................................... 12
3.1.4. Ứng dụng của thuật toán ..................................................................... 15
3.2. Chi tiết thuật toán áp dụng: DBSCAN ...................................................... 16
3.2.1. Khái niệm thuật toán ........................................................................... 16
3.2.2. Cấu trúc thuật toán .............................................................................. 17
3.2.3. Phân tích độ phức tạp .......................................................................... 21
3.2.4. Điều kiện áp dụng ............................................................................... 21
3.2.3. Cài đặt thuật toán ................................................................................. 22
CHƯƠNG 4. PHÂN TÍCH THIẾT KẾ HỆ THỐNG .......................................... 25
4.1. User story ................................................................................................... 25
4.2. Biểu đồ Usecase ......................................................................................... 27
4.2.1. Biểu đồ Usecase tổng quát .................................................................. 27
4.2.2. Biểu đồ Usecase phân rã ..................................................................... 28
4.3. Biểu đồ trình tự .......................................................................................... 66
4.4. Thiết kế cơ sở dữ liệu ................................................................................ 74
CHƯƠNG 5. CÀI ĐẶT VÀ ĐÁNH GIÁ ............................................................ 78
5.1. Một số giao diện chức năng hệ thống ................................................... 78
5.1.1. Các chức năng nghe nhạc và cá nhân hóa ...................................... 78
5.1.2. Các chức năng đăng kí và quảng bá sản phẩm .............................. 83
5.1.3. Các chức năng quản trị hệ thống .................................................... 85
5.2. Đánh giá kết quả và phương hướng phát triển ...................................... 86
5.2.1. Kết quả đạt được ............................................................................ 86
5.2.2. Hạn chế .......................................................................................... 87
5.2.3. Phương hướng phát triển ................................................................ 88
KẾT LUẬN .......................................................................................................... 90
TÀI LIỆU THAM KHẢO .................................................................................... 91

iii
LỜI CAM ĐOAN
Em xin cam đoan rằng khóa luận tốt nghiệp này là kết quả của quá trình học tập,
nghiên cứu và làm việc dưới sự hướng dẫn và chỉ dạy của thầy Phạm Xuân Lâm.
Toàn bộ nội dung trình bày trong khóa luận được xây dựng dựa trên sự tìm hiểu,
phân tích và tổng hợp từ các nguồn tài liệu đáng tin cậy, cùng với nỗ lực cá nhân
và cũng như sự hỗ trợ thầy hướng dẫn.
Trong suốt quá trình thực hiện, em đã cố gắng để đảm bảo tính chính xác, minh
bạch và trung thực trong từng nội dung. Em luôn tuân thủ nghiêm ngặt các quy
định về trích dẫn tài liệu và bản quyền, đồng thời cũng đã ghi rõ nguồn gốc mọi
thông tin, dữ liệu hoặc ý tưởng tham khảo nhằm bảo đảm tính khoa học và đạo đức
trong nghiên cứu.
Em ý thức rằng khóa luận này không thể tránh khỏi những hạn chế và thiếu sót
nhất định do giới hạn về thời gian, nguồn lực và kinh nghiệm cá nhân. Tuy nhiên,
em xin cam đoan toàn bộ nội dung trong khóa luận là do em trực tiếp thực hiện,
không sao chép từ bất kỳ nguồn nào nếu không có trích dẫn hoặc ghi rõ nguồn.
Em xin hoàn toàn chịu trách nhiệm về nội dung của khóa luận và sẵn sàng tiếp thu
mọi ý kiến đóng góp để hoàn thiện hơn. Em hy vọng rằng khóa luận không chỉ là
kết quả của quá trình học tập mà còn là một bước tiến quan trọng trong việc nâng
cao năng lực nghiên cứu và tư duy khoa học của bản thân.
Em xin chân thành cảm ơn!
Hà Nội, ngày tháng năm 20
Sinh viên
(ký, ghi rõ họ tên)

