Will-WHyd / Jukebox_Hackathon_WPJ

Hackathon Project 1, with Will, Paddy, and Jack
1 stars 2 forks source link

Jukebox Hackathon Project

Jukebox is a site that aims to give music lovers a useful resource for finding information about their favorite songs. The site is targeted to fans of music who want immediate access to song lyrics, atist details, and music videos. Jukebox will be useful to anyone who wants a one-stop resource for lyrics and videos.

Developed by William Waldron-Hyden, Patrick Walsh, and Jack Brosnan

Initial balsamiq wireframe

Features

Existing features

Features left to Implement

Testing

We tested the API result population using a prefilled test card which would then be populated with the information. Due to limits on the public APIs used, we needed to repeatedly refresh the API keys.

We encountered a number of visual layout bugs due to responsive design issues. We re-approached the design from the ground up to implement new responsiveness styling.

Validator testing

Currently undergoing validation testing.

CSS validation has 1 error. Working through multiple HTML validation issues.

Project all works correctly and displays as desired.

Unfixed Bugs

1.Query Matching for Song Search

Description:

Currently, the search functionality attempts to match the user’s song query to the most relevant song in the results returned from the Genius API. The system has been designed to handle minor discrepancies by making the matching criteria more lenient, such as removing special characters, normalizing case, and removing extra spaces. However, this approach is limited in its ability to handle more significant user input issues, such as spelling mistakes or typos.

Impact:

Users may not receive the correct song if the query contains spelling errors. The system may fail to retrieve the most relevant song even if a close match is available, leading to inaccurate search results. Cause: The matching function only performs basic string formatting and normalization but does not incorporate advanced techniques such as fuzzy matching, which would allow the search to account for misspellings or approximate matches.

Previous Efforts:

Special characters and double spaces are removed from both the user input and API results. Converting input and results to lowercase was implemented. Despite these measures, the system remains unable to handle common spelling mistakes or incomplete search queries effectively.

Possible Solutions:

Implementing Levenshtein distance string metric to improve matching accuracy. Integrating a third-party API that suggests corrections for common spelling mistakes before submitting the query to the Genius API.

Deployment

In the GitHub repository, navigate to the Settings tab From the source section drop-down menu, select the Master Branch Once the master branch has been selected, the page will be automatically refreshed with a detailed ribbon display to indicate the successful deployment. The live link can be found here - https://github.com/Will-WHyd/Jukebox_Hackathon_WPJ/deployments/github-pages

Credits

Hero image and search icon from https://www.pexels.com/ Icons from font awesome. Fonts from google fonts. Genuis API and Youtube API Framework used was bootstrap 5