A real-time collaborative music playback Android app built with Kotlin and Jetpack Compose. Users can create or join rooms, upload songs, invite members, and control synchronized playback across all connected users β just like a virtual party room!
- π Real-Time Synchronized Music Playback using ExoPlayer and WebSocket
- π Upload Audio Files to Cloudinary during room creation
- π₯ Invite Users to Join Rooms for shared playback control
- π Playback Control Sync: Play, pause, seek, or change song β it reflects for everyone instantly
- π Google Sign-In and Firebase Authentication
- π² Push Notifications using Firebase Cloud Messaging (FCM)
- π WebSocket Communication for room and playback event handling
- π§ Clean Architecture with modular layers and dependency injection (Hilt)
- Kotlin, Jetpack Compose, XML
- ExoPlayer β for audio streaming
- Hilt β for Dependency Injection
- OkHttp WebSocket Client β for real-time communication
- Coroutines & Flows β for async and state handling
- SharedPreferences β for local lightweight data persistence (e.g., auth/session/token)
- Firebase β Authentication, FCM
- Node.js, Express
- Cloudinary β for storing uploaded audio files
- MongoDB β for room and user data
- WebSocket β for real-time messaging and sync