Skip to content

dewanshrawat15/soundflow-backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SoundFlow Backend

Server for the web app music player

Setting up

Installing and setting up MongoDB

  • Install MongoDB Community edition
  • Start mongodb as a service
  • Install MongoDB Compass

Installing project dependencies

  • Run yarn or npm install
  • Run yarn start or npm run start to run this project.
  • Add a .env file, with a MONGO_URI variable specifying the mongodb URL, and assign the TOKEN_SECRET variable a value similar to the key hash generated by crypto.randomBytes(128).toString('hex').
  • Add a APP_SECRET variable in the .env file and assign it a value similar to the key hash generated by crypto.randomBytes(16).toString('hex').

Database schema

  • User table schema
  username: {type: String, required: true},
  firstName: {type: String, required: true},
  lastName: {type: String, required: true},
  hash: {type: String, required: true},
  salt: {type: String, required: true}
  • AuthToken table schema
  authToken: {type: String, required: true},
  username: {type: String, required: true}

API Endpoints

/users/all

GET Request

An API endpoint to fetch all users

/users/create

POST Request

An API endpoint that creates a new entry in the users table and an entry in the auth token table for the user.

/users/delete/all

GET Request

An API endpoint that deletes all users and auth tokens from the users table and the auth token tables.

/users/login

POST Request

An API endpoint to authenticate a user, and return an auth token corresponding to the user.

/users/password/update

POST Request

An API endpoint to update password for a user.

/upload/track

POST Request

An API endpoint to upload songs to the SoundFlow backend. An APP Secret header has to be added to verify the authenticity of the upload request.

/tracks

GET Request

An API endpoint that returns the URL to stream songs. An APP Secret header has to be added to verify the authenticity of the request.

/track/:trackID

GET Request

An API endpoint that returns a URL from which a specific song can be streamed if the song ID exists in the database. An APP Secret header has to be added to verify the authenticity of the request.

About

SoundFlow is the backend for a music streaming service.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published