GitHunt
FR

francoborrelli/spotify-react-web-client

A complete Spotify clone built with Typescript, React, React Redux, Spotify Web API, and Spotify Playback SDK. This web client replicates the core functionalities of Spotify, including music playback, search, playlists, and user authentication, delivering a seamless user experience.

Spotify Badge React Badge Typescript Badge Redux Badge

๐ŸŽง Spotify React Web Client

Important

Spotify Playback requires users to authenticate with a valid Spotify Premium subscription.

gif

๐Ÿš€ Features

โšก Music Playback: Play songs in real-time using the Spotify Playback SDK.

โšก Playback Controls: Play, pause, next, previous, shuffle, and repeat functionalities.

โšก Music Browsing: Search and explore songs, artists, albums, and playlists.

โšก Playlists Management: Create, edit, and delete personalized playlists.

โšก Saved Playlists and Albums Access: View and play your saved playlists and albums.

โšก Liked Songs: Mark tracks as "liked" and access a dedicated playlist for liked songs.

โšก Playback Devices: Switch between different playback devices (desktop, mobile, smart speakers).

โšก Follow/Unfollow Artists: Follow and unfollow artists to get updates on their new releases.

โšก Artist and Album Pages: Dedicated pages for artists and albums, showcasing top songs, discography, and related artists.

๐Ÿ›  Technologies Used

๐ŸŽต React: For building the user interface with reusable components.

๐ŸŽต React Redux: For global state management and smooth data flow across the app.

๐ŸŽต Spotify Web API: To fetch data like playlists, albums, and user information.

๐ŸŽต Spotify Playback SDK: For real-time music playback control within the web client.

๐Ÿ“ธ Screenshots

More in images folder.

โš™๏ธ Installation & Setup

To run this project locally, follow these steps:

  1. Clone this repository:

    clone https://github.com/francoborrelli/spotify-react-web-client.git
  2. Navigate to the project directory:

    cd spotify-react-web-client
  3. Install dependencies:

    yarn install
  4. Set up your Spotify Developer account and create a new app to obtain your Client ID and Redirect URI. Add these to an .env file in the root of your project:

    REACT_APP_SPOTIFY_CLIENT_ID=<your id>
    REACT_APP_SPOTIFY_REDIRECT_URL=<your redirect uri>
    
  5. Start the development server:

    yarn start
  6. Open your browser and navigate to http://127.0.0.1:3000.

๐ŸŒ 2018 Version

There is also a 2018 version of this Spotify clone, which features the Spotify UI from that year. You can find the code for that version in the main-2018 branch.

Feel free to explore the older version and compare the features and functionality between the two versions.

๐Ÿค Contributions

Contributions are welcome! If you have any suggestions or improvements, feel free to fork the repository, create a new branch, and submit a pull request.

๐Ÿ“ License

This project is licensed under the MIT License. See the LICENSE file for details.

Languages

TypeScript80.9%SCSS15.6%CSS3.3%HTML0.2%Dockerfile0.1%

Contributors

Latest Release

1.0.1October 17, 2021
MIT License
Created September 28, 2018
Updated March 14, 2026
francoborrelli/spotify-react-web-client | GitHunt