Skip to content

JAMMS is a Node.js web application meant to modify, manipulate, and maintain Spotify playlists and libraries in ways that are currently not supported natively or easily within Spotify today.

License

Notifications You must be signed in to change notification settings

iansantagata/JAMMS

Repository files navigation

Site Status Site HTTP Header Security Code of Conduct License

Continuous Deployment Code QL Scan Code Linter

Overview

JAMMS is Just A Music Maintainer for Spotify!

JAMMS is a Node.js web application meant to modify, manipulate, and maintain Spotify playlists and libraries in ways that are currently not supported natively or easily within Spotify today.

The application's primary motivation is to introduce "smart playlist" functionality within Spotify, similar to older versions of iTunes.

The web application can be found here - https://jamms.app

Inspiration

JAMMS was inspired by many applications like it, but in particular PLYLST which has recently been taken offline.

Although PLYLST is open source, JAMMS is meant to approach the same problem for individual users rather than as a service for all users.

Bugs, Features, and Vulnerabilities

For bugs, issues, and features to be developed, see the Issues section of this repository.

For security issues and vulnerabilities, see the Security Policy.

Installation

The following is a small guide on how to run this application from source locally. This section is not necessary for users to interact with the hosted version of this web application currently deployed.

For anyone looking to clone or fork this repository, this is a good place to start to get up and running quickly!

Secrets

This application will not run properly without specific secrets (not included in the repository for security reasons).

For more information on where these secrets come from, see Spotify's documentation on Application Settings.

In a development (local) environment, these secrets come from a development.env file in the environment directory and are hard-coded as key-value pairs. Within the application, the keys and respective values are injected as environment variables.

In a production environment, these secrets are injected via environment variables with the same name as those present in the .env file.

A .env.example file is shown in the environment directory to provide a list of all secrets (environment variables) that are required for this application in both development and production.

To run this application locally:

  1. Within the environment directory off of root, copy the .env.example file to a new file named development.env.
  2. Replace one example value with the appropriate value for each key.
  3. Repeat until all keys have their appropriate values in a environment.

Start-Up

Note - this application requires both Node.js and npm in order to run. You can download both (npm comes with Node.js) here.

In order to start-up the application locally, run npm install in the root directory of the repository. This will pull the necessary packages listed in package.json and package-lock.json from npm (Node Package Manager) into the node_modules/ folder locally.

To start up the application after pulling the dependencies, simply run node index.js in the root directory of the repository. You can instead run nodemon index.js if you wish to make changes and see them updated by node as you save them.

Once the application is started, open a browser and navigate to http://localhost to start to interact with it.

About

JAMMS is a Node.js web application meant to modify, manipulate, and maintain Spotify playlists and libraries in ways that are currently not supported natively or easily within Spotify today.

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks