Welcome to the Pulley Shakesearch Take-home Challenge! In this repository, you'll find a simple web app that allows a user to search for a text string in the complete works of Shakespeare.
You can see a live version of the app at https://pulley-shakesearch.herokuapp.com/. Try searching for "Hamlet" to display a set of results.
In it's current state, however, the app is just a rough prototype. The search is case sensitive, the results are difficult to read, and the search is limited to exact matches.
Improve the search backend. Think about the problem from the user's perspective and prioritize your changes according to what you think is most useful.
We will be primarily evaluating based on how well the search works for users. A search result with a lot of features (i.e. multi-words and mis-spellings handled), but with results that are hard to read would not be a strong submission.
- Fork this repository and send us a link to your fork after pushing your changes.
- Heroku hosting - The project includes a Heroku Procfile and, in its current state, can be deployed easily on Heroku's free tier.
- In your submission, share with us what changes you made and how you would prioritize changes if you had more time.
Duration : ~2.5 Hours
Heroku Instance : https://shake-search-avnk.herokuapp.com/
- The Search is now case-insensitive.
- Display the search results in a tabular form for better readability.
- Show the total unique matches irrespective of case for a given result.
- Show Loading message to ensure users have a feedback about the searching at the backend.
- Highlight the matched words in each result row for better readability.
- I am relatively weak in shakespear english style, I would review the document more and try to understand the potential nearest words that can be considered as valid matches.
- Implement document preprocessing and seperate the text into different works.
- Show the work and the matches in the UI.
- Implement Pagination on the UI for better UX.