https://github.com/bkeys818/spotify-tools
A website with several tools to use alongside Spotify.
https://github.com/bkeys818/spotify-tools
firebase spotify spotify-web-api svelte sveltejs
Last synced: about 2 months ago
JSON representation
A website with several tools to use alongside Spotify.
- Host: GitHub
- URL: https://github.com/bkeys818/spotify-tools
- Owner: bkeys818
- License: mit
- Created: 2022-07-05T16:11:12.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2024-06-02T16:05:21.000Z (about 2 years ago)
- Last Synced: 2025-02-23T08:45:36.510Z (over 1 year ago)
- Topics: firebase, spotify, spotify-web-api, svelte, sveltejs
- Language: TypeScript
- Homepage: https://spotify-tool.ben-keys.com
- Size: 476 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Spotify Tools
> A site with tools to use alongside Spotify.
[](https://github.com/bkeys818/spotify-tools/actions/workflows/frontend-deploy.yml)
[](https://github.com/bkeys818/spotify-tools/actions/workflows/functions-deploy.yml)
[](https://github.com/bkeys818/spotify-tools/actions/workflows/functions-test.yml)
[](https://github.com/bkeys818/spotify-tools/actions/workflows/check-format.yml)
| Tool | Description |
| ------------------ | ----------------------------------------------------------------------------------- |
| Public Liked Songs | Creates a new public playlist that will sync with your liked tracks every 24 hours. |
| Duplicate Remover | Finds any duplicates in your playlists and allows you to removes them. |
# Contribution
Want to add or modify the sites functionality? Feel free to create an issue or submit a pull request!
This project was build using [SvelteKit](https://kit.svelte.dev) and [Firebase](https://firebase.google.com).
## Guidelines
Please ensure any pull request adhere to the following guidelines:
- Keep descriptions short and simple, but descriptive.
- Use [Gitmoji](https://github.com/carloscuesta/gitmoji) for commits.
- Format your code correctly (`pnpm lint`).
## Project Setup
### Firebase
First, you'll need to set up firebase.
- Install [firebase-tools](https://www.npmjs.com/package/firebase-tools) globally.
- Create a new firebase project for development.
- Set up a Firebase deploy targets named `dev` ([tutorial](https://firebase.google.com/docs/cli/targets#set_up_deploy_targets_for_your_firebase_resources)).
- Replace the [`devConfig`](https://github.com/bkeys818/spotify-tools/blob/main/src/lib/firebase/index.ts#L15) with your development project configuration.
A few more steps for the function tests.
- Modify the firebase project values in [`jest.config.js`](https://github.com/bkeys818/spotify-tools/blob/main/functions/jest.config.js#L7).
- Download a service account key [tutorial](https://firebase.google.com/docs/functions/unit-testing).
### Spotify API
You'll also need to add some Spotify credentials.
- Create a [Spotify API project](https://developer.spotify.com/dashboard/login) for development.
- Create a `.env.development.local` file containing all [`ImportMetaEnv`](https://github.com/bkeys818/spotify-tools/blob/main/src/env.d.ts) properties.
- Set secrets with [Cloud Secrets](https://firebase.google.com/docs/functions/config-env#secret-manager) for the values listed in [`functions/src/env.ts`](https://github.com/bkeys818/spotify-tools/blob/main/functions/src/env.ts).