By: Team T12-B2
Since: Oct 2017
Licence: MIT
- 1. Quick Start
- 2. Features
- 2.1. Viewing help :
help
- 2.2. Adding a person:
add
- 2.3. Adding a person with an avatar:
add i/
- 2.4. Adding multiple persons:
multiple
- 2.5. Export:
export
- 2.6. Listing all persons :
list
- 2.7. Editing a person :
edit
- 2.8. Locating persons by keywords:
find
- 2.9. Find a person without matching the whole keyword:
find_contain
- 2.10. Deleting a person :
delete
- 2.11. Selecting a person :
select
- 2.12. Commenting about a person :
comment
- 2.13. Making Appointment for a person :
appoint
- 2.14. Login using Gmail or Yahoo Account:
email_login
- 2.15. Sending an email to a list of recipients:
email_send
- 2.16. Listing entered commands :
history
- 2.17. Undoing previous command :
undo
- 2.18. Redoing the previously undone command :
redo
- 2.19. Merging given file to default storage file :
merge
- 2.20. Clearing all entries :
clear
- 2.21. Exiting the program :
exit
- 2.22. Saving the data
- 2.23. Using the search bar
- 2.24. Using the email login button
- 2.25. Using the email send button
- 2.26. Selecting an application theme
- 2.1. Viewing help :
- 3. FAQ
- 4. Command Summary
-
Ensure you have Java version
1.8.0_60
or later installed in your Computer.ℹ️Having any Java 8 version is not enough.
This app will not work with earlier versions of Java 8. -
Download the latest
addressbook.jar
here. -
Copy the file to the folder you want to use as the home folder for Blast!.
-
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 contacts -
add
n/John Doe p/98765432 e/[email protected] a/John street, block 123, #01-01
: adds a contact namedJohn Doe
to the Address Book. -
delete
3
: deletes the 3rd contact shown in the current list -
exit
: exits the app
-
-
Refer to the Features section below for details of each command.
Command Format
-
Words in
UPPER_CASE
are the parameters to be supplied by the user e.g. inadd n/NAME
,NAME
is a parameter which can be used asadd n/John Doe
. -
Items in square brackets are optional e.g
n/NAME [t/TAG]
can be used asn/John Doe t/friend
or asn/John Doe
. -
Items with
…
after them can be used multiple times including zero times e.g.[t/TAG]…
can be used ast/friend
,t/friend t/family
etc. -
Parameters can be in any order e.g. if the command specifies
n/NAME p/PHONE_NUMBER
,p/PHONE_NUMBER n/NAME
is also acceptable.
Adds a person to the address book
Format: add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS i/AVATAR FILE PATH [t/TAG]…
💡
|
A person can have any number of tags (including 0) |
Examples:
-
add n/John Doe p/98765432 e/[email protected] a/John street, block 123, #01-01
-
add n/Betsy Crowe t/friend e/[email protected] a/Newgate Prison p/1234567 t/criminal
Adds a person to the address book with a custom avatar displayed
Default avatar folder: ./images/avatars
Format: add n/John Doe p/98765432 e/[email protected] a/John street, block 123, #01-01 i/john_doe.png
Adds multiple persons to the address book from a given file path of a .txt
file.
Default avatar folder: ./images/avatars
Format: multiple FILE_PATH
Examples:
-
multiple ./data/personsToAdd.txt
-
multiple ./data/newStudentsToAdd.txt
The message display box will display successful persons that are added.
Person format in .txt
file: n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS i/AVATAR_FILE_PATH [t/TAG]…
💡
|
The format in the .txt file is the same as add command except without the add
|
Example of .txt
file:
n/John Doe p/98765432 e/[email protected] a/John street, block 123, #01-01 i/john_doe.png
n/Betsy Crowe t/friend e/[email protected] a/Newgate Prison p/1234567 r/criminal
n/Mary Jane t/friend e/[email protected] a/Mary drive p/4567123 r/pretty
💡
|
Multiple command is an undoable/redoable command |
Exports the all contacts to a .txt
file in a specified location.
Format: export [FILETYPE] [PATH]
Example:
-
export .txt C:/New Folder
Edits an existing person in the address book.
Format: edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [t/TAG]…
-
Edits the person at the specified
INDEX
. The index refers to the index number shown in the last person listing. The index must be a positive integer 1, 2, 3, … -
At least one of the optional fields must be provided.
-
Existing values will be updated to the input values.
-
When editing tags, the existing tags of the person will be removed i.e adding of tags is not cumulative.
-
You can remove all the person’s tags by typing
t/
without specifying any tags after it.
Examples:
-
edit 1 p/91234567 e/[email protected]
Edits the phone number and email address of the 1st person to be91234567
and[email protected]
respectively. -
edit 2 n/Betsy Crower t/
Edits the name of the 2nd person to beBetsy Crower
and clears all existing tags.
Finds persons whose contain any of the given keywords.
Format: find PREFIX_PERSON_ATTRIBUTE/KEYWORD [MORE_KEYWORDS]… [MORE_PARAMETERS]…
💡
|
Supported prefixes: n/ , p/ , e/ , a/ , ap/ , r/ , c/
|
-
The search is a
OR
search. e.g. findingn/alex r/friends
will display all persons that name containalex
along with all persons that havefriends
tag -
The
OR
rule applies to all other individual attribute excepttags
. (i.e. persons matching at least one keyword will be returned except fortags
field.) e.g.Hans Bo
will returnHans Gruber
,Bo Yang
-
The
AND
rule for searching applies totags
field e.g.r/friends family
will return persons with tags that match bothfriends
andfamily
-
The search is case insensitive. e.g
hans
will matchHans
-
The order of the keywords does not matter. e.g.
Hans Bo
will matchBo Hans
-
When finding name, only full words will be matched e.g.
Han
will not matchHans
-
When finding email, any part of the email will be matched with the character sequence of the input e.g.
mail
will match@gmail.com
and@hotmail.com
-
When finding phone, any part of the phone will be matched with the character sequence of the input e.g.
123
will match91234567
and81234567
-
When finding appointment, only date and time with correct format will be matched e.g.
10:30
will match all10:30
appointments and20/10/2017
will match all20/10/2017
appointments -
When finding comment, only full words will be matched e.g.
swim
will not matchswims
-
When finding address, any part of the address will be matched
Searching for contacts with friends
tag with the command find r/friends
.
The result of find r/friends
will show all contacts with friends
tag.
Searching for contacts with colleagues
and friends
tags with the command find r/colleagues friends
.
The result of find r/colleagues friends
will show all contacts have both colleagues
and friends
tags.
Examples:
-
find n/John
Returnsjohn
andJohn Doe
-
find r/friends family
Returns any person withfriends
tag andfamily
tag -
find e/@gmail.com
Returns any person whose email contain@gmail.com
-
find n/Betsy Tim John
Returns any person having namesBetsy
,Tim
, orJohn
-
find n/Betsy Tim John r/friends
Returns any person having namesBetsy
,Tim
, orJohn
or any person withfriends
tag -
find n/Betsy Tim John r/friends e/@gmail.com
Returns any person having namesBetsy
,Tim
, orJohn
, any person withfriends
tag and any person whose email contain@gmail.com
-
find n/Betsy r/friends e/@gmail.com c/funny ap/10:30 a/clementi p/9123
Returns any person having namesBetsy
, any person withfriends
tag, any person whose email contain@gmail.com
, any person whose comment have the wordfunny
in it, any person who have10:30
appointment, any person whose address containclementi
and any person whose phone number contain the sequence9123
ℹ️
|
Find command currently support finding of name, email, phone, comment, address, appointment and tags. |
Finds all persons whose name / phone / address / email contains the given string
Format: find_contain PREFIX_PERSON_ATTRIBUTE/STRING [MORE_PARAMETERS]…
-
The search is an "AND" search.
-
The characters that follow a prefix are treated as one string.
-
A match happens when a person’s details contain the given strings e.g. "David Li" contains "avid", "93463991" contains "99".
Deletes the specified person from the address book.
Format: delete INDEX
-
Deletes the person at the specified
INDEX
. -
The index refers to the index number shown in the most recent listing.
-
The index must be a positive integer 1, 2, 3, …
Examples:
-
list
delete 2
Deletes the 2nd person in the address book. -
find Betsy
delete 1
Deletes the 1st person in the results of thefind
command.
Selects the person identified by the index number used in the last person listing.
Format: select INDEX
-
Selects the person and loads the Google search page the person at the specified
INDEX
. -
The index refers to the index number shown in the most recent listing.
-
The index must be a positive integer
1, 2, 3, …
Examples:
-
list
select 2
Selects the 2nd person in the address book. -
find Betsy
select 1
Selects the 1st person in the results of thefind
command.
Adds a comment about a specific user.
Format: comment INDEX [c/COMMENT]
-
Comments on the person at the specified
INDEX
. -
The index refers to the index number shown in the most recent listing.
-
The index must be a positive integer
1, 2, 3, …
Example:
-
list
comment 3 c/Likes to play computer games.
Selects the 3rd person in the address book and adds "Likes to play computer games." as comment. -
list
comment 2 c/
Selects the 2nd person in the address book and removes its comment.
Adding comment "Likes to play computer games." to 3rd contact.
The result of comment 3 c/Likes to play computer games.
shows the following:
Removing comment from 4th contact.
The result of comment 4 c/
shows the following:
Adds an appointment time slot for a specific user.
Format: appoint INDEX [ap/APPOINT]
-
Makes an appointment for the person at the specified
INDEX
. -
The index refers to the index number shown in the most recent listing.
-
The index must be a positive integer
1, 2, 3, …
-
The default date format follows the following:
DD/MM/YYYY HR:MN
. However, this format is not enforced and the user has freedom to select his/her own format.
Example:
-
list
appoint 2 ap/20/10/2017 14:45
Selects the 2nd person in the address book and assigns the above appointment slot. -
list
appoint 4 ap/
Removes the appointment from the 4th contact.
Adding appointment at December 28th, 2017 14:45
to 2nd contact.
The result of appoint 2 ap/28/12/2017 14:45
shows the following:
Removing the appointment from 3rd contact.
The result of appoint 3 ap/
shows the following:
Logs in with a Gmail or Yahoo account to allow sending emails
Format: email_login "[EMAIL]" "[PASSWORD]"
-
"[EMAIL]"
is the email used to login. Example:"[email protected]"
-
"[PASSWORD]"
is the passwor. Example:"testpass"
Example:
-
email_login "[email protected]" "testpass"
Note: The Login Button in the User Interface will not update automatically if an email is logged in through console. However, clicking on the Login / Logout button will update the login status accordingly.
Sends an email to a list of recipients. Requires an logged in email using email_login
Format: email_send "[RECIPIENTS]" "[TITLE]" "[BODY]"
-
"[RECIPIENTS]"
is the list of recipients, separated by;
. Example:"[email protected];[email protected]"
-
"[TITLE]"
is the title of the email. Example:"Change of class schedule"
-
"[BODY]"
is the body of the message. Example:"The class schedule is changed to 4 pm"
Example:
-
email_send "[email protected]" "Test Title" "Test Body"
send an email with given title and body to a single recipient. -
email_send "[email protected];[email protected]" "Test Title" "Test Body"
send an email with given title and body to a list of recipients.
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. |
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 ( |
Examples:
-
delete 1
list
undo
(reverses thedelete 1
command) -
select 1
list
undo
Theundo
command fails as there are no undoable commands executed previously. -
delete 1
clear
undo
(reverses theclear
command)
undo
(reverses thedelete 1
command)
Reverses the most recent undo
command.
Format: redo
Examples:
-
delete 1
undo
(reverses thedelete 1
command)
redo
(reapplies thedelete 1
command) -
delete 1
redo
Theredo
command fails as there are noundo
commands executed previously. -
delete 1
clear
undo
(reverses theclear
command)
undo
(reverses thedelete 1
command)
redo
(reapplies thedelete 1
command)
redo
(reapplies theclear
command)
Merges the given .xml
file to the default storage .xml
file specified in preferences.json
.
Format: merge NEW_FILE_PATH
Examples:
-
merge ./data/newFile.xml
-
merge ./data/otherClass.xml
Unique persons that are successfully merge into the address book will appear in the person card list.
💡
|
Merge command is an undoable/redoable command |
Address book data are saved in the hard disk automatically after any command that changes the data.
There is no need to save manually.
The search bar above the person panel shows any person whose name / phone / email / address contains the string typed in the search boxes (case-insensitive).
Interface of the search bar
Examples
Typing "Li" in the name box returns any person whose name contains "li".
Typing "david" in the name box and "9" in the phone box returns any person whose name contains "david" and phone number contains "9".
The login button is located under the search bar. Clicking on the login button opens a window for logging email.
The email login button
The email login window
Any feedback from an login activity will be displayed in the text area at the bottom of the login window, as well as in the console.
The send button is located under the search bar, next to the login button. It will only be available after an email is logged in. Clicking on the send button opens a window for sending email.
The email send button
The email send window
Selecting the check box at the far left of a person card will include his email in the "recipients" field when the send button is clicked.
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 Address Book folder.
-
Add
add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]…
e.g.add n/James Ho p/22224444 e/[email protected] a/123, Clementi Rd, 1234665 t/friend t/colleague
-
Multiple
multiple FILE_PATH
e.gmultiple data/personsToAdd.txt
-
Export
export [FILETYPE] [EXPORT_PATH]
e.gexport .txt C:/Users/This User/Desktop
-
Clear :
clear
-
Delete :
delete INDEX
e.g.delete 3
-
Edit :
edit INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [t/TAG]…
e.g.edit 2 n/James Lee e/[email protected]
-
Find :
find KEYWORD [MORE_KEYWORDS]
e.g.find n/James Jake r/friends e/@gmail.com p/9123
-
Comment :
comment INDEX [c/COMMENT]
e.g.comment 4 c/Likes to code
-
Appoint :
appoint INDEX [c/APPOINTMENT]
e.g.appoint 2 ap/20/10/2017 14:30
-
List :
list
-
Help :
help
-
Select :
select INDEX
e.g.select 2
-
Email Login:
email_login "[EMAIL]" "PASSWORD"
e.g.email_login "[email protected]" "testpass"
-
Email Send:
email_send "[RECIPIENTS]" "[TITLE]" "[BODY]"
e.g.email_send "[email protected];[email protected]" "Test title" "Test Body"
-
History :
history
-
Undo :
undo
-
Redo :
redo
-
Merge :
merge FILE_PATH
e.g.merge data/newfile.xml