SoundMonster is a modern Media Player App designed to provide users with a seamless and personalized music experience. Built using cutting-edge Android technologies, the app allows users to select their favorite artists, fetch their albums, and enjoy smooth music playback with intuitive controls.
Check out the demo on YouTube: Watch on YouTube
-
Personalized Music Experience:
Easily select your favorite artists and fetch their albums using the Spotify Web API. -
Background Music Playback:
Enjoy uninterrupted music, powered by Foreground Service and Bound Service. -
Smart Media Controls:
Control playback directly from the notification tray with MediaStyle notifications provided by Google. -
Modern UI:
Built with Jetpack Compose for a sleek, responsive, and user-friendly interface.
- Architecture: MVVM (Model-View-ViewModel)
- UI: Jetpack Compose
- Dependency Injection: Dagger Hilt
- Music Data: Spotify Web API
- Networking: Retrofit
- Image Loading: Coil
- Background Services: Foreground Service and Bound Service
Follow these steps to set up the project on your local machine:
-
Clone the Repository:
git clone https://github.com/adi0515sharma/SoundMonster.git
-
Open the Project:
Open the project in Android Studio.
Add Spotify API Credentials:
Navigate to
\app\src\main\java\com\kft\soundmonster\utils\Constants
Replace the placeholders for CLIENT_ID and CLIENT_SECRET with your own credentials from the Spotify Developer Dashboard. -
Sync the Project with Gradle:
In Android Studio, click on File > Sync Project with Gradle Files to ensure all dependencies are downloaded and configured.
- Thanks to Spotify for providing the Web API.
- Huge shoutout to the Android community for guidance and support.