ThreeMix is a web application that allows users to create custom playlists by selecting a mix of three genres from the Spotify database. Users can also block specific songs or artists from being included in their playlists, ensuring that their music preferences are fully respected.
Clone the Repository
git clone https://github.com/ALLHUBS-Jan-2024-Liftoff/max-group-CJSY.git
cd max-group-CJSY
Set Up the Database
Create a new MySQL database and update the application.properties
file with your database details:
spring.datasource.url=jdbc:mysql://localhost:3306/your-database-name
spring.datasource.username=your-username
spring.datasource.password=your-password
Configure Spotify API
Create a ClientConstants class and put the secret in the folder. This folder is not checked in to GitHub.
package org.launchcode.threemix.secret;
public class ClientConstants {
public static final String CLIENT_ID = "";
public static final String CLIENT_SECRET = "";
}
Build and Run the Application
Use Gradle to build and run the back-end:
Gradle > Tasks > application > bootRun
Use npm to build and run the front-end:
In your terminal:
cd threemix-frontend
npm install
npm run dev
Access the Application
Open your browser and navigate to http://localhost:5173
to access the ThreeMix application.
Login with Spotify: Users need to log in with their Spotify accounts to access their music preferences and playlists.
Create a Playlist: Select three genres to create a playlist.
Block Songs/Artists: Users can block specific songs or artists from appearing in their playlists via the settings.
Manage Preferences: User preferences are saved and can be managed through the profile section.
This project is intended for educational and personal use only. It is not affiliated with or endorsed by Spotify. Usage of this application must comply with Spotify's Developer Terms of Service.
By using this application, you agree that you are solely responsible for your use of any Spotify content and data obtained through the Spotify API. The creators of this application are not liable for any misuse of the Spotify API or for any copyright infringement that may occur through the use of this application.
This version of the README focuses on the essential details about the project, setup, and usage without delving into the specifics of the API endpoints. It should be easier for end-users or developers to understand the project at a glance while still providing all necessary setup and contribution guidelines.