By: CS2103 T14-3 Since: Nov 2019 License: MIT

1. Introduction

FlashMind helps students to use their time breaks to memorize things like vocabulary and some general knowledges, especially those who prefer command line interface (CLI) over clicks. Everything is organized into flashcards, each contain one question. Users can also tag the flashcards to group them and see their progress over time through statistics.

2. Quick Start

  1. Ensure you have Java 11 or above installed in your Computer.

  2. Download the latest FlashMind.jar here.

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

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

    Ui
  5. Type the command in the command box and press Enter to execute it.
    e.g. typing help and pressing Enter will open the help window.

  6. Some example commands you can try:

    • list : lists all flashcards

    • add q/How long is Mount Blanc Tunnel? a/11611m d/An amazing tunnel on the boarder of France and Italy: Add a flashcard about Mount Blanc Tunnel

    • delete3 : deletes the flashcard with index 3 on the listed flashcards.

    • exit : exits the app

  7. 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 q/QUESTION, QUESTION is a parameter which can be used as add q/How long is Mount Blanc Tunnel?.

  • All commands are case sensitive and should be in its lowercase.

  • Items in square brackets are optional e.g q/QUESTION [t/TAG] can be used as q/How long is Mount Blanc Tunnel? t/geography or as q/How long is Mount Blanc Tunnel?.

  • 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/geography, t/geography t/civil engineering etc.

  • Parameters can be in any order e.g. if the command specifies q/QUESTION a/ANSWER, a/ANSWER q/QUESTION is also acceptable.

  • To view all the available commands that the user can use. Use help command
    Format: help

3.1. Adding new flashcards

Add a new flashcard and specify its question, definition, tags, choices and answer.
Format: add q/QUESTION d/DEFINITION [t/TAG]…​ [c/CHOICE]…​ a/ANSWER

  • QUESTION, DEFINITION and ANSWER must be provided while creating a flashcard, tags and choices are optional.

  • If there are no choices specified in the flashcard, the system will generate a short answer flashcard. Otherwise, the system will generate an MCQ flashcard.

  • Note that during the quiz mode, to answer a short answer flashcard correctly, you must input an answer exactly match answer you typed while this flashcard is created. Thus, be sure to provide enough information in QUESTION and DEFINITION for you to figure out the exact correct answer.

  • Note that while creating an MCQ flashcard, the answer is the input for your correct choice, not just a number. If the answer you input does not match any of the choices, the system will tell you this flashcard is invalid. Please refer to the following examples for a better understanding.

Examples:

  • add q/What is the tallest mountain in the world? d/This mountain is on the boarder of China and Nepal. a/Mount Everest : Creates a new short answer flashcard with the given question, definition and answer.

  • add q/What is the tallest mountain in the world? d/This mountain is on the boarder of China and Nepal. c/Mountain Everest c/Mount Blanc c/Shkhara c/Bukit Timah a/Mountain Everest : Creates a new MCQ flashcard with the given question, definition choices and answer.

  • add q/What is the tallest mountain in the world? d/This mountain is on the boarder of China and Nepal. c/Mountain Everest c/Mount Blanc c/Shkhara c/Bukit Timah a/Alps : Since the answer you input does not match with any of the choices, the system will generate an error message.

3.2. Listing all flashcards

Shows a list of all existing flashcards in the system.
Format: list

3.3. Listing all flashcard by tags

Shows a list of all flashcard under given tag names. If there are no flashcards under the input tag name, you should see an empty flashcard list being displayed. Note you can list multiple tags at the same time.
Format: listbytag t/TAG…​

  • At least on tag needs to be specified after keyword listbytag, otherwise the system will show an error message.

Examples:

  • listbytag t/mathematics : List all flashcards under the tag mathematics.

  • listbytag t/mathematics t/geography : List all flashcards under the tag mathematics OR the tag geography.

3.4. Listing all tags

Show the list of tags exists in the system.
Format: listtag

3.5. Editing a flashcard

Edits an existing flashcard in the address book.

Format: edit INDEX [q/QUESTION] [a/ANSWER] [d/DEFINITION] [t/TAG]…​ [c/CHOICE]…​

  • INDEX is the index of this target flashcard in the displayed list.

  • At least one of the optional fields must be provided.

  • Existing values will be updated to the input values.

  • Note that while updating choices or tags, they are updated together. This means, assume you have 4 choices for flashcard number 2, then you typed edit 2 c/Mount Blanc, then there will be only one choice left for flashcard number 2, which is Mount Blanc. The same applies when editing tags.

  • While editing the answer for an MCQ flashcard, still ensure that the updated answer matches any one of the choices.

Examples:

  • edit 5 q/What is the tallest mountain?
    Edits the question of the card with index 5 to "What is the tallest mountain?".

  • edit 5 a/Mount Everest Edits the answer of the card with number 5 to "Mount Everest".

