Skip to content

Client-side application for Vibify, a JavaScript-based Spotify API interaction tool. Features include fetching user's top tracks, creating playlists, getting audio features for a playlist, and a recommendation system.

Justin0122/VibifyClient

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vibify Client

Vibify Client is an npm package that provides a JavaScript interface for interacting with the Vibify API. It allows you to make various API calls to retrieve user information, top tracks, top artists, and more from the Vibify service.

About

Vibify Client fully depends on Vibify.

The Vibify API is a RESTful API that provides access to user data, top tracks, top artists, and more. It is a simple and easy-to-use API that allows you to retrieve user information, top tracks, top artists, and more from the Vibify service. The guide of the API can be found on the GitHub page of the project.

It may soon become a public API, but for now you will need to set up your own server to use the Vibify Client.

Installation

To install the Vibify Client, use the following command:

npm i @vibify/vibify

Usage

To use the Vibify Client, you will need to import the package and create a new instance of the client. You will also need to set the VIBIFY_API_URL and APPLICAITON_ID environment variables to the URL of your Vibify API server and the application ID of your Vibify application.

import Vibify from '@vibify/vibify'
import dotenv from 'dotenv'
dotenv.config()

const client = new Vibify(process.env.VIBIFY_API_URL, process.env.APPLICATION_ID);

You can then use the client to make various API calls to retrieve user information, top tracks, top artists, and more:

const authorize = await client.authorize('username');
const user = await client.getUser('username');
const topTracks = await client.getTopTracks('username');
const topArtists = await client.getTopArtists('username');
const createPlaylist = await client.createPlaylist('username', 'playlistName', "month", "year");
const createRecommendationPlaylist = await client.createRecommendationPlaylist('username', 'genre', 'recentlyPlayed', 'mostPlayed', 'likedTracks', 'currentlyPlaying', 'audioFeatures');
const getAudioFeatures = await client.getAudioFeatures('playlistId', 'userId');

Note:

The createRecommendationPlaylist method accepts a audioFeatures parameter, which can be true or false.

If true, the playlist is based on the user's track audio features, reducing the impact of the genre parameter. This can have unexpected results, as the playlist may not be based on the genre specified.

Example

VIBIFY_API_URL=http://localhost:3000
APPLICATION_ID=your_application_id //The same as the one in the Vibify API
import Vibify from '@vibify/vibify'
import dotenv from 'dotenv'
dotenv.config()

const client = new Vibify(process.env.VIBIFY_API_URL, process.env.APPLICATION_ID);

const user = await client.getUser('user');
console.log(user.body);

const recommendations = await client.createRecommendationPlaylist('user', 'pop', 'true', 'true', 'true', 'true', 'false');
console.log(recommendations.body);

const audioFeatures = await client.getAudioFeatures(recommendations.id, 'user');

console.log(audioFeatures);

About

Client-side application for Vibify, a JavaScript-based Spotify API interaction tool. Features include fetching user's top tracks, creating playlists, getting audio features for a playlist, and a recommendation system.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published