Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: 10 days 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 (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-06-02T16:05:21.000Z (6 months ago)
- Last Synced: 2024-06-02T17:49:40.344Z (6 months ago)
- Topics: firebase, spotify, spotify-web-api, svelte, sveltejs
- Language: TypeScript
- Homepage: https://spotify-tool.ben-keys.com
- Size: 476 KB
- Stars: 1
- Watchers: 2
- 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.
[![Deploy Frontend](https://github.com/bkeys818/spotify-tools/actions/workflows/frontend-deploy.yml/badge.svg)](https://github.com/bkeys818/spotify-tools/actions/workflows/frontend-deploy.yml)
[![Deploy Functions](https://github.com/bkeys818/spotify-tools/actions/workflows/functions-deploy.yml/badge.svg)](https://github.com/bkeys818/spotify-tools/actions/workflows/functions-deploy.yml)
[![Function Tests](https://github.com/bkeys818/spotify-tools/actions/workflows/functions-test.yml/badge.svg)](https://github.com/bkeys818/spotify-tools/actions/workflows/functions-test.yml)
[![Check Formatting](https://github.com/bkeys818/spotify-tools/actions/workflows/check-format.yml/badge.svg)](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).