Music sharing and Streaming web application
This is a full-stack web application built with the MERN (MongoDB, Express, React, Node.js) stack that allows users to share and stream their favorite audio files. Users can create playlists, upload audio files, and explore other users' collections.
Juke.Stream.1.mp4
- User authentication and authorization using JWT tokens.
- User profile page to manage uploaded audio files and playlists.
- Audio file upload with support for multiple file formats.
- Playlist creation and management.
- Audio streaming with player controls (play, pause, skip, etc.).
- Audio visualizer — animated frequency bar display that appears above the player bar whenever a song is playing.
- Responsive design for optimal viewing on any device.
- Node.js 16+ and npm
- MongoDB instance (local or Atlas)
# Frontend dependencies
npm install
# Backend dependencies
cd API && npm install && cd ..Create API/.env:
MONGODB_URI=<your-mongodb-uri>
JWT_SECRET=<your-jwt-secret>
Start the backend (runs on http://localhost:1337):
cd API && node server.jsStart the frontend dev server (runs on http://localhost:5173):
npm run devOpen http://localhost:5173 in your browser.
- Register or log in.
- Upload an audio file via the Upload page.
- Navigate to Explore and click a song card to play it.
- The visualizer (animated frequency bars, cyan → purple gradient) appears above the bottom player bar while the song plays, and fades out when paused or ended.
npm run build # outputs to dist/