By: Team T09-2
Since: Aug 2018
Licence: MIT
- 1. Introduction
- 2. Quick Start
- 3. Features
- 3.1. Viewing help :
help
- 3.2. Lists all decks (or all cards) :
list
- 3.3. Navigating into a deck :
cd
- 3.4. Navigating out of the current deck :
cd ..
- 3.5. Adding a deck:
newdeck
- 3.6. Editing the name of a deck :
editdeck
- 3.7. Deleting a deck :
deldeck
- 3.8. Adding a card :
newcard
- 3.9. Editing a card :
editcard
- 3.10. Deleting a card :
delcard
- 3.11. Review the cards in a deck :
review
- 3.12. Flip a card in a review :
flipcard
- 3.13. Go to the next card in a review :
nextcard
- 3.14. Go to the previous card in a review :
prevcard
- 3.15. Exit review mode :
endreview
- 3.16. Card difficulty classification :
classify
- 3.17. Sort :
sort
- 3.18. Search for a deck or card :
find
- 3.19. Export deck to xml file :
export
- 3.20. Import deck from xml file :
import
- 3.21. Listing entered commands :
history
- 3.22. Undoing previous command :
undo
- 3.23. Redoing the previously undone command :
redo
- 3.24. Clearing all entries :
clear
- 3.25. Exiting Anakin :
exit
- 3.26. Autocompletion : Hit
<TAB>
- 3.27. Rank :
rank
- 3.1. Viewing help :
- 4. FAQ
- 5. Command Summary
1. Introduction
Welcome to the Anakin User Guide!
Anakin was built for those who want to make heavy use of flashcards without the hassle of managing physical copies. More importantly, Anakin 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).
Anakin started from our desire to help users organize their flashcards better, and to reduce the paper waste generated by flashcards. As students ourselves, we believe that studying should be effective and easy to plan. Thus, we have built in a scheduling system into Anakin which will help you plan out when to review your flashcards for optimal studying performance. Our scheduler uses spaced repetition which is the result of years of psychology research. Spaced repetiton embodies the idea that last minute studying has little effect. Instead, study sessions should be spread out to allow a student to best absorb infromation.
With this studying tool, we hope to not just decrease paper wastage but also to create a fun environment which can help students sustain their motivation to study throughout the semester.
To get started, head over to Section 2, “Quick Start”!
For a quick review of commands, check out Section 5, “Command Summary”. == How to Use This Guide This document is designed for users with varying levels of proficiency. Most command in the guide can be read standalone, but there are occasional references to other related commands.
To assist you, we have added sample use cases of each command in the document
2. Quick Start
-
Ensure you have Java version
9
or later installed in your Computer. -
Download the latest
Anakin.jar
here. -
Copy the file to the folder you want to use as the home folder for your copy of Anakin.
-
Double-click the file to start the app. The GUI should appear in a few seconds.
-
Type the command in the command box and press Enter to execute it.
e.g. typinghelp
and pressing Enter will open the help window. -
Some example commands you can try:
-
list
: lists all decks -
newdeck
: creates a new deck. -
delete
3
: deletes the 3rd deck shown in the current list -
exit
: exits the app
-
Refer to Section 3, “Features” for more details on the available commands.
3. Features
Command Format
-
Words in
UPPER_CASE
are the parameters to be supplied by the user e.g. innewdeck n/NAME
,NAME
is a parameter which can be used asnewdeck n/John Doe
. -
Items in square brackets are optional e.g
newdeck [n/NAME]
can be used asnewdeck n/My Deck
or asnewdeck
. -
Optional items separated by - e.g.
editdeck 1 [q/Question?]-[a/Answer]
denote that at least one of the optional parameters are needed minimally to execute the command. -
Parameters can be in any order e.g. if the command specifies
q/QUESTION a/ANSWER
,a/ANSWER q/QUESTION
is also acceptable. -
Any argument followed by
…
indicates that the command is able to accept multiple arguments for that field. -
If you provide multiple parameters for fields that do not support multiple arguments, only the last argument will be accepted. I.e. If you entered
newdeck n/nameOne n/nameTwo
, the new deck will have the name "nameTwo".
3.1. Viewing help : help
Lists all available commands and their respective formats.
Format: help
3.2. Lists all decks (or all cards) : list
Displays a list of all available decks. If inside a deck displays all cards in that deck.
Format: list
3.2.1. Filter by performance
This feature allows you to filter the displayed cards by their difficulty.
Format: list [difficulty] [more difficulties]…
When inside a deck, the list
command can be used to filter the displayed cards by their difficulty, by passing
in the desired difficulty as a keyword after the command.
For example:
list hard
will display all cards with the hard
difficulty
Multiple difficulties can be specified as well, in which case all cards with a difficulty matching one of those specified will be displayed:
list easy hard
will display all cards with either an easy
or hard
difficulty.
3.3. Navigating into a deck : cd
To enter a deck identified by the INDEX_OF_DECK in the visible deck list.
Format: cd INDEX_OF_DECK
Examples:
-
cd 2
Enter the 2nd deck in the currently displayed deck list.
3.4. Navigating out of the current deck : cd ..
Exit the current deck and returns the user to the list of decks.
Format: cd ..
Examples:
-
cd 1
cd ..
Enter the 1st deck in the currently displayed deck list. then return back to the Anakin’s deck list (get out of the 1st deck)
3.5. Adding a deck: newdeck
Adds a new deck with the given name to Anakin
Format: newdeck n/NAME
Examples:
-
newdeck n/My First Deck
3.6. Editing the name of a deck : editdeck
Edits the name of the deck at the specified index in the list.
Format: editdeck INDEX_OF_DECK n/NAME
Examples:
-
editdeck 1 n/My Deck
Edits the name of the first deck in the list to beMy Deck
and keeps the card list intact.
3.7. Deleting a deck : deldeck
Deletes the specified deck from Anakin.
Format: deldeck INDEX_OF_DECK
Examples:
-
list
deldeck 2
Deletes the 2nd deck that appears in the currently displayed list of decks.
3.8. Adding a card : newcard
Add a new card with given question and answer to the current card list.
Format: newcard q/QUESTION a/ANSWER
Examples:
-
newcard q/Who are you? a/I’m Batman
-
newcard a/Ding ding ding q/What does the fox say?
3.9. Editing a card : editcard
When user is inside a deck, edits an existing card at the specified index. If multiple arguments are given for
question or answer, only the last valid argument is accepted for each respective field.
Format: editcard INDEX_OF_CARD [q/QUESTION]-[a/ANSWER]
Examples:
-
editcard 1 a/New Answer
Edits the answer of the first card in the current card list to be "New Answer". If multiple arguments are given for question or answer, only the last valid argument is accepted for each respective field.
3.10. Deleting a card : delcard
When user is inside a deck, deletes the existing card at the specified index.
Format: delcard INDEX_OF_CARD
Examples:
-
cd 1
delcard 2
Get into the first deck then deletes the 2nd card that appears in the card list.
3.11. Review the cards in a deck : review
Starts a review of the deck specified.
Format: review INDEX_OF_DECK
3.12. Flip a card in a review : flipcard
View the other side of the current card during a review.
Format: flipcard
Examples:
-
review 1
flipcard
flipcard
Reviews the first deck on the list. You will see the first question card. Upon firstflipcard
, you will see the answer on the back of the card. When you executeflipcard
again, you will see the question card once more.
3.13. Go to the next card in a review : nextcard
Views the subsequent card in the deck.
Format: nextcard
When you are at the last card of the deck, executing |
3.14. Go to the previous card in a review : prevcard
Views the previous card in the deck.
Format: prevcard
When you are at the first card of the deck, executing |
3.15. Exit review mode : endreview
Exits the review and returns to the editing menu
Format: endreview
Executing |
3.16. Card difficulty classification : classify
Allocates a difficulty (easy, normal, hard) to the card currently being reviewed.
This indicates how you felt about the difficulty of the card, relative to your performance. This rating will be taken
into consideration when scheduling cards for review. For example, a card rated easy
will show up less often compared
to a card rated hard
.
Format: classify DIFFICULTY
Example
-
You decide to review a deck.
-
You encounter a difficult question. You would like to document this for future revision. Simply type in
classify
, followed by the desired difficulty (in this case,hard
). -
Upon ending the review, you should be able to see the updated difficulty classification on your cards.
3.17. Sort : sort
Sort the current list in lexicographical order.
-
If user is currently inside a deck, sort all cards according to their questions.
-
If user is not in a deck, sort all decks according to the their names.
Format: sort
3.18. Search for a deck or card : find
Search decks by names or cards by questions.
-
If user is currently in a deck, find all cards which contain the specific keywords.
-
If user is not in a deck, find decks.
Format: find KEYWORD [MORE_KEYWORDS]…
Examples:
-
find Algo
Returnsalgo
andEasy Algo
-
User is not inside any decks:
-
find Bio Chem Physics
Returns any decks containingBio
,Chem
, orPhysics
in their name. -
find insert
Returnsinsert
,inserted
,inserting
or any decks of which name contains these words.
-
-
User is inside a deck:
find John Snow
Returns any cards containingJohn
orSnow
in their questions.
3.19. Export deck to xml file : export
To create an xml
file of the deck at INDEX_OF_DECK.
Format: export INDEX_OF_DECK
Example:
-
1. First, display all the decks in Anakin using
list
.
-
2. Say you want to export "Geography" (the 3rd deck), simply enter the command:
export 3
. You should see the following message:
"Geography.xml" will be created in the same directory as the Anakin.jar file.
3.20. Import deck from xml file : import
To import a deck from the xml
file at the specified FILEPATH.
Format: import FILEPATH
Examples:
Say you want to import a deck called "Geography" and you have the Geography.xml
file in the same folder as Anakin.jar.
-
Simply enter
import Geography.xml
and Anakin will import the deck "Geography".
Before
After
-
If you want to import a deck that is located elsewhere, for example the file is in Desktop, you can enter
import
followed by the full filepath (something like:import C:/Users/Admin/Desktop/My Deck2.xml
) and Anakin will be able to import the deck.
3.21. 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.22. Undoing previous command : undo
Restores Anakin to the state before the previous undoable command was executed.
Format: undo
Undoable commands: those commands that modify the state of Anakin.
( |
Examples:
-
deldeck 1
undo
(reverses thedeldeck 1
command) -
history
undo
Theundo
command fails as there are no undoable commands executed previously. -
deldeck 1
clear
undo
(reverses theclear
command)
undo
(reverses thedeldeck 1
command)
3.23. Redoing the previously undone command : redo
Reverses the most recent undo
command.
Format: redo
Examples:
-
deldeck 1
undo
(reverses thedeldeck 1
command)
redo
(reapplies thedeldeck 1
command) -
delcard 1
redo
Theredo
command fails as there are noundo
commands executed previously. -
delcard 1
clear
undo
(reverses theclear
command)
undo
(reverses thedelcard 1
command)
redo
(reapplies thedelcard 1
command)
redo
(reapplies theclear
command)
3.24. Clearing all entries : clear
To clear all entries from Anakin.
Format: clear
3.25. Exiting Anakin : exit
To exit the program.
Format: exit
3.26. Autocompletion : Hit <TAB>
Hit <TAB> for autocompletion so you don’t have to remember verbose commands. If there is an autocompletion available, hitting <TAB> will replace the current text in the command box with the autocompletion text.
Examples:
-
Suppose you are attempting to create a new card.
Image: Partially completed newcard
command.
-
Just hit <TAB> and you will instantly get the desired result
Image: After pressing <TAB> the command is automatically completed!
If the command box is empty, autocompletion will default to |
This feature does not work when trailing or preceding whitespace is included in the command. |
3.27. Rank : rank
Use this command to sort all cards by a user’s cumulative performance score on each card.
Format: rank
Examples: Suppose you are studying for an important exam, and you want to find out which cards you performed poorly on so you can review them.
-
Classify cards as described in the
classify
section above and then typerank
Image: Appearance of cards before sorting by performance
-
Type
rank
and you will instantly get the desired result
Image: Appearance of cards after sorting by performance. As can be seen, harder cards move to the top.
The indicator in the card panel only shows the most recent classification of the card while the scheduling algorithm takes into account all past reviews. As such, cards labelled HARD may not always be above cards ranked NORMAL. |
4. FAQ
Q: How do I transfer my data to another Computer?
A: Export all your decks, copy the .xml files to the other Computer, then use the import command to import your decks.
Q: Why is it called Anakin?
A: Because using CLI is as cool and mysterious as using the Force.
5. Command Summary
A convenient cheat sheet of commands
Command | What does it do? |
---|---|
|
Lists all available commands and their respective formats. |
|
Displays a list of all available decks. If inside a deck displays all cards in that deck. |
|
Navigates into the deck at INDEX. |
|
Adds a new deck. |
|
Edits the name of the deck at INDEX. |
|
Deletes the deck at INDEX. |
|
Adds a new card in the current deck. |
|
Edits the details of the card at INDEX. |
|
Deletes the card at INDEX. |
|
Review the cards of the deck at INDEX. |
|
View the flipside of the current card during a review. |
|
Views the subsequent card in the deck. |
|
Views the previous card in the deck. |
|
Exits the review. |
|
Classifies the current card into one of the following categories: {‘easy’, ‘normal' , ‘hard’} |
|
Sorts the displayed list of decks by name. |
|
Sort the list of cards by performance |
|
Finds decks with names that contain any of the given keywords. |
|
Exports the deck at the specified INDEX. (Default location is the same folder as Anakin) |
|
Imports a deck from the |
|
List all entered commands in reverse chronological order. |
|
Undo previous command. |
|
Redo previously undone command. |
|
Clear all decks and cards. |
|
Exits the program. |