0% found this document useful (0 votes)
10 views

Assignment 2

Uploaded by

Шар
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views

Assignment 2

Uploaded by

Шар
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

Assignment 2: Spotify Song Finder

Objective

The goal of this assignment is to build a Spotify Song Finder web application using Node.js,
Express.js, and Spotify API. You will learn to integrate third-party APIs into a Node.js application,
process data dynamically, and display results in a user-friendly format.

Requirements

1. Spotify API Setup:


o Obtain a Client ID and Client Secret by registering an application in the Spotify
Developer Dashboard.
o Store these credentials in a .env file to keep them secure:

SPOTIFY_CLIENT_ID=your_client_id

SPOTIFY_CLIENT_SECRET=your_client_secret

o Use the spotify-web-api-node library for API integration.

2. Install Required Dependencies:


o Run the following command to install the required Node.js packages:

npm install express body-parser spotify-web-api-node dotenv

3. Project Structure:
o Organize your project with the following structure:

/project-directory

- server.js

- .env

- public/

- style.css

- views/

- index.html

o Ensure your code is clean, readable, and well-commented.


4. Functionalities:
o Create a homepage ( / ) with an input form where users can enter a song or artist
name.

o Use Spotify's Track Search endpoint (documentation link) to fetch results based on
the user's query.

o Display the following details for each song:

▪ Song Name

▪ Artist(s)

▪ Album Name

▪ Link to listen to the song on Spotify.

o Display the results dynamically on the same page.

5. Styling:
o Use CSS to create a clean and responsive design for the application.

6. Additional Features:
o Enhance the application by implementing some of the following features:
▪ Display album pictures for each track.

▪ Show the release date of the album or track.


▪ Add filter or sorting functionality (e.g., sort results by popularity, release date,
etc.).
▪ Display additional details such as track duration or preview link.
▪ Any other creative feature to improve the user experience

Submission Guidelines

1. Upload your complete project folder as a .zip file.


2. Ensure all required files are present and functional:
o views/index.html
o public/style.css
o server.js
o .env (optional, but exclude credentials in the submitted version for
security).
3. Include a README.md file in your project directory explaining:
o How to install dependencies and run the application.
o A brief description of the project and its functionality.
Evaluation Criteria

Criteria Description Weight


Project Structure - Proper folder and file 10%
organization
Functionality - Accurate search and result 30%
display
Styling - Clean, responsive, and 10%
user-friendly design
Additional Features - Implementation of creative 15%
and enhanced features
Code Quality - Readable, well-commented, 5%
and organized code
Presentation and Defense - Clear demonstration and 30%
explanation of functionality

Project Defense Requirements

● Language Requirement: The entire defense presentation must be conducted in English.


Presenting in Kazakh or Russian will result in a deduction of points.
● Demonstrate the full functionality of your application:
1. Start with the homepage and show the input form.
2. Enter a search term and demonstrate how the application fetches and displays results.
3. Explain how Spotify API is integrated and how the server processes user queries.
4. Highlight the additional features implemented.

● Defense Focus:

o Start by presenting the topic and functionalities.


o Step-by-step walkthrough of how the application meets each assignment criterion to
save time during evaluation.
o Be ready to answer questions about your code and project organization.

You might also like