基于大数据的音乐推荐系统
项目简介
本项目是一个基于大数据的音乐推荐系统,采用SSM框架、HTML、CSS等技术实现了音乐播放及推荐平台。该平台具备用户登录、歌曲搜索、用户喜好歌曲推荐、热门歌曲推荐等主要功能。通过大数据分析,系统能够根据用户的音乐偏好智能推荐歌曲,减少用户操作,提升使用体验的舒适度和便捷性。
技术栈
- 前端: HTML + CSS + JavaScript + Vue.js + Vue-Router + Vuex + Axios + Element-UI
- 后端: Spring Boot + MyBatis + Hadoop
- 数据库: MySQL
- 开发环境:
- JDK: jdk1.8.0_221
- MySQL: 5.7.35 for Win64 (x86_64)
- Node: v10.16.0
- IDE: IntelliJ IDEA 2021、VSCode/WebStorm
主要功能
- 用户登录: 用户可以通过注册账号并登录系统。
- 歌曲搜索: 用户可以根据歌曲名、歌手名等关键词搜索歌曲。
- 用户喜好歌曲推荐: 系统根据用户的听歌历史和喜好,智能推荐符合用户口味的歌曲。
- 热门歌曲推荐: 系统根据大数据分析,推荐当前热门的歌曲。
系统架构
本系统采用前后端分离的架构设计:
- 前端: 使用Vue.js框架构建用户界面,通过Vue-Router实现页面路由,Vuex管理应用状态,Axios进行HTTP请求,Element-UI提供UI组件。
- 后端: 使用Spring Boot框架搭建服务端,MyBatis进行数据库操作,Hadoop处理大数据分析任务。
数据库设计
系统使用MySQL数据库,存储用户信息、歌曲信息、用户听歌历史等数据。数据库设计包括以下主要表:
user
: 存储用户信息,包括用户ID、用户名、密码等。song
: 存储歌曲信息,包括歌曲ID、歌曲名、歌手名、专辑名等。user_song_history
: 存储用户听歌历史,记录用户ID、歌曲ID、播放时间等。
开发环境配置
- JDK: 安装JDK 1.8.0_221,并配置环境变量。
- MySQL: 安装MySQL 5.7.35,并创建数据库。
- Node.js: 安装Node.js v10.16.0,并配置npm。
- IDE: 使用IntelliJ IDEA 2021或VSCode/WebStorm进行开发。
运行步骤
- 克隆项目到本地。
- 使用IntelliJ IDEA打开后端项目,配置数据库连接,启动Spring Boot服务。
- 使用VSCode/WebStorm打开前端项目,运行
npm install
安装依赖,然后运行npm run serve
启动前端服务。 - 访问前端服务地址,即可使用音乐推荐系统。
贡献
欢迎对本项目进行贡献,包括但不限于代码优化、功能扩展、文档完善等。请提交Pull Request,我们会尽快审核并合并。
许可证
本项目采用MIT许可证,详情请参阅LICENSE文件。
通过本音乐推荐系统,用户可以享受到更加个性化和便捷的音乐体验。希望本项目能够为音乐爱好者提供一个优质的音乐推荐平台。