Winspot
Spotify mini-player
Install / Use
/learn @Rohith-JN/WinspotREADME
Winspot
A lightweight, always-on-screen Spotify mini-player designed for seamless music control while working. It allows users to manage playback, skip tracks, shuffle playlist, repeat tracks, without switching tabs, making it perfect for coding or other tasks.
🚀 Setup Instructions
1️⃣ Clone the Repository
git clone https://github.com/Rohith-JN/winspot.git
cd winspot
2️⃣ Install Dependencies
npm install
3️⃣ Create a Spotify App
- Go to the Spotify Developer Dashboard.
- Click Create an App.
- Note down your Client ID and Client Secret.
- Specify a Redirect URI (e.g.,
http://localhost:3000/callback). - Save your changes.
4️⃣ Create a .env File
- Copy the
.env.examplefile and rename it to.env. - Fill in the required fields:
SPOTIFY_CLIENT_ID=your-client-id SPOTIFY_CLIENT_SECRET=your-client-secret SPOTIFY_REDIRECT_URI=your-redirect-uri SPOTIFY_REFRESH_TOKEN= URL=absolute-path-to-index.html - The
URLfield should point to the location ofindex.htmlon your machine.
5️⃣ Authenticate with Spotify
- Run the authentication script:
node auth.js - Open a browser and visit:
http://localhost:3000/login - Log in to Spotify and grant permissions.
- After authorization, you’ll be redirected to your Redirect URI.
- Copy the
codefrom the URL and call this endpoint:http://localhost:3000/callback?code=your-code-here - The page will return a refresh token.
- Copy the refresh token and add it to your
.envfile:SPOTIFY_REFRESH_TOKEN=your-refresh-token
6️⃣ Run the Server and Frontend
- Open two terminals:
- First Terminal: Start the backend server:
node index.js - Second Terminal: Start the frontend:
npm start
- First Terminal: Start the backend server:
7️⃣ Start Using the App 🎵
⚠️ Important Notes
- This app requires a Spotify Premium account to work properly.
- Make sure your Redirect URI in the Spotify Developer Dashboard exactly matches what’s in your
.envfile. - If you encounter authentication issues, double-check your Client ID, Client Secret, and Redirect URI.
🤝 Contributing
If you have suggestions or improvements, feel free to submit a pull request!
