Spotify Playlist Generator is a React application that allows users to search for songs, create playlists, and save them to Spotify.
- Search Bar: Users can search for songs by entering the query in the search bar.
- Search Results: Displays the search results and allows users to add songs to their playlist.
- Playlist Creation: Users can create a custom playlist by adding their favorite tracks from the search results.
- Playlist Modification: Tracks can be removed from the playlist at any time.
- Save to Spotify: Users can save their custom playlist directly to Spotify.
- Responsive Design: The application is optimized for various screen sizes and devices.
The Header component displays the application's title and navigation menu.
This component provides a text input field for users to enter their search query and a button to initiate the search.
Displays the search results, allowing users to add songs to their playlist. It also provides feedback if no results are found for a search query.
The Tracklist component displays the current playlist tracks, allowing users to remove tracks as needed.
A reusable component that represents a single track. It can be used in both the search results and playlist to show details of a track and allow adding or removing it.
Allows users to view and manage their custom playlist, including naming the playlist and saving it to Spotify.
- React: Utilizes functional components and hooks.
- Material-UI: Used for styling and layout.
To connect to the Spotify API, you'll need to generate an API key. Follow these steps:
- Visit Spotify Developer Dashboard.
- Create a new application and obtain the
Client ID
. - Create a
.env
file in the root of your project and add the following lines:
REACT_APP_SPOTIFY_CLIENT_ID=Your-Client-ID-Here
Replace Your-Client-ID-Here with your actual credentials.
- Clone the repository.
- Install dependencies using `npm install`.
- Run the development server using `npm start`.
Spotify Playlist Generator is a feature-rich and responsive application that provides a seamless experience for creating and managing playlists. It demonstrates effective use of React and Material-UI for building a user-friendly interface.
Contributions and feedback are welcome!