By: Team M11-3 Since: Jan 2019 Licence: MIT

1. Introduction

FlashCards is for those who prefer to use a desktop application to manage their notes. More importantly, FlashCards is optimized for those who are comfortable working with a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI).

With FlashCards, you no longer need to worry about sieving through your hard copied notes for various subjects just to find the ones you want. You can have all your notes categorized neatly in one platform and be easily accessible at your fingertips!

Read on to get started!

2. Quick Start

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

  2. Download the latest flashcard.jar here.

  3. Copy the file to the folder you want to use as the home folder for this FlashCard application.

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

    UIFINAL
  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.

Other example commands you can try:

  • list : lists all flashcards

  • addt/Pythagoras Theorem diff/1 c/a^2 + b^2 = c^2 d/30-03-2019 s/Math

Adds a flashcard named Pythagoras Theorem under the subject Math to the list of flashcards. It has a difficulty level of 1 with the content a^2 + b^2 = c^2 and should be memorised by 30-03-2019.

  • delete3 : deletes the 3rd flashcard shown in the current list

  • exit : exits the app

    1. 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 t/TOPIC, TOPIC is a parameter which can be used as add t/Pythagoras Theorem.

  • Parameters can be in any order e.g. if the command specifies t/TOPIC c/CONTENT, c/CONTENT t/TOPIC is also acceptable.

3.1. Viewing help : help

Displays the list of commands.

Format: help

3.2. Adding a flashcard: add

Adds a flashcard.
Format: add t/TOPIC diff/DIFFICULTY c/CONTENT s/SUBJECT

  • TOPIC: Title of the flashcard.

  • DIFFICULTY: Difficulty level of the flashcard’s content indicated by a positive integer 1, 2, or 3 only.

  • CONTENT: Content of the flashcard.

  • SUBJECT: Subject of the flashcard.

  • Deadline/Note (optional): Deadline of the flashcard/Notes to be taken.

Examples:

  • add t/Pythagoras Theorem diff/1 c/a^2 + b^2 = c^2 s/Math
    Adds a flashcard named "Pythagoras Theorem" under the subject "Math" to the list of flashcards. It has the content "a^2 + b^2 = c^2" and a difficulty level of "1".

  • add t/Photosynthesis diff/1 c/A chemical reaction that takes place inside a plant, producing food for the plant to survive s/Science
    Adds a flashcard named "Photosynthesis" under the subject "Science" to the list of flashcards. It has the content "A chemical reaction that takes place inside a plant, producing food for the plant to survive" and a difficulty level of "1".

The flashcard that was just added will be displayed in the flashcards panel.

3.3. Adding a Deadline/Note to a flashcard: deadline or note

Adds a deadline or notes to the flashcard.
Format: deadline INDEX d/DEADLINE or note INDEX d/NOTE

  • DEADLINE: Deadline of flashcard.

  • NOTE: Important notes to be added.

Examples:

  • deadline 1 d/12 January 2020
    Adds a deadline "12 January 2020" into the flashcard with index 1.

  • note 3 d/Clarify with Teacher
    Adds a note into the flashcard with content "Clarify with Teacher".

In the case that a new date is to be added to a flashcard with an existing deadline or note, corrections can be made by overwriting the existing information with the same commands.

3.4. Listing all flashcards categorized by subjects: list or l

Displays an indexed list of flashcards categorized by subjects.
Format: list or l

Subject tags will be colour-coded. Same subject tags will have the same colour.

3.5. Editing a flashcard: edit or e

Edits field(s) of a specified flashcard.

Enter the index of the flashcard to edit, followed by the field(s) you wish to edit.
Format: edit INDEX [t/TOPIC] [diff/DIFFICULTY] [c/CONTENT] [d/DEADLINE] [s/SUBJECT]

  • INDEX: Index number of the flashcard to be edited. This index number will be shown in the displayed list of flashcards in the flashcards panel. Must be a positive integer such as 1, 2, 3, …​

  • [t/TOPIC] [diff/DIFFICULTY] [c/CONTENT] [d/DEADLINE] [s/SUBJECT]: At least one of these fields enclosed in [ ] must be present.

Steps to edit a flashcard:

  • Click on a subject in the subjects panel; or

  • Enter the selectSubject command to select a subject (see Section 3.9.); then

  • Use the edit command to edit a flashcard

