MuSync is a real-time collaborative music-sharing platform that enables users to upload songs, create or join themed music rooms, and enjoy synchronized playback experiences with others. The application leverages Firebase for authentication, real-time database, and cloud storage to deliver a seamless and interactive musical environment.
Live Demo: Click here
- About
- Development Team
- Key Features
- Technology Stack
- System Requirements
- Project Structure
- App Navigation Guide
MuSync is designed for music enthusiasts who wish to share and listen to music together, in real-time. The platform supports room-based sessions, where users can take turns being the DJ, manage playlists collaboratively, and enjoy synchronized music playback. It also includes a secure user authentication system and song upload functionality.
| Name | GitHub | Contributions |
|---|---|---|
| Benji | @SebastianBenjamin | Core functionality, player synchronization |
| Shravya | @salianShravya | Authentication system, UI components |
- User authentication (login & register)
- Upload and manage personal music tracks
- Create and join music rooms with genre tagging
- Real-time song synchronization across members
- Role-based controls (Player vs Listener)
- Shuffle and repeat modes
- Secure room sharing via URL
- Genre-based filtering
- Frontend: HTML, CSS, JavaScript
- Backend: Firebase (Authentication, Realtime Database, Storage)
- Deployment: Netlify
- Modern web browser (Chrome, Firefox, Edge, Safari)
- Internet connection
- Audio support (HTML5 Audio API compatibility)
/
├── index.html # Main entry point with authentication & navigation
├── upload.html # Page for uploading and managing songs
├── player.html # Page for music room creation and synchronized playback
└── firebase-config # Firebase SDK configurations (inline in HTML)
-
Login / Register Users authenticate via the landing page (
index.html). -
Main Menu After logging in, users choose between:
- Upload Music – Manage their tracks (
upload.html) - Listen Music – Enter music rooms (
player.html)
- Upload Music – Manage their tracks (
-
Upload Page
- Upload songs with title, genre, and artist info
- Preview songs before submission
- Edit or delete previously uploaded songs
-
Room Creation / Join
- Create rooms with passwords and genre tags
- Join existing rooms securely
-
Player Room
- Displays current track, player controls (play, pause, skip)
- Members can be promoted to player
- Real-time updates via Firebase