This project is a Spring Boot application designed to synchronize a YouTube playlist with a Spotify playlist. It allows users to seamlessly transfer their favorite YouTube playlist tracks to Spotify, enabling easy access to their preferred music across platforms. You can try this on : Spotify Youtube Sync
- Fetches YouTube playlist data using the YouTube Data API.
- Searches for corresponding tracks on Spotify using the Spotify Web API.
- Adds matching tracks to a user's Spotify playlist.
- Supports authentication for both YouTube and Spotify APIs.
- Utilizes Flyway for database migration.
- Spring Boot: Provides the foundation for building the application, simplifying configuration and development.
- YouTube Data API: Used to retrieve information about YouTube playlists and their respective videos.
- Spotify Web API: Used to search for tracks on Spotify and add them to playlists.
- Flyway: Handles database schema evolution through migrations.
- Maven: Dependency management and build automation.
- OAuth 2.0: Authentication mechanism for accessing YouTube and Spotify APIs securely.
- RESTful API: Exposes endpoints for interacting with the application.
-
Clone the repository:
git clone https://github.com/KushParsaniya/spotify-youtube-sync.git
-
Navigate to the project directory:
cd spotify-youtube-sync
-
Set up API credentials:
- Obtain API credentials for YouTube Data API and Spotify Web API.
- Add these credentials to the application properties or environment variables.
-
Run Flyway migrations:
mvn flyway:migrate
-
Build the project:
mvn clean install
-
Run the application:
mvn spring-boot:run
-
Access the application at
http://localhost:8080
.
- Authenticate with YouTube and Spotify APIs using OAuth.
- Enter the URL of the YouTube playlist you want to sync.
- Choose the Spotify playlist to which you want to add the tracks.
- Click the sync button to start the synchronization process.
- Sit back and relax as the application fetches tracks from YouTube and adds them to your Spotify playlist.
Contributions are welcome! If you'd like to contribute to this project, please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature/my-feature
). - Make your changes.
- Commit your changes (
git commit -am 'Add new feature'
). - Push to the branch (
git push origin feature/my-feature
). - Create a new Pull Request.