By: W14-B2
Since: Oct 2017
Licence: MIT
Credits: Team SE-EDU
https://github.com/se-edu/addressbook-level4
- 1. Product overview
- 2. About
- 3. Getting started
- 4. Features
- 4.1. Viewing help
- 4.2. Adding a contact:
add
- 4.3. Listing all contacts:
list
- 4.4. Editing a contact:
edit
- 4.5. Searching for contacts:
find
- 4.6. Deleting a contact:
delete
- 4.7. Using NUSmods:
nusmods
- 4.8. Displaying a contact’s timetable:
select
- 4.9. Emailing contacts:
email
- 4.10. Displaying birthday tab
- 4.11. Displaying Instagram tab:
insta
- 4.12. Backing up Augustine data:
backup
- 4.13. Listing entered commands:
history
- 4.14. Undoing previous command:
undo
- 4.15. Redoing the previously undone command:
redo
- 4.16. Clearing all entries:
clear
- 4.17. Exiting the program:
exit
- 4.18. Saving the data
- 5. FAQ
- 6. Command Summary
- 7. Glossary
Every August, a new chapter of your school life begins. You will meet new friends and establish new connections in school, and it will be difficult to keep track of them all. Let Augustine help you keep track of your friends’ contact numbers, addresses, timetables and birthdays!
Follow the steps below to set up Augustine:
-
Ensure that you have Java version
1.8.0_60 or later
installed on your computer.ℹ️Augustine will not work with any earlier version of java. -
Download the latest
augustine.jar
here. -
Copy the
.jar
file to the folder you want to use as the home folder for Augustine. -
Double-click the
.jar
file to start Augustine (see Figure 1). -
Augustine works through typing commands into the command box and pressing Enter to run them.
e.g. typinghelp
in the command box and pressing Enter will open the help window. -
Here are some commands you can try out:
-
list
: lists all contacts within Augustine. -
add
n/John Doe p/98765432 e/[email protected] a/John street, block 123, #01-01
: adds a contact namedJohn Doe
with phone number98765432
, email address[email protected]
and addressJohn street, block 123, #01-01
into Augustine. -
delete
3
: deletes the third contact shown in the current list. -
exit
: exits Augustine.
-
-
Refer to the Features section below to learn all of Augustine’s commands and their details.
Before you continue with this section, do take note of the following:
Command Format
-
Words in
UPPER_CASE
are compulsory parameters that requires your input.-
For example, if you see
add n/NAME
,NAME
is a compulsory parameter you have to include in the command. -
E.g.
add n/John Doe
-
-
Words in
square brackets
[ ] are optional parameters that can be left unfilled by you.-
For example, if you see
n/NAME [t/TAG]
,TAG
is an optional parameter you could choose whether or not to include. -
E.g.
n/John Doe t/friend
-
-
Words in
angle brackets
< > separated by a bar|
requires you to fill up one of the parameters.-
For example,
< name | tag >
means to input either name or tag, but not both, in your command.
-
-
Words with
…
after them are parameters that can be used multiple times.-
For example,
[t/TAG]…
can be left unfilled, but can also be inputted multiple times. -
E.g.
t/friend
-
E.g.
t/friend t/family t/brother
-
ℹ️
|
Augustine accepts parameters in any order. E.g. n/NAME p/PHONE_NUMBER and p/PHONE_NUMBER n/NAME are interchangeable.
|
The help
command will enable you to view this User Guide within Augustine.
The format of the help
command is as follows:
help
💡
|
You can also press F1 on your keyboard instead of typing help to display the User Guide.
|
The add
command will enable you to populate Augustine.
The format of the add
command is as follows:
add n/NAME e/EMAIL [p/PHONE_NUMBER] [a/ADDRESS] [b/BIRTHDATE] [dp/DISPLAY_PICTURE] [insta/USER_ID] [t/TAG]…
Things to take note:
-
NAME
of the contact can only contain alphabets -
PHONE_NUMBER
of the contact must contain exactly 8 numbers and start with '6','8' or '9' -
DISPLAY_PICTURE
of the contact must be a valid .jpg image existing in on your computer. -
BIRTHDATE
must contain valid date entries separated in add/mm/yyyy
format
💡
|
You can also use the alias a instead of typing out add .
|
Warning
|
Augustine will not allow multiple contacts to have the same email address. |
Here are some examples of adding contacts into Augustine:
-
Adding contacts with all the fields filled
You can add a new contact into Augustine with all the optional fields filled using the command below (see Figure 3).
Command: add n/John Wick p/97488235 e/[email protected]
a/John street, block 123, #01-01 b/01/02/1995 -
Adding contacts with some optional fields unfilled
You can also add a new contact into Augustine without filling up all the fields (see Figure 4).
Command: add n/Sally Ong e/[email protected]
ℹ️Note that the fields that are unfilled are represented with a '-'. -
Adding a contact that already exists in Augustine
You cannot add a new contact that has the same email address as an existing contact in Augustine (see Figure 5).
Command: add n/John Wick p/97488235 e/[email protected] a/John street, block 123, #01-01 b/01/02/1995
The list
command displays a list of all your contacts in Augustine. There is also an optional sort command
that sorts the list by name, tag, email address, or address in alphabetical order.
The edit
command modifies a contact in Augustine.
The format of the edit
command is as follows:
edit INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [b/BIRTHDATE] [insta/USER_ID] [t/TAG]…
Things to take note:
-
The command edits the contact at the specified
INDEX
.-
INDEX
refers to the index number shown in the list of contacts. -
The index must be a whole number (1, 2, 3, …).
-
-
At least one of the optional fields must be filled.
-
When editing tags, new tags will be added to the contact and existing tags will be removed. (See Example 1)
-
For the rest of the fields, existing values will be replaced by the new ones.
-
NAME and TAG must only consist of alphabets and/or numbers.
-
You can remove all of the contact’s tags by typing just
t/
without specifying the tags. -
PHONE_NUMBER
of the contact must contain exactly 8 numbers and start with '6','8' or '9'.
💡
|
You can also use the alias e instead of typing out edit .
|
Warning
|
You cannot edit someone to have the exact same details as another contact. |
Here are some examples to guide you with editing contacts in Augustine:
-
Adding and removing tags
You can add or remove the tags to/from a particular contact using the
edit
command below (see Figure 6).Command: edit 2 t/colleagues t/friends
-
Since Bernice was already tagged under "colleagues", this command removes the tag "colleagues" from Bernice.
-
Since Bernice was not already tagged under "friends", this command adds the "friends" tag to Bernice.
-
-
Changing phone number and email
You can change the phone number and email of a particular contact using
edit
command below (see Figure 7).Command: edit 2 p/87921929 e/[email protected]
-
The command will change the phone number of Bernice to
87921929
and her email to[email protected]
.
-
The find
command searches for contacts in Augustine using names or tags as keywords.
The format of the find
command is as follows:
find [ n/KEYWORD [MORE_KEYWORDS] ] [ t/KEYWORD [MORE_KEYWORDS] ] [ s/<name | tag | email | address> ]
Things to take note:
-
The find command requires at least one tag or name keyword..
-
Find by tag:
find t/tag1 tag2
-
Find by name:
find n/adam eunice
-
Find by name and tag:
find n/adam eunice t/tag1 tag2
-
-
The keywords are case-insensitive. e.g
hans
will matchHans
-
The order of the keywords does not matter. e.g.
Hans Bo
will matchBo Hans
-
Contacts matching at least one keyword will be returned (i.e.
OR
search). e.g.Hans Bo
will returnHans Gruber
,Bo Yang
-
The find command results can be be sorted by the alphabetic order of name, tag, email or address.
-
Find with sort by name:
find n/adam eunice s/name
-
Find with sort by tag:
find n/adam eunice s/tag
-
Find with sort by email:
find n/adam eunice s/email
-
Find with sort by address:
find n/adam eunice s/address
-
-
The sort options < name | tag | email | address > are case-sensitive.
💡
|
You can also use the alias f instead of typing out find .
|
Warning
|
You cannot run the find command without typing any keywords. |
Here are some examples of using the find command in Augustine.
-
Finding by name
-
Finding by tags
-
Finding by name and tag
-
Finding by name with sort option
You can find contacts and sort the resulting contact list by name, tag, email or address in alphabetical order. Type the command below to find users by their names and then sort the resulting contact list by the tags (see Figure 11).
ℹ️Note that the sort option "name", "tag", "email" and "address" are case-sensitive. Command: find n/alex roy s/tag
The delete
command deletes a specified contact from Augustine.
The format of the delete
command is as follows:
delete INDEX
Things to take note:
-
Deletes the contact at the specified
INDEX
. -
INDEX
refers to the index number shown in the the list of contacts. -
The index must be a whole number (1, 2, 3, …).
💡
|
You can also use the alias d instead of typing out delete .
|
Here are some examples on using the command to delete contacts:
-
Deleting contact from list
-
Deleting contact from find results
You can use the
find
command to first get a list of filtered contacts and then delete a contact by its new index. The command below deletes the first contact in the results displayed after thefind
command (see Figure 13).Command: -
find Betsy
-
delete 1
-
Augustine is integrated with https://nusmods.com.
You can use the nusmods
command to add, edit or delete modules from a contact’s timetable.
Before adding modules to contacts, you will need to open config.json
and enter the current academic year.
The config file can be found in the same folder as Augustine.
The format of the nusmods
command is as follows:
nusmods INDEX t/<add|delete|url> m/<MODULE_CODE|URL> [LESSON_TYPE/LESSON_SLOT]…
Things to take note:
-
This command changes the modules of the contact at the specified
INDEX
. -
INDEX
refers to the index number shown in the the list of contacts. -
The index must be a whole number (1, 2, 3, …).
-
t/ is followed by "add", "delete" or "url".
-
"t/add" will require
m/MODULE_CODE
and at least oneLESSON_TYPE/LESSON_SLOT
-
LESSON_TYPE
refers to the lesson type. Here is a list of possible lesson types:-
Dlec
-
Lec
-
Lab
-
Plec
-
Ptut
-
Rec
-
Sec
-
Sem
-
Tut
-
Tut2
-
Tut3
-
-
LESSON_SLOT
is to indicate which slot the contact is allocated to. For example, "tut/5" means that he belongs in tutorial group 5. -
You can use "t/add" to update lesson slots too.
-
-
"t/delete" will require
m/MODULE_CODE
only. -
"t/url" will require
m/URL
.-
URL
is a NUSmods URL which already contains all the modules. This will make it easy to share entire timetables instead of manually inserting modules one by one. -
This will overwrite all existing modules the contact had.
-
-
💡
|
You can also use the alias nm instead of typing out nusmods .
|
💡
|
Most students in NUS use NUSmods, ask them for their timetable URL to save time populating Augustine! |
Here are some examples of using the nusmods
command:
-
Inputting timetable with URL
The following command will overwrite the timetable of the contact listed at index 1 with the timetable given in the URL. You can copy the URL from your friend and paste it into Augustine.
Command: nusmods 1 t/url m/https://nusmods.com/timetable/2017-2018/sem1?cs2101[SEC]=5&CS2103T[TUT]=T5&MA1101R[LAB]=B01&MA1101R[LEC]=SL2&MA1101R[TUT]=T13&CS2010[LEC]=1&CS2010[LAB]=6&CS2010[TUT]=5&GET1020[LEC]=L1
-
Adding or updating a module and its time slots
The following command will add the module
MA1101R
's tutorial groupT13
and lecture slotSL2
to the timetable of the contact listed at index 2.Command: nusmods 2 t/add m/MA1101R lec/SL2 tut/T13
-
Removing a module from a contact
The following command will remove the module
CS2010
from the timetable of the contact listed at index 2.Command: nusmods 2 t/remove m/CS2010
After you have set a timetable to a contact with the nusmods
command, you can
use the select
command to display the timetable of a contact through the NUSmods website.
The format of the select
command is as follows:
select INDEX
Things to take note:
-
This command selects the contact specified at
INDEX
and loads the NUSmods webpage with the timetable belonging to the contact. -
INDEX
refers to the index number shown in the the list of contacts. -
The index must be a whole number (1, 2, 3, …).
💡
|
You can also use the alias s instead of typing out select .
|
Here are some examples of using the select
command:
-
Selecting a contact from list results
-
Selecting a contact from find results
You can first use the
find
command to get a list of filtered contacts and then select the contact by its new index. The command below selects the first contact on the results displayed after thefind
command.Command: -
find Betsy
-
select 1
-
The email
command sends an email to all contacts from the last displayed contact list in Augustine.
The format of the email
command is as follows:
email [ em/MESSAGE ] [ es/SUBJECT ] [ el/[email protected]:password ] [et/<clear|send> ]
Things to take note:
-
This command requires the message (em/), subject (es/), Gmail address/password (el/) fields to be filled and at least one contact displayed on the contact list before an email can be sent out.
-
The email account used in the command must be a Gmail account.
-
The setting "Allow less secure apps" must be enabled for the Gmail account.
-
Go to your Google account → Your Account → Sign in and Security → Allow Less Secure App:OFF
-
Change it to "Allow less secure app:ON"
-
-
This command will create an email draft if the command does not include
et/send
. -
To create an email draft:
-
Add message to email draft:
email em/message to send
-
Add subject to email draft:
email es/subject of email
-
Login to Gmail:
email el/[email protected]:password
-
-
To send an email:
-
Send the current email draft:
email et/send
-
Create a new email draft and send:
email em/message es/subject el/[email protected]:password et/send
-
-
The email will be sent to all contacts currently displayed in Augustine contact list tab (see Example 1).
Here are some examples of using the email command:
-
Composing an email draft
-
Logging in to email
You have to login to your Gmail account before you can send an email (see Figure 16).
WarningThe email you login with must be a Gmail account. ℹ️The setting "Allow less secure apps" must be enabled for the Google account used. Command: email el/[email protected]:password
-
Sending the draft email
After following the above examples, you would have successfully composed a draft email and logged onto to your Gmail account. To send out that email, simply use the command below: (see Figure 17).
ℹ️Note that you must have at least 1 contact in your current displayed contact list. Command: email et/send
-
Composing and sending the email draft in one single command
You can compose an email and send it to all contacts displayed in your current contact list in one single command (see Figure 18).
Command: -
list
-
email em/message es/subject el/[email protected]:password et/send
-
-
Clearing the current email draft in Augustine
The Birthdays tab lists all your existing contacts starting from the contact with the closest upcoming birthday.
Things to take note:
-
You cannot edit Augustine data using the contacts' ordering in the Birthdays tab. You should be referring to the main Contact List tab to make changes to the data.
-
You do not need to manually update the Birthdays tab, any changes made to the data will be reflected in both the Contact List and Birthdays tab automatically.
💡
|
The contact whose birthday is today (according to system time) will be highlighted in blue. Send him your well wishes! (see Figure 20) |
The Instagram tab allows you to view the Instagram profile of the selected contact.
The format of the insta
command is as follows:
insta INDEX
💡
|
You can also use the alias i instead of typing out insta .
|
Things to take note:
-
You could log on to Instagram like you would on a normal web browser to be able to view the private accounts you follow.
-
If you do not manually log out, you will stay logged on until Augustine is closed. Augustine will not store any of your personal information.
-
If you do not have a contact’s Instagram account ID, this tab will redirect you to the Instagram home page.
-
You could also manually click on the tab and contact card if you prefer that to using the command.
The backup
saves the current contacts data in a separate file, found at /data/addressbook-backup.xml
.
The history
command lists all the commands that you have entered in
reverse chronological order.
The undo
command restores Augustine to the state before the previous undoable command was executed.
The format of the undo
command is as follows:
undo
ℹ️
|
Undoable commands: the commands that modify Augustine’s contents ( |
💡
|
You can press Ctrl+Z to undo quickly. |
Here are some examples of undoing commands in Augustine:
-
Undoing delete command
You can use the
undo
command to reverse thedelete 1
command.Command: -
delete 1
-
list
-
undo
(reverse thedelete 1
command)
-
-
Running an invalid undo command
You cannot use the
undo
command if there were no prior undoable commands executed. The followingundo
command will fail.Command: -
select 1
-
list
-
undo
(fails)
-
-
Undoing multiple commands
You can use the
undo
command more than once to undo multiple commands.Command: -
delete 1
-
clear
-
undo
(reverses theclear
command) -
undo
(reverse thedelete 1
command)
-
The redo
command reverses the most recent undo
command.
-
Redoing the last undo command
You can use the
redo
command to reverse theundo
command.Command: -
delete 1
-
undo
(reverse thedelete 1
command) -
redo
(reapplies thedelete 1
command)
-
-
Running an invalid redo command
You cannot use the
redo
command if there were no priorundo
commands executed.Command: -
delete 1
-
redo
(fails)
-
-
Running multiple redo commands
You can use the
redo
command more than once to reverse multipleundo
commands.Command: -
delete 1
-
clear
-
undo
(reverse theclear
command) -
undo
(reverse thedelete 1
command) -
redo
(reapplies thedelete 1
command) -
redo
(reapplies theclear
command)
-
The clear
command clears all entries from Augustine.
The exit
command exits Augustine.
Q: How do I transfer my data to another computer?
A: Install Augustine on that other computer and overwrite the addressbook.xml
file generated there
(located at /data/addressbook.xml
from the program’s root directory) with the one from your original.
Feature |
Command |
Alias |
Example |
Add |
|
a |
|
Clear |
|
c |
|
Delete |
|
d |
|
Edit |
|
e |
|
Find |
|
f |
|
List |
|
l |
|
Help |
|
h |
|
Select |
|
s |
|
|
em |
|
|
|
i |
|
|
NUSmods |
|
nm |
|
Exit |
|
- |
|
Backup |
|
b |
|
History |
|
h |
|
Undo |
|
u |
|
Redo |
|
r |
|