My first Portfolio Project

Today marks the official end of phase 1 of my Flatiron journey, and the deadline for our first portfolio project. For this project, we had to create an app that would display data from an API or website in a user friendly way. I decided to take advantage of Datamuse’s API, which contains information for thousands of words, including definitions, synonyms, and more. My goal was to create an app that would take in words from user inputted text, and allow the user to select information about the word via a dictionary function or thesaurus function. Additionally, a user can input a sentence and have the app try to spellcheck the sentence, offering alternate spellings to words that don’t return a definition from the API.

I first thought this would be simple, and was soon proven wrong. This project really tested my knowledge on arrays and hashes, and pushed my understanding of object-orientation. In addition, outlier words such as certain particles and constructors, as well as two-part words like “house fly” would often break my code.

The spellcheck function was arguably the most ambitious feature of the app. In order to prevent returning a list of hundreds of possible spelling suggestions, I tried to have the app output the list in ‘pages’, displaying 10 results per page. The user would then be able to navigate using the left and right arrow keys before making a selection. Keeping my code concise during this stage proved challenging, but made for a really cool feature in the end.

This accuracy of the spellchecking is not guaranteed, since some words simply do not have a definition associated with it on the API. However, I plan to expand upon the algorithm and take advantage of the API’s ‘score’ data for determining matches in order to output more relevant results.

You can download and try out my app at:
https://github.com/dle-github/CLI_Diction