Examples:

  • Editing 1 field

    • After clicking on a subject e.g. Math, flashcards that are tagged under "Math" will be displayed in the flashcards panel.
      Next, enter edit 1 s/Science or e 1 s/Science to edit the flashcard with index "1". It will replace the flashcard’s existing subject with "Science".

    • After entering this command selectSubject English, all flashcards that are tagged under "English" will be displayed in the flashcards panel.
      Next, enter edit 2 c/The quick brown fox or e 2 c/The quick brown fox to edit the flashcard with index "2". It will replace the flashcard’s existing content with "The quick brown fox".

  • Editing more than 1 field

    • After clicking on a subject e.g. Math, flashcards that are tagged under "Math" will be displayed in the flashcards panel.
      Next, enter edit 1 c/Plants s/Science or e 1 c/Plants s/Science to edit the flashcard with index "1". It will replace the flashcard’s existing content with "Plants" and subject with "Science".

    • After entering this command selectSubject English, all flashcards that are tagged under "English" will be displayed in the flashcards panel.
      Next, enter edit 1 t/Brown Fox diff/1 or e 1 t/Brown Fox diff/1 to edit the flashcard with index "1". It will replace the flashcard’s existing topic with "Brown Fox" and difficulty level with "1".

The edited flashcard will be updated and displayed in the flashcards panel.

3.6. Finding a flashcard based on topic: find or f

Find flashcards based on the given keyword.
Format: find KEYWORD [MORE_KEYWORDS]

  • KEYWORD: The keyword to find flashcards with

  • [MORE_KEYWORDS]: More than one keyword is accepted but at least one keyword is needed.

Things to note:

  • The search is case insensitive. e.g fox will match Fox.

  • The order of the keywords does not matter. e.g. Pythagoras Theorem will match Theorem Pythagoras.

  • The search is based on the flashcard’s topic.

  • Only full words will be matched e.g. Theorem will not match Theorems.

  • Flashcards containing the keyword will be displayed (i.e. OR search). e.g. Photosynthesis Theorem will return Photosynthesis and Pythagoras Theorem flashcards.

Examples:

  • find Theorem
    Returns "Pythagoras Theorem" and "Bayes Theorem" flashcards and any flashcards whose topic contains Theorem.

  • f sun fox
    Returns any flashcards whose topic contains sun or fox such as "Brown fox" and "Rising sun" flashcards.

The flashcard(s) whose topic matches any of the keywords given will be displayed in the list of flashcards.

3.7. Deleting a flashcard: delete or d

Deletes the specified flashcard.

Enter the index of a flashcard to be deleted.
Format: delete INDEX

  • INDEX: Index number of the flashcard to be deleted. This index number will be shown in the displayed list of flashcards. Must be a positive integer such as 1, 2, 3, …​

Steps to delete a flashcard:

  • Click on a subject in the subjects panel; or

  • Enter the selectSubject command to select a subject (see Section 3.9.); then

  • Use the delete command to delete a flashcard

Examples:

  • After clicking on a subject e.g. Math, flashcards that are tagged under "Math" will be displayed in the flashcards panel.
    Next, enter delete 2 or d 2 to delete the specified flashcard at index 2.

  • After entering this command selectSubject English, all flashcards that are tagged under "English" will be displayed in the flashcards panel.
    Next, enter delete 1 or d 1 to delete the specified flashcard at index 1.

The updated list of flashcards will be displayed in the flashcards panel.

3.8. Deleting a subject: deleteSubject

Deletes the specified subject.
Format: deleteSubject SUBJECT

  • SUBJECT: Subject to be deleted. This subject name can be found in the displayed list of subjects on the left panel. Must be a subject that is already in the subject list

Examples:

  • deleteSubject Chemistry
    All flashcards that are tagged under "Chemistry" will be deleted.

Note This action is not reversible. The undo and redo command do not apply to the deletion of subjects.

3.9. Selecting a subject: selectSubject

Selects the subject identified by the name used in the displayed list of subjects.+ Format: selectSubject SUBJECT

  • SUBJECT: Subject to be selected. This subject name can be found in the displayed list of subjects on the left panel. Must be a subject that is already in the subject list

Steps to select a subject:

  • Enter the selectSubject command to select a subject;

Examples:

  • Enter this command selectSubject English, all flashcards that are tagged under "English" will be displayed in the flashcards panel.

3.10. Selecting a flashcard: select

Selects the flashcard identified by the index number used in the displayed list of flashcards.
Format: select INDEX

  • INDEX: Index number of the flashcard to be selected. This index number will be shown in the displayed list of flashcards. Must be a positive integer such as 1, 2, 3, …​

Steps to select a flashcard:

  • Click on a subject in the subjects panel; or

  • Enter the selectSubject command to select a subject (see Section 3.9.); then

  • Use the select command to select a flashcard

Examples:

  • After clicking on a subject e.g. Math, flashcards that are tagged under "Math" will be displayed in the flashcards panel.
    Next, enter select 2 to select the 2nd flashcard of the subject "Math" in the flashcards panel.

  • After entering this command selectSubject English, all flashcards that are tagged under "English" will be displayed in the flashcards panel.
    Next, enter select 1 to select the 1st flashcard of the subject "English" in the flashcards panel.

3.11. Viewing the next flashcard: next or n

