From bbd78006c35178b9d3fa0fc931bc0b65c6c0b399 Mon Sep 17 00:00:00 2001 From: DaveHealS <114851206+DaveHealS@users.noreply.github.com> Date: Mon, 23 Sep 2024 20:27:14 -0400 Subject: [PATCH] Improved README.md - For easier readability, a table of content was added at the top of the readme. - A new Badge now displays the amount of open issues. This helps new people see the amount of chances to contribute. - Rewrote introduction to outline the project more clearly - To highlight the features of this project, a new feature section was created. - To visualize and give a quick tutorial on the project's workflow, a guide was added. - To help new people with the installation process, more detailled commands were added. This includes the installation of the required pnpm, as well as needed git commands - To standardize other user's contributions to this project, a new section was created in the readme. It includes needed commands as well as a tip concerning large changes - For better visibility, a link to the license was added at the bottom of the readme. --- README.md | 68 +++++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 59 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index c8fbb91..cac4e49 100644 --- a/README.md +++ b/README.md @@ -1,28 +1,64 @@ # Spotify Deduplicator [![Greenkeeper badge](https://badges.greenkeeper.io/JMPerez/spotify-dedup.svg)](https://greenkeeper.io/) +[![GitHub issues](https://img.shields.io/github/issues/JMPerez/spotify-dedup)](https://github.com/JMPerez/spotify-dedup/issues) -Have you ever wanted to remove duplicated songs from your Spotify library? Now you can find and remove them using Spotify Dedup. +## Table of Contents +1. [Introduction](#introduction) +2. [Features](#features) +3. [Usage](#usage) +4. [Installation](#installation) +5. [Testing](#testing) +6. [About the Tools Used](#about-the-tools-used-and-implementation-details) + - [Spotify Web API and Promises](#spotify-web-api-and-promises) +7. [Contributing](#contributing) +8. [License](#license) -This project uses the [Spotify Web API](https://developer.spotify.com/web-api/) for managing playlists. Just log in and it will traverse your playlists, finding songs that appear multiple times with the same identifier (Spotify URI) in a given playlist. -If it finds duplicates, they can be removed just pushing a button. And since it doesn't create a whole new playlist, it keeps all the information like creation date and subscribers. +## Introduction +Have you ever wanted to remove duplicated songs from your Spotify library? Now you can find and remove them using Spotify Dedup. Spotify Deduplicator is a simple and effective tool for cleaning up your Spotify library. Just log in and it will traverse your playlists, finding duplicate songs. It uses the [Spotify Web API](https://developer.spotify.com/web-api/) to identify songs that appear multiple times in a given playlist. With the press of a button, you can remove duplicate tracks from your playlists and liked songs. It saves time and effort by avoiding the need to manually check for duplicate entries, which can be especially useful for users with large music libraries. No playlists are re-created, ensuring all metadata like creation dates and followers are preserved. -## Try it +## Features +- **Automatic Duplicate Detection**: Finds duplicate tracks in playlists and liked songs. +- **Detect all duplicate**: Finds duplicates that Spotify does not detect by comparing ID, title, artist, and duration similarity. +- **Playlist Integrity**: Removes duplicates without creating new playlists, retaining original creation dates and follower counts. +- **Save Time and Effort**: No more manually searching for duplicates. Spotify Deduplicator scans your entire library efficiently. +- **Cross-Platform**: Works directly in your browser or can be run locally. + +## Usage You can check it out on [https://spotify-dedup.com](https://spotify-dedup.com) or run it locally. +1. Login with your Spotify account. +2. Once logged in, your playlists and liked songs will automatically be scanned. +3. Review detected duplicates for each playlist. +4. Remove all duplicates in one playlist by clicking the removal button. -## Install and run +Scan results +![image](https://github.com/user-attachments/assets/291641a6-49f3-40b7-924e-f59b6ae5c518) -Install the dependencies: +After deduping +![image](https://github.com/user-attachments/assets/4e4a6f82-cb39-449f-a39b-6f2f7519e03d) - pnpm install -Run it: +## Installation + +You will need NPM and therefore Node.js installed for this project. Check the [installation guide](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) for NPM. + +Also, ensure you have **pnpm** installed. If you don't have it, install it using the following gcommand: + + npm install -g pnpm + +Now, clone the repository and install dependencies:: + + git clone https://github.com/JMPerez/spotify-dedup.git + cd spotify-dedup + pnpm install + +Run it locally: pnpm dev -Then open http://localhost:3000 in a browser +Then, open your browser and navigate to http://localhost:3000. ## Testing @@ -33,3 +69,17 @@ In order to test saved tracks, create duplicated tracks by executing the Web API ### Spotify Web API and Promises This app is a good example of how to traverse a user's library without incurring in rate limit. Have a look at the code and see how Promises and a Promise Queue are used to control the amount of requests sent to the Spotify Web API. If you are interested in throttling promises, check out [promise-throttle](https://github.com/JMPerez/promise-throttle). + +## Contributing +Contributions are welcome! Feel free to open issues or submit pull requests. + +1. Fork the repository. +2. Create a new branch (`git checkout -b feature-branch`). +3. Make your changes. +4. Commit and push your changes (`git commit -m "Add feature"`). +5. Open a pull request. + +For larger changes, it is recommended to open an issue first to discuss your ideas. + +## License +This project is licensed under the MIT License. See the [LICENSE](./LICENSE) for details.