A dynamic platform designed for music discovery and community building among users with similar music interests.
Our Music Recommendation App aims to create a dynamic platform where users can upload and edit their favorite tracks while also discovering new music tailored to their preferences. Further, it fosters community building by enabling users to connect with others having similar music interests. We look forward to bringing our vision to life through this project.
- User registration and secure login system
- Drag-and-drop music upload functionality
- Music recommendation engine for personalized suggestions
- Like and Dislike system to refine recommendations
- User profiles with track metadata editing
- Community features such as Follow and Collaborate
- Genre exploration for music discovery
To set up the Music Recommendation App, follow these steps:
git clone https://github.com/yale-cpsc-419-fa23/project-group-6
cd project-group-6
pip install -r requirements.txt
To download the dataset, please refer to the DATABASE_SCHEMA file for instructions. After downloading the sqlite file and placing it in the app directory, the app is ready to run.
To run the Music Recommendation App:
python run.py
Navigate to the URL provided in the console to access the web application.
/project-group-6
|-- /app
| |-- /controllers
| | |-- __init__.py
| | |-- auth_controller.py
| | |-- main_controller.py
| | |-- music_controller.py
| | |-- settings_controller.py
| | |-- user_controller.py
| |-- /models
| | |-- __init__.py
| | |-- genre.py
| | |-- song.py
| | |-- user.py
| | |-- user_song_create.py
| | |-- user_song_like.py
| | |-- user_user_follow.py
| |-- /uploads
| |-- /utils
| | |-- __init__.py
| | |-- audio_feature_utils.py
| | |-- recommendation_utils.py
| |-- /views
| | |-- /static
| | |-- /templates
| | |-- __init__.py
| | |-- forms.py
| |-- __init__.py
| |-- config.py
| |-- *database.sqlite*
|-- run.py
|-- requirements.txt
- Jiayi Chen
- Kai Gao
- Yue Quan