Skip to content

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.

Notifications You must be signed in to change notification settings

SebastianBenjamin/MuSync

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

image MuSync

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


📝 Table of Contents


📖 About

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.


👨‍💻 Development Team

Name GitHub Contributions
Benji @SebastianBenjamin Core functionality, player synchronization
Shravya @salianShravya Authentication system, UI components

🚀 Key Features

  • 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

🧰 Technology Stack

  • Frontend: HTML, CSS, JavaScript
  • Backend: Firebase (Authentication, Realtime Database, Storage)
  • Deployment: Netlify

💻 System Requirements

  • Modern web browser (Chrome, Firefox, Edge, Safari)
  • Internet connection
  • Audio support (HTML5 Audio API compatibility)

🗂 Project Structure

/
├── 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)

🧭 App Navigation Guide

  1. Login / Register Users authenticate via the landing page (index.html).

  2. Main Menu After logging in, users choose between:

    • Upload Music – Manage their tracks (upload.html)
    • Listen Music – Enter music rooms (player.html)
  3. Upload Page

    • Upload songs with title, genre, and artist info
    • Preview songs before submission
    • Edit or delete previously uploaded songs
  4. Room Creation / Join

    • Create rooms with passwords and genre tags
    • Join existing rooms securely
  5. Player Room

    • Displays current track, player controls (play, pause, skip)
    • Members can be promoted to player
    • Real-time updates via Firebase

About

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.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages