By: T10-3 Since: Oct 2018 Licence: MIT

1. Introduction

LearnVocabulary is for those who prefer to use an offline version of the dictionary for learning purposes.

More importantly, LearnVocabulary is optimized for those who prefer to work with a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI).

If you can type fast, LearnVocabulary can fetch the words faster than searching it on the website.

Interested? Jump to the Section 2, “Quick Start” to get started. Enjoy!

2. Quick Start

  1. Ensure you have Java version 9 or later installed in your Computer.

  2. Download the latest dictionary.jar here.

  3. Copy the file to the folder you want to use as the home folder for LearnVocabulary

  4. Double-click the file to start the app. The GUI should appear in a few seconds.

  5. Type the command in command box and press Enter to execute the command. E.g, typing help and pressing Enter will open the help window.

  6. Refer to Section 3, “Features” for details of each command.

3. Features

Command Format

  • Words in UPPER_CASE are the parameters to be supplied by the user e.g. in add n/WORD, WORD is a parameter which can be used as add n/levitate.

  • Items in square brackets are optional e.g n/WORD [t/TAG] can be used as n/levitate t/Easy or as n/levitate.

  • Items with ​ after them can be used multiple times including zero times e.g. [t/TAG]…​ can be used as   (i.e. 0 times), t/Easy, t/Ability t/Testing etc.

3.2. Adding a word: add

Adds a word to the vocabulary list
Format: add n/WORD m/MEANING [t/TAG]…​

A word can have any number of tags provided the groups of the tags are already created. Words that are added without tags will be added to the toLearn group by default

Examples:

  • add n/levitate m/to float or fly t/Test

  • add n/levitate m/to float or fly t/Test t/RealTest (Each tag is contained in their own prefix t/)

  • add n/levitate m/to float or fly (toLearn tag will be attached to word by default)

Group (tag) must already exist (been created) by user. The only default tag that has no need to be created is the "toLearn" tag.

3.3. Learning a word: learn

With the access of an internet connection, the user can enter learn [word] and the application will query the word’s definition.

Format: learn happy

It will then be attached to a default tag called toLearn, for easier reference for the user.

Examples:

  • learn happy

Queries the meaning on dictionary.com and attaches a default tag (toLearn) to the word.

This function does not accept multiple entries.

3.4. Listing all word : list

Shows a list of all words in the address book.
Format: list

3.5. Editing a word : edit

Edits an existing word in the vocabulary list.
Format: edit INDEX [n/NAME] [m/MEANING] [t/TAG]…​

  • Edits the word at the specified INDEX. The index refers to the index number shown in the displayed vocabulary list. The index must be a positive integer 1, 2, 3, …​

  • Name and Meaning class must have their fields filled in eg: add n/hello m/a greeting.

  • Existing values will be updated to the input values.

  • When editing tags, the existing tags of the word will be removed i.e adding of tags is not cumulative.

  • There will be at least one tag to each word, so it is enforced that no edits allow for 0 tags per word.

Examples:

  • edit 1 m/diabolic magic or art
    Edits the meaning of the first word to diabloic magic or art.

  • edit 1 t/darkarts
    Edits the tag of the first word to darkarts, replacing every other tag.

  • edit 1 t/darkarts t/magical
    Edits the tag of the first word to darkarts and magical, replacing every other tag.

  • edit 1 t/
    Fails to remove all tags as there must be at least one tag attached to every word.

Group (tag) must already exist (been created) by user. The only default tag that has no need to be created is the "toLearn" tag.

3.6. Locating word by name: find

Finds words whose names contain any of the given keywords.
Format: find KEYWORD [MORE_KEYWORDS]

  • The search is case insensitive. e.g levitate will match Levitate

  • The order of the keywords does not matter.

  • Only the name is searched.

  • Only full words will be matched e.g. levi will not match levitate

  • Persons matching at least one keyword will be returned.

Examples:

  • find levitate
    Returns levitate

3.7. Showing word by different group: showgroup

(1). Shows all the existed group.
Format: showgroup

  • the group name is now set to be four per line

(2). Shows word inside some particular group.
Format: showgroup GROUPNAME

  • can only show those existed group

Examples:

  • showgroup toLearn
    Returns all the word inside group toLearn

3.8. Creating a new empty group: groupadd

Creates a new group.
Format: groupadd GROUPNAME

  • the group name cannot be dublicately added

  • after clear, all the added group would also be cleared except the default toLearn group

Examples:

  • groupadd mustLearn
    Creates a new empty group called mustLearn

3.9. deleting an existing group: groupdelete

Deletes a existed group with all the word inside.
Format: groupdelete GROUPNAME

  • the group must has existed

  • after clear, words which do not belong to any group would be deleted automately also

Examples:

  • groupdelete mustLearn
    Deletes group mustLearn and all the words inside

3.10. Deleting a word : delete

Deletes the specified word from the vocabulary list.
Format: delete INDEX

  • Deletes the word at the specified INDEX.

  • The index refers to the index number shown in the displayed vocabulary list.

  • The index must be a positive integer 1, 2, 3, …​

