/back_end

Primary LanguageJavaScriptMIT LicenseMIT

BACKEND

Deployed Backend: https://spotify-song-suggestor-be.herokuapp.com/

Spotify-recommendation-engine-3 is a full-stack web application that was built during a "build week" by Lambda School students. Each student fulfills a role in the project to collectively build the application.

Spotify-recommendation-engine-3 gives users a site where they can add their favourite songs to a buket and get suggestions for similar songs.

##Using


  • Node.js - JavaScript runtime for executing JavaScript at the server outside the browser
  • Express.js - Lightweight web framework to bootstrap Node.js APIs
  • SQLite - Super lightweight database to bootstrap development environments
  • PostgreSQL - An advanced object-relational database for production environments
  • Knex.js - A SQL query builder that helps abstracting migrations and DDLs for different database types into a single coherent structure
  • Knex-Cleaner - Helper library to clean a PostgreSQL, MySQL or SQLite3 database tables using Knex
  • Bcrypt.js - A module to help make passwords more secure
  • CORS - A Node.js package for providing a Connect/Express middleware that can be used to enable CORS with various options
  • Helmet - A collection of 14 smaller middleware functions that set HTTP response headers
  • JWT - JSON Web Token for authorization and client side tokens for security
  • Supertest - A test module for HTTP assertions
  • Jest - A simple JavaScript testing framework
  • Dotenv - a zero-dependency module that loads environment variables from a .env file into process.env

##BASEURL

Endpoint Request Type Request Response
/api/auth/register POST {username: "", password: "", email: ""} {id: automatically generated by server, password: encrypted string, email: user email}
/api/auth/login POST {username: "", password: ""} {token , welcome: username }
/api/faves POST {track_id: "", track_title: "", user_id: ""} {id: automatically generated by server, track_id: "", track_title: "",user_id: ""}
/api/faves/:userId GET Array of objects containing track id and track title
/api/faves/:userId/:trackId DELETE A "deleted" message