Skip to content

Latest commit

 

History

History
1008 lines (753 loc) · 27.7 KB

UserGuide.adoc

File metadata and controls

1008 lines (753 loc) · 27.7 KB

Augustine - User Guide

1. Product overview

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!

2. About

This user guide is an overview of the features available in Augustine and how to use them.

3. Getting started

Follow the steps below to set up Augustine:

  1. 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.
  2. Download the latest augustine.jar here.

  3. Copy the .jar file to the folder you want to use as the home folder for Augustine.

  4. Double-click the .jar file to start Augustine (see Figure 1).

    atAGlance
    Figure 1. Augustine at a glance
  5. Augustine works through typing commands into the command box and pressing Enter to run them.
    e.g. typing help in the command box and pressing Enter will open the help window.

  6. Here are some commands you can try out:

    • list: lists all contacts within Augustine.

    • addn/John Doe p/98765432 e/[email protected] a/John street, block 123, #01-01: adds a contact named John Doe with phone number 98765432, email address [email protected] and address John street, block 123, #01-01 into Augustine.

    • delete3: deletes the third contact shown in the current list.

    • exit: exits Augustine.

  7. Refer to the Features section below to learn all of Augustine’s commands and their details.

4. Features

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.

4.1. Viewing help

The help command will enable you to view this User Guide within Augustine.

Format

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

Here is an example of what happens when you type the help command (see Figure 2).

helpCommand
Figure 2. User Guide is shown after typing the help command in Augustine

4.2. Adding a contact: add

The add command will enable you to populate Augustine.

Format

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 a dd/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.
Examples

Here are some examples of adding contacts into Augustine:

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

    addAll
    Figure 3. Executing the add command with all parameters filled
  2. 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]

    addSome
    Figure 4. Executing the add command with some optional parameters unfilled
    ℹ️
    Note that the fields that are unfilled are represented with a '-'.
  3. 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

    addFail
    Figure 5. Executing the add command with a duplicate email address

4.3. Listing all contacts: list

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.

Format

The format of the list command is as follows:

list [ s/<name|tag|email|address> ]

💡
You can also use the alias l instead of typing out list.

4.4. Editing a contact: edit

The edit command modifies a contact in Augustine.

Format

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

Here are some examples to guide you with editing contacts in Augustine:

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

    editChangeTag
    Figure 6. Before and after the command’s execution
  2. 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].

    editChangePhone
    Figure 7. Before and after the command’s execution

4.5. Searching for contacts: find

The find command searches for contacts in Augustine using names or tags as keywords.

Format

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 match Hans

  • The order of the keywords does not matter. e.g. Hans Bo will match Bo Hans

  • Contacts matching at least one keyword will be returned (i.e. OR search). e.g. Hans Bo will return Hans 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.
Example

Here are some examples of using the find command in Augustine.

  1. Finding by name

    You can find contacts by their names (see Figure 8).

    Command:

    find n/alex roy

    findByName
    Figure 8. Results after searching by name
  2. Finding by tags

    You can find contacts by their tags (see Figure 9).

    Command:

    find t/frie colleagues

    findByTag
    Figure 9. Results after searching by tags
  3. Finding by name and tag

    You can find contacts by both their names and tags (see Figure 10).

    Command:

    find n/adam t/Colleague

    findByNameTag
    Figure 10. Results after searching by names and tags
  4. 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

    findByNameSorted
    Figure 11. Result of find contacts by name with the list displayed sorted by tags

4.6. Deleting a contact: delete

The delete command deletes a specified contact from Augustine.

Format

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

Here are some examples on using the command to delete contacts:

  1. Deleting contact from list

    You can list all the contacts in Augustine and delete the contact by the contact’s index. The command below deletes the second contact on the list (see Figure 12).

    Command:
    1. list

    2. delete 2

    deleteFromList
    Figure 12. Before and after deleting the second contact on the list
  2. 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 the find command (see Figure 13).

    Command:
    1. find Betsy

    2. delete 1

    deleteFromFind
    Figure 13. Before and after deleting the first contact on the list

4.7. Using NUSmods: nusmods

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.

Format

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 one LESSON_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!
Example

Here are some examples of using the nusmods command:

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

  2. Adding or updating a module and its time slots

    The following command will add the module MA1101R 's tutorial group T13 and lecture slot SL2 to the timetable of the contact listed at index 2.

    Command:

    nusmods 2 t/add m/MA1101R lec/SL2 tut/T13

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


4.8. Displaying a contact’s timetable: select

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.

Format

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

Here are some examples of using the select command:

  1. Selecting a contact from list results

    You can list all the contacts in Augustine and select the contact by the contact’s index (see Figure 14).

    Command:
    1. list

    2. select 2

    select2after
    Figure 14. After contact is selected
  2. 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 the find command.

    Command:
    1. find Betsy

    2. select 1


4.9. Emailing contacts: email

The email command sends an email to all contacts from the last displayed contact list in Augustine.

Format

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

Example

Here are some examples of using the email command:

  1. Composing an email draft

    You can compose an email draft in Augustine (see Figure 15).

    ℹ️
    Note that the email draft is stored until Augustine exits or after it is sent.
    Command:

    email em/message es/subject

    emailStep1
    Figure 15. Result of email command
  2. Logging in to email

    You have to login to your Gmail account before you can send an email (see Figure 16).

    Warning
    The 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

    emailStep2
    Figure 16. Result of email command
  3. 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

    emailStep3
    Figure 17. Result of email command
  4. 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:
    1. list

    2. email em/message es/subject el/[email protected]:password et/send

    emailSingleCommand
    Figure 18. Result of email command
  5. Clearing the current email draft in Augustine

    You can clear the email draft stored in Augustine (see Figure 19).

    ℹ️
    Email drafts are only stored in Augustine until Augustine exits.
    Command:

    email et/clear

    emailClear
    Figure 19. Result of email command.

4.10. Displaying birthday tab

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)
happyBirthdayJohnCena
Figure 20. Birthdays tab with highlighted contact

4.11. Displaying Instagram tab: insta

The Instagram tab allows you to view the Instagram profile of the selected contact.

Format

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.

Example

Here is an example of the Instagram command: (see Figure 21)

instagram
Figure 21. Instagram tab in action

4.12. Backing up Augustine data: backup

The backup saves the current contacts data in a separate file, found at /data/addressbook-backup.xml.

Format

The format of the backup command is as follows:

backup

💡
You can also use the alias b instead of typing out backup.

4.13. Listing entered commands: history

The history command lists all the commands that you have entered in reverse chronological order.

Format

The format of the history command is as follows:

history

ℹ️

Pressing the and arrows will display the previous and next input respectively in the command box.


4.14. Undoing previous command: undo

The undo command restores Augustine to the state before the previous undoable command was executed.

Format

The format of the undo command is as follows:

undo

ℹ️

Undoable commands: the commands that modify Augustine’s contents (add, delete, edit and clear).

💡

You can press Ctrl+Z to undo quickly.

Example

Here are some examples of undoing commands in Augustine:

  1. Undoing delete command

    You can use the undo command to reverse the delete 1 command.

    Command:
    1. delete 1

    2. list

    3. undo (reverse the delete 1 command)

  2. Running an invalid undo command

    You cannot use the undo command if there were no prior undoable commands executed. The following undo command will fail.

    Command:
    1. select 1

    2. list

    3. undo (fails)

  3. Undoing multiple commands

    You can use the undo command more than once to undo multiple commands.

    Command:
    1. delete 1

    2. clear

    3. undo (reverses the clear command)

    4. undo (reverse the delete 1 command)


4.15. Redoing the previously undone command: redo

The redo command reverses the most recent undo command.

Format

The format of the redo command is as follows:

redo

💡

You can press Ctrl+Y to redo quickly.

Example
  1. Redoing the last undo command

    You can use the redo command to reverse the undo command.

    Command:
    1. delete 1

    2. undo (reverse the delete 1 command)

    3. redo (reapplies the delete 1 command)

  2. Running an invalid redo command

    You cannot use the redo command if there were no prior undo commands executed.

    Command:
    1. delete 1

    2. redo (fails)

  3. Running multiple redo commands

    You can use the redo command more than once to reverse multiple undo commands.

    Command:
    1. delete 1

    2. clear

    3. undo (reverse the clear command)

    4. undo (reverse the delete 1 command)

    5. redo (reapplies the delete 1 command)

    6. redo (reapplies the clear command)


4.16. Clearing all entries: clear

The clear command clears all entries from Augustine.

Format

The format of the clear command is as follows:

clear

4.17. Exiting the program: exit

The exit command exits Augustine.

Format

The format of the exit command is as follows:

exit

4.18. Saving the data

Augustine data is automatically saved to your hard disk whenever a command changes it.
There is no need to save manually.

5. FAQ

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.

6. Command Summary

Feature

Command

Alias

Example

Add

add n/NAME e/EMAIL [p/PHONE_NUMBER] [a/ADDRESS] [dp/DISPLAY_PICTURE] [b/BIRTHDATE] [insta/USER_ID] [t/TAG]…​

a

add n/James Ho p/22224444 e/[email protected] a/123, Clementi Rd, 1234665 t/friend t/colleague

Clear

clear

c

clear

Delete

delete INDEX

d

delete 3

Edit

edit INDEX [n/NAME] [e/EMAIL] [p/PHONE_NUMBER] [a/ADDRESS] [dp/DISPLAY_PICTURE] [b/BIRTHDATE] [insta/USER_ID] [t/TAG]…​

e

edit 2 n/James Lee e/[email protected]

Find

find KEYWORD [n/KEYWORD [MORE_KEYWORDS]] [t/KEYWORD [MORE_KEYWORDS]] [s/<name|tag|email|address>]

f

find n/James Jake

List

list [s/<name|tag|email|address>]

l

list

Help

help

h

help

Select

select INDEX

s

select 2

Email

email [em/MESSAGE] [es/SUBJECT] [el/[email protected]:password] [et/<send|clear>]

em

email em/message es/subject el/[email protected]:password et/send

Instagram

insta INDEX

i

insta 3

NUSmods

nusmods INDEX t/<add|delete|url> m/<MODULE_CODE|URL> [LESSON_TYPE/LESSON_SLOT]…​

nm

nusmods 2 t/add m/CS2103T tut/T5

Exit

exit

-

exit

Backup

backup

b

backup

History

history

h

history

Undo

undo

u

undo

Redo

redo

r

redo

7. Glossary

NUSmods

A website which can create and display NUS timetables.