Examples:

  • list
    delete 2
    Deletes the 2nd word in the vocabulary list.

  • find levitate
    delete 1
    Deletes the 1st word in the results of the find command.

3.11. Selecting a word : select

Selects the word identified by the index number used in the displayed vocabulary list.
Format: select INDEX

  • Selects the person and loads a page displaying the word and its meaning at the specified INDEX.

  • The index refers to the index number shown in the displayed vocabulary list.

  • The index must be a positive integer 1, 2, 3, …​

Examples:

  • list
    select 2
    Selects the 2nd word in the vocabulary list.

  • find computing
    select 1
    Selects the 1st word in the results of the find command.

3.12. Showing a word : show

Shows the word identified by the word itself.

Format show WORD or show WORD WORD or show WORD WORD WORD…​

  • Finds the word (or multiple words and shows the word with its meaning and tags in the command box.

Examples:

  • show levitate

Outputs the meaning and tags of levitate in the command box.

  • show levitate fly

Outputs the meaning and tags of levitate and fly in the command box.

This will output a list of words that follows the sequence of the already established list.

For example:

List contains 1. hi 2. bye 3. try 4. neigh

Typing in 'show bye hi neigh' will output the result of 1, 2 and 4 in sequence following the established list.

Moreover, the first sequence number will be selected automatically. If there are no existing words that are found, the default display would be the last displayed placeholder page.

However, user should note that showing a word not present would not result in any changes to the Ui as it is not intended, it will still continue to display the previous word being selected in the panel on the right.

3.13. Trivia game: trivia

A trivia game mode where it outputs meaning of words stored in vocabulary list and prompts the user to input its name. trivia will output at most 10 questions depending on the size of the user’s vocabulary list.

Format trivia

To answer the trivia question, simply input the answer in the command box. Answer to the trivia questions are case-insensitive.

Format WORD

3.13.1. Other commands in trivia

Show the current trivia question.

Format triviaShow

Exits trivia game.

Format triviaExit

[NOTE] The above commands can only be used when in trivia and the commands are case-sensitive.

3.14. Listing entered commands : history

Lists all the commands that you have entered in reverse chronological order.
Format: history

Pressing the and arrows will display the previous and next input respectively in the command box.

3.15. Undoing previous command : undo

Restores the address book to the state before the previous undoable command was executed.
Format: undo

Undoable commands: those commands that modify the address book’s content (add, delete, edit and clear).

Examples:

  • delete 1
    list
    undo (reverses the delete 1 command)

  • select 1
    list
    undo
    The undo command fails as there are no undoable commands executed previously.

  • delete 1
    clear
    undo (reverses the clear command)
    undo (reverses the delete 1 command)

3.16. Redoing the previously undone command : redo

Reverses the most recent undo command.
Format: redo

Examples:

  • delete 1
    undo (reverses the delete 1 command)
    redo (reapplies the delete 1 command)

  • delete 1
    redo
    The redo command fails as there are no undo commands executed previously.

  • delete 1
    clear
    undo (reverses the clear command)
    undo (reverses the delete 1 command)
    redo (reapplies the delete 1 command)
    redo (reapplies the clear command)

3.17. Word of the day : word

Displays the current word of the day and its meaning from Dictionary.com. (Requires a working internet connection). Format: word

This function does only display the word and its meaning. If you want to learn the word. Please use the LearnCommand feature: Format: learn [word]

3.18. Clearing all entries : clear

Clears all entries from the address book.
Format: clear

3.19. Exiting the program : exit

Exits the program.
Format: exit

4. Future features till v2.0

  1. Support multilingual mode.

  2. Allow group merge and group divide.

  3. Achieve the functionality of auto-delete after a word has been well remembered by the user.

  4. Record the trivia score for user to self check later

  5. Synonym function to mass query multiple words that have same meaning

5. FAQ

Q: How do I transfer my data to another Computer?
A: Install the app in the other computer and overwrite the empty data file it creates with the file that contains the data of your previous LearnVocabulary folder.

6. Command Summary

  • Add add n/NAME m/MEANING [t/TAG]…​
    e.g. add n/magic m/mystical arts [t/darkarts]

  • Learn learn NAME
    e.g. learn fire

  • Clear : clear

  • WordOfTheDay : word

  • Delete : delete INDEX
    e.g. delete 3

  • Edit : edit INDEX [n/NAME] [m/MEANING] [t/TAG]…​
    e.g. edit 2 m/somewhere far away

  • Find : find WORD [MORE_KEYWORDS]
    e.g. find magic

  • Show : show WORD [MORE_WORDS]
    e.g. show magic fire ice

  • List : list

  • Help : help

  • Select : select INDEX
    e.g.select 2

  • History : history

  • Undo : undo

  • Redo : redo

  • Trivia : trivia

  • Show trivia : triviaShow

  • Exit trivia : triviaExit