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 |