From 78ef92bbe2c39b4c28099b834fe32689d5abd1cb Mon Sep 17 00:00:00 2001 From: jdmedlock Date: Sat, 20 Apr 2019 17:45:46 -0500 Subject: [PATCH] Feature: Add Word Frequency app specification Add Word Frequency app specification Resolves: N/a See also: N/a --- Projects/Word-Frequency-App.md | 43 ++++++++++++++++++++++++++++++++++ README.md | 1 + 2 files changed, 44 insertions(+) create mode 100644 Projects/Word-Frequency-App.md diff --git a/Projects/Word-Frequency-App.md b/Projects/Word-Frequency-App.md new file mode 100644 index 00000000..875fff8f --- /dev/null +++ b/Projects/Word-Frequency-App.md @@ -0,0 +1,43 @@ +# Word Frequency + +**Tier:** 1-Beginner + +Calculating the frequency of words in a block of text is a technique which has +various uses in algorithms such as searching, sorting, and semantic analysis. +The objective of the Word Frequency app is count the frequency of words in a +block of text and create a tabular display of each unique word in the text +along with its frequency, in descending order by frequency. + +## User Stories + +- [ ] User can see a text input box, a 'Translate' button, and a word +frequency table. +- [ ] User can enter text (or cut and paste) into the input box. This input +box must allow the entry of large blocks of text (maxiumum of 2048 characters). +- [ ] User can click the 'Translate' button to analyze the word frequency in +the text that has been input. +- [ ] User can see an error message if the text input box is empty. +- [ ] User can see the word frequency table populated when the 'Translate' +button is clicked. Each row in the table contains a word and the number of times +it occurs in the input text. +- [ ] User can see the word frequency table ordered in descending sequence +by word frequency. + +## Bonus features + +- [ ] User can see a graphical representation of the word frequency in a +bubble chart, column chart, or any other form of graphical representation the +developer chooses. +- [ ] User may choose to enter the URL of a web page whose content is to be +analyzed instead of manually entering text. (Hint: See the +[Podcast Directory](./Podcast-Directory-App.md) application for ideas). + +## Useful links and resources + +- [Bag of Words Model (Wikipedia)](https://en.wikipedia.org/wiki/Bag-of-words_model) +- [Semantic Analysis (Wikipedia)](https://en.wikipedia.org/wiki/Sentiment_analysis) + +## Example projects + +- [Word Frequency Counter](https://codepen.io/maxotar/pen/aLrwJM) +- [Bubble Chart](https://codepen.io/Quendoline/pen/pjELpM) diff --git a/README.md b/README.md index 54a482d7..69033dae 100644 --- a/README.md +++ b/README.md @@ -64,6 +64,7 @@ required to complete them. | [:star2: Stopwatch App](./Projects/Stopwatch-App.md) | Count time spent on activities | 1-Beginner | | [TrueOrFalse](./Projects/True-or-False-App.md) | Identify the result of a conditional comparison | 1-Beginner | | [Wind Chill](./Projects/Windchill-App.md) | Calculate the windchill factor from an actual temperature | 1-Beginner | +| [🌟Word Frequency](./Projects/Word-Frequency-App.md) | Calculate word frequency in a block of text | 1-Beginner | ### Tier-2: Intermediate Projects