https://github.com/brys0/spotify-web
A simple and easy to use online webserver for parsing spotify tracks playlists albums artists and more!
https://github.com/brys0/spotify-web
spotify-api spotify-playlist spotify-web spotify-web-api webserver
Last synced: 7 months ago
JSON representation
A simple and easy to use online webserver for parsing spotify tracks playlists albums artists and more!
- Host: GitHub
- URL: https://github.com/brys0/spotify-web
- Owner: brys0
- License: cc0-1.0
- Created: 2021-01-07T21:10:51.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2021-10-15T14:39:31.000Z (about 4 years ago)
- Last Synced: 2025-03-20T06:42:56.097Z (7 months ago)
- Topics: spotify-api, spotify-playlist, spotify-web, spotify-web-api, webserver
- Language: Kotlin
- Homepage:
- Size: 86.7 MB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Spotify-Web

A simple and easy to use online webserver for parsing spotify tracks playlists albums artists and more!# Welcome to Spotify Web
### Lets get started!> Woah what port is this hosted on?
The server will be hosted on port `8080` (You can change this! ⬇️ look below ⬇️) on the machine if your also connecting to it on the same machine just put in your browser (or code) `localhost:8080`
```kotlin
┌───────────────────────────────────────────────Endpoints───────────────────────────────────────────────┐
/ │ The default home page
/track │ Returns a track json object. Requires a valid track id (/track?id=yourid)
/playlist │ Returns a playlist json object. Requires a valid playlist id (/playlist?id=yourid)
/album │ Returns a album json object. Requires a valid album id (/album?id=yourid)
/artist │ Returns a artist json object. Requires a valid artist id (artist/?id=yourid)
/new │ Returns all converted tracks and new hits on spotify
/categories │ Get all categories and their names / images
/user │ Returns a user json object. Requires a valid username (/user?name=YourUsername)
/system/cpu │ Returns cpu thread stats
/system/mem │ Returns memory stats
/system/gc │ Calls the jvm to attempting to garbage collect
/system/cache │ Returns cache stats
/system/cache/clear │ Clears all cache
└──────────────────────────────────────────────────────────────────────────────────────────────────────┘
```> Can I change the database?
Right now currently on this release it only holds data in a HashMap<> or "Cache" effectively, However in the future it should be able to use MongoDB and Redis once we get the bugs figured out!
> Can I change the port of the webserver?
Yes you can! just add `-Dserver.port=YourPort` to your startup looking something like this `java -Dserver.port=9090 -jar ./SpotifyWeb-1.0.0.jar` Will run the default web server on port **9090**
> I need a version for `` when will that be coming out?
Never, unless someone decides to make a version for other programming languages.
### Community Clients[**NodeJS/TS** `SWWrap`](https://github.com/WubzyGD/SWWrap) - [**WubzyGD**](https://github.com/WubzyGD)
> Will there ever be a lighter version of this webserver available?Yes! There should be a version coming out that just uses the raw JRE support, and should shrink the memory usage/jar size by up to 50%
> How can I contribute?
1. Fork this repo
2. Update whatever you were planning
3. Submit a PR with the tag **UPDATE**
4. Wait.Make sure to read the contributing guidelines too! [`Click Here`](https://github.com/brys0/Spotify-Web/blob/master/CONTRIBUTING.md)
> What does each request look like?**Track**
```json
{
"name": String,
"artwork": String,
"artist": String,
"popularity": Int,
"explicit": Boolean,
"duration": Long,
"track_num": Int,
"converted_trk": String
}
```**Playlist**
```json
{
"name": String,
"owner": String,
"description": String,
"followers": Int,
"image": String,
"snapshot": String,
"tracks": Array
}
```
**Album**
```json
{
"name": String,
"artists": String,
"release_date": String,
"popularity": Int,
"image": String,
"label": String,
"total_tracks": Int,
"tracks": Array
}
```
**Artist**
```json
{
"name": String,
"followers": Int,
"genres": Array,
"image": String,
"top_tracks": Array
}
```**New**
```json
{
"Track_Rec": Array
}
```**User**
```json
{
"name": String,
"followers": Int,
"image": String
}
```
**Categories**
```json
{
"names": Array,
"images": Array,
}
```
**System/CPU**
```json
{
"alive": Int,
"parked": Int
}
```
**System/MEM**
```json
{
"total": String,
"max": String,
"available": String,
"used": String
}
```
**System/GC**
```json
{
"gc": Boolean
}
```
**System/CACHE**
```json
{
"tracks": Int,
"playlists": Int,
"albums": Int
}
```
**System/CACHE/CLEAR**
```json
{
"cache": Boolean
}
```Thats alot of response json 👀