3.6. Quiz mode

Starts a quiz using a particular flashcard index or with a with an optional time limit with units in seconds.
Format:

Format: quiz INDEX [s/TIME_LIMIT]

  • Start a quiz using the flashcard with given index.

  • User can answer the flashcard using the flip command (see 3.8).

  • If the quiz is not answered within the time limit, FlashMind will skip the quiz and mark it as wrong.

  • If the quiz time is not specified, the default time limit will be 15 seconds.

Examples:

  • quiz 8: start a quiz on the flashcard number 8 with a default time limit of 15 seconds.

  • quiz 8 t/10 : start a quiz on the flashcard number 8, given time limit 10 seconds.

Once a quiz starts, users will be unable to use other commands such as add, list or delete. To exit quiz mode, either answer the flashcard or use end

3.7. Quiz Tag mode

Starts a continuous quiz on a tag or a series of tags and an optional time limit with units in seconds.
Format:

Format: quiztag t/TAG…​ [s/TIME_LIMIT]

  • Starts a continuous quiz on all flashcards in the given tags

  • Users can continuously use the flip command to answer the series of flashcards (see 3.8).

  • If the quiz time is not specified, the default time limit will be 15 seconds.

Examples:

  • quiztag t/mathematics t/geography : start a quiz on all the flashcards with tag mathematics and geography.

  • quiztag t/mathematics s/30 : start a quiz on all flashcards with tag mathematics with each quiz a time limit of 30 seconds.

3.8. Flip a flashcard

Only usable in quiz mode (i.e after a quiz or quiztag command)

Format: flip ANSWER

  • Short answer flashcards will accept any answer.

  • MCQ flashcards will only accept numbers as an answer. The number must match an index of the choices.

Example 1: MCQ Flashcard

After quiztag t/geography, the flashcard below is shown:

What is the tallest mountain in the world?

Definitions: The answer is Mount Everest.

Tags: [geography]

Choices:

  1. Mount Fuji

  2. Mount Everest

The user can type flip 2 to answer the flashcard correctly.

Example 2: Short Answer Flashcard

What is the lowest playing register of the clarinet called?

Definitions: Range of E3 to Bb4

Tags: [music]

The user will then type flip Chalumeau to answer the flashcard correctly.

After using the flip command, users should receive feedback on whether they’ve answered the flashcard correctly. If the answer was wrong, the correct answer will be provided. The scores of the flashcard will then be updated accordingly.

3.9. End quiz mode

Only usable in quiz mode(i.e after a quiz or quiztag command).

Format: end

  • Used to end a quiz if the user wants to stop the quiz without answering the flashcard

3.10. Skip Flashcards in Quiz

Only usable in quiz mode (i.e after a quiz or quiztag command)

Format: skip

*Used to skip a flashcard during a quiz if the user does not know the answer or want to answer

3.11. Display current progress

Shows the current progress of a set of flashcards.
Format: stats [t/TAG]…​

  • Statistics shown include number of completed cards and accuracy

  • Multiple TAG’s can be added to combine statistics of multiple sets

  • If no TAG is provided statistics of all the cards will be shown

Examples:

  • stats t/biology : Displays the progress of a the flashcards tagged with Biology.

3.12. Delete a flashcard

Deletes the specified flashcard from the list of all flashcards.
Format: delete INDEX

  • Deletes the flashcard with the specified INDEX.

Example:

  • delete 5 : Removes the flashcard with index 5 in the list.

3.13. Finding a flashcard

Find a flashcard based on the keyword in its question, definition or answer.
Format: find KEYWORD

  • The key word must not be empty.

Example:

  • find Blanc : Find flashcards whose question or answer contains string "Blanc".

3.14. Undo & Redo

Suppose you delete, add or edit a flashcard with a mistake, you can use undo to bring yourself back to the previous stage. If you did an Undo command by mistake, you can also use Redo command to undo an Undo Command. Note that Undo and Redo can only take affect for flashcard modifications, it cannot undo your quiz result. Format: Undo, Redo.

3.15. Exiting the program

Exits the program.
Format: exit
Special Notation: We strongly recommend you to exit FlashMind using exit command instead of directly closing the window. The reason is, if you directly close the window, you might lose some of the progress you made in this session. That is, some of the quiz scores might not be saved. Through exit command, all of your quiz results will be saved properly.

3.16. Saving the data

Flashcards are saved in the hard disk automatically after any command that changes the data.
There is no need to save manually.
After the data is saved, do not modify any of the Json files manually. You might end up screwing up all the information stored in them. If unfortunately, you did manually change the Json file and found the FlashMind operating with any problem, the only suggestion we can give you is to delete the file flashcardlist.json, so the system will start with default flashcard list again.