The user can search for media by typing in a search term into the search box and clicking the 'Search ๐' button to perform the search. The user can filter the types of media to search for by typing the search term into the search box, selecting a media radio button/s and then clicking the 'Search ๐' button. Once the search results are displayed the user can then interact with them by clicking on any of the search results which will take the user to the website where more information can be seen, read and heard about that search result. The user can also click on the heart icon which will add that song to the user's list of favourites โค๏ธ. The user can remove an item from their list of favourites by clicking the 'X' button next to the item in the favourites list.
- Navigate to https://github.com/ChadProbert/media-search in the web browser.
- Click the green 'Code' dropdown button and click 'Download Zip'
- Once download is complete open the zip file and extract the contents to the desktop
- Open the terminal.
- Navigate to the backend directory (cd backend).
- Type 'npm install' and press 'Enter'.
- Wait for installation to complete.
- Open the terminal.
- Navigate to the frontend directory (cd frontend).
- Type 'npm install' and press 'Enter'.
- Wait for installation to complete.
- Open the terminal.
- Navigate to the backend directory (cd frontend).
- Type 'npm start' and press 'Enter'.
- Wait for the confirmation message "Listening on PORT 5000".
- Open the terminal.
- Navigate to the frontend directory (cd frontend).
- Type 'npm start' and press 'Enter'.
- Wait for the web browser to start or navigate to localhost:3000 inside the web browser.
- Ensure that the backend is running.
- Open the terminal.
- Navigate to the backend directory (cd backend).
- Type 'npm test' and press 'Enter'.
- Wait for the tests to give a response in the terminal.
- Ensure that the frontend is running.
- Open the terminal.
- Navigate to the frontend directory (cd frontend).
- Type 'npm test' and press 'Enter'.
- Wait for the tests to give a response in the terminal.
Applied Helmet security to the Express app.
- Protects the app from well-known web vulnerabilities by setting HTTP headers appropriately.
- Prevents cross-site scripting attacks.
- Enforces secure (HTTPS) connections to the server.
- Protects from clickjacking
Reference: https://expressjs.com/en/advanced/best-practice-security.html
This application has not made use of API keys. I could not find information about the use of API keys on the iTunes Store API documentation page.