By: Team SE-EDU
Since: Jun 2016
Licence: MIT
- 1. Introduction
- 2. Quick Start
- 3. Features
- 4. common
- 5. Friends(Zhi Wei)
- 5.1. Adding a person:
add
- 5.2. Listing all persons :
list
- 5.3. Editing a person :
edit
- 5.4. Locating persons with search all (except email):
find
- 5.5. Locating persons by name:
find_name
- 5.6. Locating persons by address:
find_address
- 5.7. Locating persons by phone:
find_phone
- 5.8. Locating persons by name:
find_email
- 5.9. Locating persons by name:
find_tag
- 5.10. Deleting a person :
delete
- 5.11. Selecting a person :
select
- 5.12. Listing entered commands :
history
- 5.13. Undoing previous command :
undo
- 5.14. Redoing the previously undone command :
redo
- 5.15. Clearing all entries :
clear
- 5.16. List all groups friend is in :
grouplist
- 5.1. Adding a person:
- 6. Timetable(Wen Kai)
- 7. Groups (Melodies)
- 8. Find common time slot in group (Nigel)
- 9. Security (Leslie)
- 9.1. Create an account:
create
- 9.2. login to an account :
login
- 9.3. Changing password: `update_pw `
- 9.4. Encrypt timetable data : `encrypt `
- 9.5. Decrypt timetable data : `decrypt `
- 9.6. get Security question password :
get
- 9.7. Reset password :
reset
- 9.8. Changing security question and answer :
update_sq
- 9.9. Suggest, Requesting new password
[coming in v2.0]
- 9.1. Create an account:
- 10. FAQ
- 11. Command Summary
NUS Hangs is for those who Wants to find a convenient time slot for the people who are joining his/her event. More importantly, NUS Hangs 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,NUS Hangs can get your contact management tasks done faster than traditional GUI apps. Interested? Jump to the Section 2, “Quick Start” to get started. Enjoy!
-
Ensure you have Java version
9
or later installed in your Computer. -
Download the latest
addressbook.jar
here. -
Copy the file to the folder you want to use as the home folder for Nus Hangs.
-
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_friends
: lists all friends you added -
add_friend
add u/Damith C. Rajapakse
: adds a friend named `Damith C. Rajapakse ` to Erium. -
delete
3
: deletes the 3rd friend shown in the current friend list -
exit
: exits the app
-
-
Refer to Section 3, “Features” for details of each command.
Command Format
-
Words in
UPPER_CASE
are the parameters to be supplied by the user e.g. inn/NAME_OF_FRIEND
,NAME_OF_FRIEND
is a parameter which can be used asadd n/John Doe
. -
Items in square brackets are optional e.g
n/NAME [i/INDEX_OF_TIMETABLE]
can be used asn/John Doe i/1
or asn/John Doe
. -
Items in square brackets /\ square brackets means have to choose either left choice or right choice e.g
add_timetable [f/FILENAME l/FILE_LOCATION ] /\ [o/LINK]
can be used asadd_timetable f/mytimetable.png l/C://Users/abc/mysecretstash
oradd_timetable o/http://modsn.us/wJsFc
but notadd_timetable f/mytimetable.png l/C://Users/abc/mysecretstash o/http://modsn.us/wJsFc
-
Parameters can be in any order e.g. if the command specifies
n/NAME_OF_FRIEND i/INDEX_OF_TIMETABLE
,i/INDEX_OF_TIMETABLE n/NAME_OF_FRIEND
is also acceptable.
Adds a person to the address book
Format: add n/NAME [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [t/TAG]…
* Inputs in square brackets are optional
💡
|
A person can have any number of tags (including 0) |
Examples:
-
add n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01
-
add n/Betsy Crowe t/friend e/betsycrowe@example.com a/Newgate Prison p/1234567 t/criminal
-
add n/Nancy t/friend
-
add n/James t/friend e/betsycrowe@example.com t/criminal
Edits an existing person in the address book.
Format: edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [f/FORMAT]
[sl/STORED_LOCATION] [dl/DOWNLOAD_LOCATION] [t/TAG]…
-
Edits the person at the specified
INDEX
. The index refers to the index number shown in the displayed person list. 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/johndoe@example.com
Edits the phone number and email address of the 1st person to be91234567
andjohndoe@example.com
respectively. -
edit 2 n/Betsy Crower t/
Edits the name of the 2nd person to beBetsy Crower
and clears all existing tags. -
edit 1 f/vertical sl/C:\Users\admin\Downloads\cs2103\tiredAndSadness
Edits the format and stored location of the 1st person to bevertical
andC:/Users/admin/Downloads/cs2103/tiredAndSadness/
respectively.
Finds persons whose names, address, phone and tags contain any of the given keywords.
Format: find KEYWORD [MORE_KEYWORDS]
-
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
-
All information of a person will be searched, except for email address
-
Only full words will be matched e.g.
Han
will not matchHans
-
Persons matching at least one keyword will be returned (i.e.
OR
search). e.g.Hans Bo
will returnHans Gruber
,Bo Yang
Examples:
-
find John
Returnsjohn
in name andJohn Doe
in name -
find Betsy Tim John
Returns any person having namesBetsy
,Tim
, orJohn
-
find star
Returns any person havingstar
in tag orstar
in address
Finds persons whose names contain any of the given keywords.
Format: find KEYWORD [MORE_KEYWORDS]
-
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
-
Only the name is searched.
-
Only full words will be matched e.g.
Han
will not matchHans
-
Persons matching at least one keyword will be returned (i.e.
OR
search). e.g.Hans Bo
will returnHans Gruber
,Bo Yang
Examples:
-
find John
Returnsjohn
andJohn Doe
-
find Betsy Tim John
Returns any person having namesBetsy
,Tim
, orJohn
Finds persons whose address contain any of the given keywords.
Format: find KEYWORD [MORE_KEYWORDS]
-
The search is case insensitive. e.g
blk
will matchBLK
-
The order of the keywords does not matter. e.g.
Serangoon Street
will matchStreet Serangoon
-
Only the address is searched.
-
Only full words will be matched e.g.
Han
will not matchHans
-
Postal code or Unit number can be used to search e.g. '#17-123' or 'S345951'
-
Address matching at least one keyword will be returned (i.e.
OR
search). e.g.Hans Bo
will returnHans Gruber
,Bo Yang
Examples:
-
find Serangoon
ReturnsJohn
with 'serangoon gardens' andJohn Doe
with 'Serangoon Street' -
find #12-123
Returns any person having names address '#12-123'
Finds persons whose phone contain any of the given keywords.
Format: find KEYWORD [MORE_KEYWORDS]
-
The search is number only.
-
The order of the keywords does not matter. e.g.
Hans Bo
will matchBo Hans
-
Only phone numbers is searched.
-
Only full phone number will be matched e.g.
911
will not match91124335
Examples:
-
find 91234567
Returnsjohn
with phone number91234567
Finds persons whose email contain any of the given keywords.
Format: find KEYWORD [MORE_KEYWORDS]
-
The search is case insensitive. e.g
AbcD@example.com
will matchabcd@example.com
-
Only the email is searched.
-
Only full words will be matched e.g.
AbcD
will not matchAbcD@example.com
Examples:
-
find ABC@example.com
Returnsjohn
with 'abc@example.com' in email
Finds persons whose tag contain any of the given keywords.
Format: find KEYWORD [MORE_KEYWORDS]
-
The search is case insensitive. e.g
friends
will matchFriends
-
The order of the keywords does not matter. e.g.
best friend
will matchfriend best
-
Only the tag is searched.
-
Only full words will be matched e.g.
friend
will not matchfriends
-
Tags matching at least one keyword will be returned (i.e.
OR
search). e.g.friend
will returnbest friend
,boy friend
Examples:
-
find friends
Returnsjohn
andfriends
in tag -
find friends family BFF
Returns any person having tagfriends
,family
, orBFF
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 displayed person list.
-
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 displayed person list.
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 displayed person list.
-
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.
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)
add a timetable from the stored folder in NUS Hangs
Format: `add_timetable INDEX `
-
Add the timetable at the specified
INDEX
. -
The index refers to the index number shown in the displayed person list.
-
The index must be a positive integer 1, 2, 3, …
Examples:
-
add_timetable 1
Download a timetable in the System as a png file or csv file in the format of the person.+ Format: `download_timetable INDEX p/PASSWORD `
-
Download the timetable at the specified
INDEX
. -
The index refers to the index number shown in the displayed person list.
-
The index must be a positive integer 1, 2, 3, …
Examples:
-
download_timetable 1 p/password
Delete a timetable in the system by index
Format: delete_timetable INDEX p/password
-
Deletes the timetable at the specified
INDEX
. -
The index refers to the index number shown in the displayed timetable list.
-
The index must be a positive integer 1, 2, 3, …
Examples:
-
list_timetable
delete_timetable 2 p/password
Deletes the 2nd timetable in the address book. -
find_timetable Betsy
delete_timetable 1 p/password
Deletes the 1st timetable in the results of thefind_timetable
command.
Add a group to the System
Format: add_group n/GROUPNAME d/GROUPDESCRIPTION `
Examples:
-
add_group n/happyfriends d/a group of happy friends
Edit a group’s details. There must be at least 1 field non-empty.
If field is empty, system assumes that the field remains unedited.
Format: edit_group OLDGROUPNAME [n/NEWGROUPNAME] [d/NEWGROUPDESCRIPTION]
Examples:
-
edit_group happyfriends n/sadfriends d/sad because of cs2103
-
edit_group happyfriends d/very sad because of cs2103
Find a group’s index whose names contain any of the given keywords
Format: find_group KEYWORD [MORE_KEYWORDS]
-
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
-
Only the name is searched.
-
Only full words will be matched e.g.
Han
will not matchHans
-
Persons matching at least one keyword will be returned (i.e.
OR
search). e.g.Hans Bo
will returnHans Gruber
,Bo Yang
Examples:
-
find_group John
Returnsjohn family
andJohn House
-
find_group Betsy Tim John
Returns any group having namesBetsy
,Tim
, orJohn
Delete a group in the system by name
Format: `delete_group n/GROUPNAME `
-
Deletes the group with the specified
GROUPNAME
Examples:
-
delete_group n/happyfriends
shows a list of all persons in a group
Format: view_group n/GROUP_NAME
-
List all persons of a group at the specified
GROUPNAME
.
Examples:
-
` view_group n/happyfriends`
Adds a person to a group if the status of the group is open.
Format: register FRIEND_INDEX n/GROUP_NAME
-
Edits the group of unique
GROUPNAME
. -
Edits the group at the specified
INDEX_OF_FRIEND
. The index refers to the index number shown in the displayed person list. The index must be a positive integer 1, 2, 3, …
Examples:
-
`register 1 n/happyfriends `
Find the kth best available time slot of all the people in the group you are in
Format: `find k/KTH_BEST g/GROUPINDEX `
-
Edits the group at the specified
INDEX_OF_GROUP
. The index refers to the index number shown in the displayed group list. The index must be a positive integer 1, 2, 3, …
Examples:
-
find k/1 g/1
Create an account in the system. The password and security answer are both case sensitive.
Format: create u/USERNAME pw/PASSWORD
Examples:
-
create u/sampleUser pw/dontUseWeakPassword
Login into the system.
Format: login u/USERNAME pw/PASSWORD
Examples:
-
login u/username pw/dontUseWeakPassword
Change the user password, requires user to be logged in first.
Format: update_pw c/CURRENT_PASSWORD n/NEW_PASSWORD
Examples:
-
update_pw c/password n/newpass
Encrypt a timetable, requires user to be logged in first.
Format: encrypt t/TIMETABLE_INDEX
Examples:
-
encrypt t/1
Decrypt a timetable, requires user to be logged in first.
Format: decrypt t/TIMETABLE_INDEX
Examples:
-
decrypt t/1
Resets a password by answering the security question correctly.
Format: reset a/SECURITY_ANSWER n/NEW_PASSWORD
Examples:
-
reset a/Near the moon
Change the user security question and answer, requires user to be logged in first.
Format: update_sq c/CURRENT_PASSWORD [n/NEWSECURITY_QUESTION] [a/SECURITY_ANSWER]
-
At least one of the optional fields must be provided.
-
Existing values will be updated to the input values.
Examples:
-
update_pw c/password n/why me? a/because it is cs2103
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.
-
help :
help
-
Add_friend
add_friend n/NAME_OF_FRIEND [t/TEXT_FILE l/TEXT_FILE_LOCATION] [i/INDEX_OF_TIMETABLE]
e.g.add u/Damith C. Rajapakse [i/1] [t/friends.txt l/C://Users/abc/mysecretstash]
-
list_friends :
list_friends
-
edit_friend :
edit_friend [n/NEW_NAME] i/INDEX_OF_FRIEND [t/TIMETABLE_INDEX]
e.g.edit_friend [n/iamgod] i/1 [t/1]
-
find_friend :
find_friend KEYWORD [MORE_KEYWORDS]
e.g.find_friend James Jake
-
delete_friend :
delete i/INDEX_OF_FRIEND
e.g.delete_friend 3
-
clear_friend :
clear_friend
-
grouplist :
listgroup
-
add_timetable
add_timetable INDEX `
e.g. `add_timetable 1 -
download_timetable :
download_timetable INDEX
e.g.download_timetable 1 l/C://Users/abc/mysecretstash
-
delete_timetable :
delete INDEX p/password
e.g.delete_timetable 3 p/password
-
add_group
add_group g/GROUPNAME d/GROUPDESCRIPTION m/MAXNUMBEROFPEOPLE
e.g.add_group g/happyfriends d/a group of happy friends m/3
-
list_groups :
list_groups
-
edit_group :
edit_group i/GROUPINDEX [g/NEWGROUPNAME] [d/NEWGROUPDESCRIPTION] [m/NEWMAXNUMBEROFPEOPLE] [s/STATUS]
e.g.edit_group i/1 g/sadfriends d/sad because of cs2103 s/closed
-
find_group :
find_friend KEYWORD [MORE_KEYWORDS]
e.g.find_group James Jake
-
delete_group :
delete i/INDEX_OF_FRIEND
e.g.delete_group 3
-
clear_groups :
clear_groups
-
viewgroup :
view_group i/GROUP_INDEX
+ e.g.viewgroup 3
-
register
register f/FRIEND_INDEX g/GROUP_INDEX
e.g.register f/1 g/1
-
find_time :
find k/KTH_BEST g/GROUPINDEX
e.g.find k/1 g/1
-
create :
create u/USERNAME p/PASSWORD e/EMAIL q/SECURITY_QUESTION a/SECURITY_ANSWER
e.g.create u/iamgod p/kamisama e/enel@skypiea.com q/Where is fairy vearth? a/Near the moon
-
login :
login u/USERNAME p/PASSWORD
e.g.login u/James Jake p/gg
-
update_pw :
update_pw c/CURRENT_PASSWORD n/NEW_PASSWORD
e.g.update_pw c/password n/newpass
-
encrypt :
encrypt t/TIMETABLE_INDEX
e.g.encrypt t/1
-
decrypt :
decrypt t/TIMETABLE_INDEX
e.g.decrypt t/1
-
get :
get
-
reset :
reset a/SECURITY_ANSWER n/NEW_PASSWORD
e.g.reset a/SECURITY_ANSWER n/NEW_PASSWORD
-
update_sq :
update_sq c/CURRENT_PASSWORD [n/NEWSECURITY_QUESTION] [a/SECURITY_ANSWER]
e.g.update_pw c/password n/why me? a/because it is cs2103