JukeBox is a web-based music discovery and playlist-sharing app that helps users explore new tracks based on their music taste. With a few favorite songs as input, users receive personalized recommendations powered by Spotify data. They can create, manage, and export playlists, chat with others, and build a social music experience online.
- 🎵 Mood-based and taste-based song recommendations
- 📂 Custom playlist creation and management
- 🔄 Export playlists to Spotify (via Spotify account linking)
- 💬 Real-time chat with other users (group chat support)
- 🛠️ Admin dashboard for user and content management
- 🔐 User authentication (login/signup)
Frontend
- HTML5
- CSS3
- Materialize CSS for UI components and responsive design
Backend
- Node.js & Express.js
- RESTful API (MVC architecture)
- WebSocket for real-time chat
Database
- MongoDB (NoSQL)
Others
- Spotify API for song data and playlist integration
- Docker for containerization (in development and deployment)
- Node.js & npm
- Git
- MongoDB (local or cloud)
- Docker (optional, for containerized setup)
git clone https://github.com/Blitz17/Music-Recommendation
npm installThis is for installation of all modules
node jukebox-backend/setup.jsRun the below command in one terminal
npm startnode jukebox-backend/server.jsand the below command in another one
python jukebox-backend/recom_model/app.pyIn total you will have 2 servers running
🎵 Recommendation API (http://localhost:5000)
📂 Playlist API (http://localhost:3000/api)


