# A Fullstack developer exercise This exercise is made to test your abilities to solve a typical fullstack issue. ## Context Basically, you'll need to connect to spotify API to be able to do album searches, then from your Backend API show the current comments, allowing the user to put a comment on a specific album. The FrontEnd part could be developed using your prefeered JS Framework (Angular, React, Vue,...) The Backend must be a Java SE api, using MySQL to store the comments ## API Endpoints The backend must to expose the following endpoints: - GET /search?q=:searchQuery -> Returns a filtered list from Spotify API - GET /album/:albumId -> Returns album details from Spotify API - GET /comments/:albumId -> Returns album comments from MySQL Database - POST /comments -> Create a new comment from MySQL Database - Body: { albumId: String, email: String, text: String } ### Spotify credentials To comunicate to Spotify through our backend, you must have a Spotify access token. To get this access token, login in: https://developer.spotify.com/dashboard/ Create an App and follow the steps - After creating the App, a client_id and a client_secret will be provided - Once you have the keys, create .env file in the backend/ directory with the following env variables: ``` SPOTIFY_CLIENT_ID=<client_id> SPOTIFY_CLIENT_SECRET=<client_secret> ``` ## Front End Sections and functionalities - /albums -> Display the list of albums, each album must be selectable and linked to /albums/:id - /albums/:id -> Display basic album information, title, description. At the botttom COMMENTS SECTION, where you must be able to list the comments and add a new one ## Technical Requirements ### API - Developed with Java SE and MySQL - Use you best Architecture approach to prove your skills - Try to use small code pieces ### Front End - Use components