Views the next flashcard in line.
Format: next or n

  • Selects the next flashcard and displays its content

Steps to view next flashcard:

  • First select the subject of the flashcards you want to toggle with selectSubject command.

  • Next, use the select command (see Section 3.9) to select a flashcard first.

  • Use next / n command to go to the next flashcard.

Examples:

  • selectSubject math
    Selects all flashcards that is tagged under subject math.
    select 2
    Selects the 2nd flashcard in the filtered list.
    next
    Selects the next flashcard in the list (i.e. the 3rd flashcard); and displays the content of this flashcard.+

  • selectSubject science
    Selects all flashcards that is tagged under subject science.
    select 5
    Selects the 5th flashcard in the list.
    n
    Displays the next flashcard in the list (i.e. the 6th flashcard); and + displays the content of this flashcard.

The next flashcard in line will be selected and its content will be displayed.

3.12. Viewing the next flashcard: previous or p

Views the previous flashcard in line.
Format: previous or p

  • Selects the previous flashcard and displays its content

Steps to view previous flashcard:

  • First select the subject of the flashcards you want to toggle with selectSubject command.

  • Use the select command (see Section 3.9) to select a flashcard first.

  • Use this previous / p command to go to the previous flashcard.

Examples:

  • selectSubject math
    Selects all flashcards that is tagged under subject math.
    select 2
    Selects the 2nd flashcard in the list.
    previous
    Selects the previous flashcard in the filtered list (i.e. the 1st flashcard); and displays the content of this flashcard.

  • selectSubject science
    Selects all flashcards that is tagged under subject science.
    select 5
    Selects the 5th flashcard in the list.
    p
    Selects the previous flashcard in the list (i.e. the 4th flashcard); and displays the content of this flashcard.

The previous flashcard in line will be selected and its content will be displayed.

3.13. Selecting a flashcard: sort DIFFICULTY

Displays list of flashcards under the chosen difficulty.
Format: sort DIFFICULTY

  • DIFFICULTY: Difficulty level of the flashcard to be selected. This difficulty will be shown in the details of each flashcard. Must be a positive integer such as 1, 2, 3 only.

Steps to select a flashcard:

  • Click on a subject in the subjects panel; or

  • Enter the selectSubject command to select a subject (see Section 3.9.); then

  • Use the sort command to filter the list of flashcards with selected difficulty level

Examples:

  • After clicking on a subject e.g. Math, flashcards that are tagged under "Math" will be displayed in the flashcards panel.
    Next, enter select 2 to select the 2nd flashcard of the subject "Math" in the flashcards panel.

  • After entering this command selectSubject English, all flashcards that are tagged under "English" will be displayed in the flashcards panel.
    Next, enter select 1 to select the 1st flashcard of the subject "English" in the flashcards panel.

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. Clearing all flashcards: clear or c

Clears all flashcards.
Format: clear or c

Examples:

  • clear
    All flashcards that are in the FlashBook will be deleted.

Note This action is not reversible. The undo and redo command do not apply to the clearing of flashcards and subjects simultaneously.

3.16. Exiting the program: exit

Exits the program.
Format: exit

3.17. Saving the data

FlashCards data is saved in the hard disk automatically after any command that changes the data.

There is no need to save manually.

3.18. Creating an account (coming in v2.0)

Creates an account for the user.

This feature will support multiple users and all operations carried out will be tagged to the same user account.

3.19. Logging in (coming in v2.0)

Enables users who already have an account to log in.

This feature will support multiple users and all operations carried out will only pertain to the current user account.

4. 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 FlashCard Book folder.

5. Command Summary

  • Add : add t/TOPIC diff/DIFFICULTY c/CONTENT d/DEADLINE s/SUBJECT
    e.g. add t/Pythagoras Theorem diff/1 c/a^2 + b^2 = c^2 d/30-03-2019 s/Math

  • Add a Deadline/Note : deadline INDEX d/DEADLINE or note INDEX d/NOTE
    e.g. deadline 3 d/12 December 2019 or note 2 d/Clarify with Teacher

  • Clear : clear or c

  • Delete : delete INDEX
    e.g. delete 3 or d 3

  • Delete Subject : deleteSubject SUBJECT
    e.g. deleteSubject Chemistry

  • Edit : edit INDEX [t/TOPIC] [diff/DIFFICULTY] [c/CONTENT] [d/DEADLINE] [s/SUBJECT]
    e.g. edit 2 s/Science or e 2 c/The quick brown fox

  • Find : find KEYWORD [MORE_KEYWORDS]
    e.g. find Theorem or f sun fox

  • Help : help

  • History : history

  • List : list or l

  • Next : next or n

  • Previous : previous or p

  • Select : select INDEX
    e.g.select 2

  • Select Subject : selectSubject SUBJECT
    e.g. selectSubject Math

  • Sort : sort DIFFICULTY
    e.g.sort 2