Skip to content

Spotify clone with extra functionalities, remove duplicate/corrupted songs from playlists, synced picture in picture lyrics, artist concert setlists, single tracks recommendations ("radio")

Notifications You must be signed in to change notification settings

MarcoMadera/Rindu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rindu

Project running at https://rindu.marcomadera.com

Running Locally

git clone https://github.com/MarcoMadera/Rindu.git
cd Rindu
npm install
npm run dev

For the project to work properly a .env.local file similar to .env.example is required.

Rindu/.env.example

Lines 1 to 8 in 9c9a1d1

NEXT_PUBLIC_SPOTIFY_CLIENT_ID=
NEXT_PUBLIC_SPOTIFY_REDIRECT_URL=http://localhost:3000/dashboard
NEXT_PUBLIC_SITE_URL=http://localhost:3000
NEXT_PUBLIC_ENABLE_PKCE_AUTH="true" # Set to "true" to enable PKCE auth if "false" SPOTIFY_CLIENT_SECRET is required
SETLIST_FM_API_KEY=
LAST_FM_API_KEY=
FAN_ART_TV_API_KEY=
HMAC_SECRET="any hash to encrypt the parameters passed to the OG image"

To get the client ID, go to Spotify Developer Dashboard.

If PKCE_AUTH is false you will need SPOTIFY_CLIENT_SECRET from Spotify Developer Dashboard. SPOTIFY_CLIENT_SECRET it is only used server side and never exposed client side.

Create a new app and copy the client ID.

Create a .env.local file and paste the client ID as the example .env.example.

In the Spotify Developer Dashboard for your app, go to "edit settings" and click "Add redirect URI" and paste the following URL: http://localhost:3000/dashboard

You can get the SETLIST_FM_API_KEY here and paste it into the .env.local.

Important: The .env.local file with client ID and API keys is not pushed to GitHub.

Now you can run the project locally.

npm run dev

Components

For a better understanding of the components used in this project, please visit the live component collection

Tests

To run tests of your changes locally use:

npm run test

You can find the coverage of the tests at coverage.rindu.marcomadera.com.

About the project

Built with ReactJs/NextJs. It started as a simple script to clean Spotify playlists. It served as a way to clean my playlists and learn how to use the Spotify API.

It has been taking shape similar to what a clone of Spotify is. It is intended to add features such as creating dynamic playlists, advanced search, and background noises.

Video

Rindu.un.clon.de.Spotify.mp4

Images

Home

Dashboard

About

Spotify clone with extra functionalities, remove duplicate/corrupted songs from playlists, synced picture in picture lyrics, artist concert setlists, single tracks recommendations ("radio")

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages