By: Team W13-2 Since: Sept 2018 Licence: MIT

1. Introduction

EventsPlus+ is for the busy university student who prefer to use a desktop app for managing contacts and planning ad-hoc events. EventsPlus+ aims to simplify some of the more time-consuming administrative tasks such as coordinating location and date of ad-hoc events using a Command Line Interface (CLI).

2. Quick Start

  1. Ensure you have Java version 9 or later installed in your Computer.

  2. Download the latest eventsPlus+.jar here.

  3. Copy the file to the folder you want to use as the home folder for your Address Book.

  4. Double-click the file to start the app. The GUI should appear in a few seconds.

    Ui
  5. Type the command in the command box and press Enter to execute it.
    e.g. typing help and pressing Enter will open the help window.

  6. Some example commands you can try:

    • list : lists all contacts

    • addn/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01 f/SDE : adds a contact named John Doe to the Address Book.

    • delete3 : deletes the 3rd contact shown in the current list

    • exit : exits the app

  7. Refer to Section 3, “Features” for details of each command.

3. Features

Command Format

  • Words in UPPER_CASE are the parameters to be supplied by the user e.g. in add n/NAME, NAME is a parameter which can be used as add n/John Doe.

  • Command words are case-sensitive e.g. addEvent is a valid command word, but addevent is not.

  • Items in square brackets are optional e.g n/NAME [t/TAG] can be used as n/John Doe t/friend or as n/John Doe.

  • Items with ​ after them can be used multiple times including zero times e.g. [t/TAG]…​ can be used as   (i.e. 0 times), t/friend, t/friend t/family etc. p/PHONE_NUMBER…​ can be used as p/98765432, p/98765432 p/88888888 etc. (i.e. 1 or many times)

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

  • Items in curly brackets are considered to be an entity. The rules outside the curly brackets apply to the entity as a whole. e.g. {group/GROUP_NAME i/1 INDEX}…​ can be used as group/CS2103_Group1 i/1 group/CS2013_Group2 i/3

3.1. Auto-completion of commands: TAB key

To auto-complete any command words, press the TAB key.
For example, if ad is typed, add will be displayed in the command box upon pressing the TAB key.

Note that only command words will be auto-completed, and the auto-completion will only be successful if there are any valid command words (including command aliases) containing the current input as a prefix. The auto-completed is the nearest word containing the current input as a prefix.

3.3. Toggling UI tabs : toggle, alias t

Format: toggle

Undo/Redo commands will not undo/redo the toggle command.

3.4. Adding a person: add, alias a

Adds a person to the address book
Format: add n/NAME p/PHONE_NUMBER…​ e/EMAIL a/ADDRESS [t/TAG] f/FACULTY

  • A person can have any number of tags (including 0)

  • A person can have 1 or many phone numbers

  • A person’s tags will be converted to lowercase regardless of the input (upper or lower case)

  • A person can have no faculty using '-', else faculty names are based on NUS naming conventions (i.e. SOC, FOC, YSTCOM, YLLSOM, FOE, BIZ, SDE, FOD, FOL)

Examples:

  • add n/John Doe p/98765432 p/88888888 e/johnd@example.com a/John street, block 123, #01-01 f/-

  • a n/Betsy Crowe t/friend e/betsycrowe@example.com a/Newgate Prison p/1234567 t/criminal f/SOC

3.5. Listing all persons : list, alias ls

Shows a list of all persons in the address book.
Format: list or ls

3.6. Editing a person : edit, alias e

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 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 or e 1 p/91234567 e/johndoe@example.com
    Edits the phone number and email address of the 1st person to be 91234567 and johndoe@example.com respectively.

  • edit 2 n/Betsy Crower t/ or e 2 n/Betsy Crower t/
    Edits the name of the 2nd person to be Betsy Crower and clears all existing tags.

3.7. Locating persons by name: find, alias f

Finds persons whose names contain any of the given keywords.
Format: find KEYWORD [MORE_KEYWORDS]

  • The search is case insensitive. e.g hans will match Hans

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

  • Only the name is searched.

  • Only full words will be matched e.g. Han will not match Hans

  • Persons matching at least one keyword will be returned (i.e. OR search). e.g. Hans Bo will return Hans Gruber, Bo Yang

Examples:

  • find John or f John
    Returns john and John Doe

  • find Betsy Tim John or f Betsy Tim John
    Returns any person having names Betsy, Tim, or John

3.8. Deleting a person : delete, alias d

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 or d 2
    Deletes the 2nd person in the address book.

  • find Betsy
    delete 1 or d 1
    Deletes the 1st person in the results of the find command.

3.9. Selecting a person : select, alias s

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 or s 2
    Selects the 2nd person in the address book.

  • find Betsy
    select 1 or s 1
    Selects the 1st person in the results of the find command.

3.10. Listing entered commands : history, alias hs

Lists all the commands that you have entered in reverse chronological order.
Format: history or h

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

3.11. Undoing previous command : undo, alias u

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 (add, delete, edit and clear).

Examples:

  • delete 1
    list
    undo or u (reverses the delete 1 command)

  • select 1
    list
    undo
    The undo command fails as there are no undoable commands executed previously.

  • delete 1
    clear
    undo or u (reverses the clear command)
    undo or u (reverses the delete 1 command)

3.12. Redoing the previously undone command : redo, alias r

Reverses the most recent undo command.
Format: redo

Examples:

  • delete 1
    undo or u (reverses the delete 1 command)
    redo or r (reapplies the delete 1 command)

  • delete 1
    redo or r
    The redo command fails as there are no undo commands executed previously.

  • delete 1
    clear
    undo or u (reverses the clear command)
    undo or u (reverses the delete 1 command)
    redo or r (reapplies the delete 1 command)
    redo or r (reapplies the clear command)

3.13. Show Faculty Location : showLocation

Shows the location of the person’s (identified by index number) faculty in the the location display panel.

Format: showLocation INDEX

Examples:

  • showLocation 5

3.14. Suggested Meeting Location : generateLocation

Creates a randomly suggested location in NUS to meet up for an event (uniquely identified by date and event’s index number).

Format: generateLocation d/EVENT_DATE i/EVENT_INDEX

Examples:

  • generateLocation d/2018-04-01 i/1

3.15. Adding an event: addEvent, alias ae

Adds an event in the system with information specified by the user.

Format: addEvent n/EVENT_NAME dsc/EVENT_DESCRIPTION d/DATE(YYYY-MM-DD) st/START_TIME(HHMM) et/END_TIME(HHMM) a/EVENT_ADDRESS [i/CONTACT_INDEX]…​ [t/EVENT_TAG]…​ The user can input values for the following fields when adding an event:

  • Event name

  • Event description

  • Event date

  • Event start time

  • Event end time

  • Event address

  • Contact Index / Indices

  • Event Type(s)

Note that each of these fields, except for address, contact indices and event type, are mandatory, and has to be supplied by the user before the event can be successfully added into the system. In addition, note the following constraints for the input values.

  • Event names and descriptions should only contain alphanumeric characters and should not have any special characters e.g. *, &, etc.

  • Event dates should be in the format YYYY-MM-DD

  • Event times (start or end time) should be in the 24-hour format HHMM

  • Start and end times for a given event can be the same.
    e.g. addEvent n/Doctor Appointment dsc/Consultation d/2018-10-14 st/1030 et/1030 a/123, Clementi Rd, 1234665 is a valid command

  • Contact indices should be based on the latest displayed person list.

  • Event type has to be one of the existing tags in the EventsPlus+. If an event tag does not exist in EventsPlus+, it has to be added in before creating the event with the new event tag.

  • If no event address is supplied by the user, "TBD" will be set in place of the address.

Examples:

  • Without contacts and event tags
    addEvent n/Doctor Appointment dsc/Consultation d/2018-10-14 st/1030 et/1200 a/123, Clementi Rd, 1234665

  • With a single contact
    list
    addEvent n/Doctor Appointment dsc/Consultation d/2018-10-14 st/1030 et/1200 a/123, Clementi Rd, 1234665 i/1

  • With multiple contacts
    Find Betsy Tim John
    addEvent n/Meeting dsc/Project meeting d/2018-10-14 st/1030 et/1200 a/123, Clementi Rd, 1234665 i/1 i/2 i/3

  • With contact indices and event tags
    addEventTag t/Meeting t/Appointment
    addEvent n/Doctor Appointment dsc/Consultation d/2018-10-14 st/1030 et/1200 a/123, Clementi Rd, 1234665 i/1 t/Meeting t/Appointment

In EventsPlus+, the events can be found in the Events tab, and are displayed according to their date, in decreasing date order. Within each date, the events are ordered from earliest to latest.

After the user executes the command addEvent n/Doctor Appointment dsc/Consultation d/2018-10-14 st/1030 et/1200 a/123, Clementi Rd, 1234665 i/1 t/Meeting t/Appointment, a message indicating successful execution of the command will be displayed. The user will be automatically directed to the Events tab, where the newly added event (as highlighted in green below) will be shown in the tab.

Adding an event

If no address is supplied, "TBD" will be set in place of the address field. For instance, upon execution of the command addEvent n/Doctor Appointment dsc/Consultation d/2018-10-14 st/1030 et/1200, the newly added event is as highlighted below. The address field is set to "TBD".

Adding an event without an address

3.16. Viewing an event’s contacts: seeEventContacts, alias sec

Shows an event’s contacts in the persons list. The information displayed in aligned with that in the UI when hovering over the event contact.

Format: seeEventContacts d/DATE(YYYY-MM-DD) i/EVENT_INDEX

  • To view all persons again after this command, use the list command.

  • Event dates should be in the format YYYY-MM-DD

  • Event index is based on the displayed index of each event within each date in the displayed list (see example below).
    e.g. In the screenshot below, the event named "Meeting" is the 1st event on the date 2018-04-01, hence the command seeEventContacts d/2018-04-01 i/1 will refer to this event.
    The event named "Lecture" is the 2nd event on the date 2018-10-18, hence the command seeEventContacts d/2018-10-18 i/2 will refer to this event.

  • When a person is deleted or no longer exists in the system, he/she will not appear in the displayed persons list. When hovering over the event contact in the UI, a message indicating this person no longer exists in EventsPlus+ is displayed.

  • If a person has been edited but still has the same identity as the original person added as an event contact, the updated details (latest information of the edited person) is shown, both in the persons list and when hovering over the event contact.

Example:

  • seeEventContacts d/2018-04-01 i/1
    To view all persons again after this command, use the list command.

Event contact display
  • edit 1 p/12345678
    seeEventContacts d/2018-04-01 i/1 The phone number of the person is edited, but is still the same person as the originally-added event contact. Hence, the system will show the edited event contact. To view all persons again after this command, use the list command.

Event contact display after edit
  • edit 1 n/Alex Lim
    seeEventContacts d/2018-04-01 i/1 The edited is a different person from the originally-added event contact. There is no existing person in the system who is the same as the originally-added event contact. No persons are shown. To view all persons again after this command, use the list command.

Event contact display after edit
  • delete 1
    seeEventContacts d/2018-04-01 i/1 As Alex has been deleted, no persons are shown. To view all persons again after this command, use the list command.

Event contact display after delete

3.17. Adding an event tag: addEventTag, alias aet

Adds an event tag specified by the user into the system.

Format: addEventTag t/EVENT_TAG [t/EVENT_TAG…​]

  • Event tags are case-insensitive, and will always be converted into lowercase. i.e. MEETING and meeting are considered the same tag, and only meeting will be shown in EventsPlus+ Executing addEventTag t/MEETING t/meeting will only result in the first tag being added. Executing addEventTag t/MEETING again will not be successful, as the tag already exists in the system.

  • Event tags should only be alphanumeric (A-Z, a-z, 0-9) and hence should exclude any spaces, special characters or symbols such as '%', '*', '~'

Example:

  • addEventTag t/Lecture t/Dinner
    Adds the event tags into the system, if they do not already exist in the system. The newly added tags are highlighted in green below.

Adding an event tag

3.18. Deleting an event: deleteEvent, alias de

Adds an event in the system with information specified by the user.

Format: deleteEvent d/DATE(YYYY-MM-DD) i/EVENT_INDEX

Each of the fields are mandatory, and has to be supplied by the user before the event can be successfully deleted from the system.

  • Event dates should be in the format YYYY-MM-DD

  • Event index is based on the displayed index of each event within each date in the displayed list (see example below).
    e.g. In the screenshot below, the event named "Meeting" is the 1st event on the date 2018-04-01, hence the command deleteEvent d/2018-04-01 i/1 will delete this event.
    The event named "Lecture" is the 2nd event on the date 2018-10-18, hence the command deleteEvent d/2018-10-18 i/2 will delete this event.

Example:

  • deleteEvent d/2018-04-01 i/1

Before Deletion

Deleting an event

After Deletion

Deleting an event

3.19. Edit event address: editEventAddress, alias eea

Edits the address of the specified event in the address book.

Format: editEventAddress d/DATE(YYYY-MM-DD) i/EVENT_INDEX a/EVENT_ADDRESS

  • Event dates should be in the format YYYY-MM-DD

  • Event index is based on the displayed index of each event within each date in the displayed list (see example below).
    e.g. In the screenshot below, the event named "Meeting" is the 1st event on the date 2018-04-01, hence the command deleteEvent d/2018-04-01 i/1 will delete this event.
    The event named "Lecture" is the 2nd event on the date 2018-10-18, hence the command deleteEvent d/2018-10-18 i/2 will delete this event.

  • the EVENT_ADDRESS field is mandatory

Example:

  • editEventAddress d/2018-04-01 i/1 a/NUS SoC

Before command execution

Editing an event address

After command execution

Editing an event address

3.20. List all events: listEvent, alias lse

Shows a list of all events in the address book.
Format: listEvent

3.21. Find events by event tags: findEvent, alias fe

Shows a list of all events in the address book which are tagged as the specified tags in the command. Event tags are case-insensitive, as described in the addEventTag section.
i.e. MEETING and meeting are regarded as the same tag.

Format: findEvent EVENT_TAG [EVENT_TAG…​]

Examples:

Before findEvent Execution

Finding an event

After findEvent Execution

  • findEvent LECTURE
    Shows all the events tagged as lecture

Finding an event
  • findEvent Class lecture
    Shows all the events tagged as lecture or class

Finding an event

3.22. Import Contacts: importContacts, alias ic

Import contacts from a specified csv file.
CSV file has to be exported from google contacts as Google CSV.

Adding an event
  • Ensure that First Name, Email, Phone Number, Address and Company (Faculty) is filled with valid input

  • Any missing field or invalid input will result in failure in importing contacts

  • Exported csv file should be named as google.csv

Format: importContacts file/ABSOLUTE_FILEPATH

Examples:

  • importContacts file/~/Downloads/google.csv
    Imports all contacts from root/Downloads/google.csv into application address book

3.23. Notifications: notification, alias n

Allow users to enable/disable notifications which appears upon application statrup. Notification is enabled by default.

Format: notification enable/disable

Examples:

  • notification disable

3.24. Favourite: favourite, alias fv

Allow users to favourite a upcoming events based on most recently displayed events list. Favourite is null by default.

Format: favourite d/DATE i/EVENT_INDEX

Examples:

  • favourite d/2018-04-01 i/1

3.25. Clearing all entries : clear, alias cls

Clears all entries from the address book.
Format: clear or cls

3.26. Exiting the program : exit, alias q

Exits the program.
Format: exit or q

3.27. Saving the data

Address book data are saved in the hard disk automatically after any command that changes the data.
There is no need to save manually.

4. Features coming up in V2.0

4.1. Add group event: addGroupEvent

Adds an event in the system with the specified information, for the specified group(s). At least one group has to be included in the user input. A notification will be sent to the user and contacts in the group 24 hours before the event. (refer to notification feature)

Format: addGroupEvent n/EVENT_NAME dsc/DESCRIPTION d/DATE(DD-MM-YY) t/TIME(HHMM) a/ADDRESS group/GROUP_NAME…​

Examples:

  • addGroupEvent n/Project Meeting dsc/First Meeting d/12-09-18 t/1200 a/123, Clementi Rd, 1234665 group/CS2103_Group

  • addGroupEvent n/Project Meeting dsc/First Meeting d/12-09-18 t/1200 a/123, Clementi Rd, 1234665 group/CS2103_Group group/CS2103_otherGroup

4.2. List group events: listGroupEvent

Lists all group events in the system.

Format: listGroupEvent

Examples:

  • listGroupEvent

4.3. Rename groups : renameGroup

Renames a specified group, if it exists.

If the group does not exist, an error message is displayed accordingly to indicate that this command cannot be parsed.

Format: renameGroup group/ORIGINAL_NAME n/NEW_GROUP_NAME

Examples:

  • renameGroup group/CS2103Group n/HelloWorld

4.4. Merge groups : mergeGroup

Merges a list of groups together. Any number of groups can be merged together.
When groups are merged, a new group will be created containing all the contacts in the listed groups.
At least one group must be listed. If only one group is listed, no changes will take place.

  • Events that were created in the individual groups prior to merging will not affected by this command.

  • Future events created from this merged group will be under the merged group.

Format: mergeGroup n/NEW_GROUP_NAME group/GROUP_NAME…​

Examples:

  • mergeGroup n/CS2103_MERGED group/CS2103_Group1 group/CS2103_Group2 group/CS2103_Group3
    A new group called CS2103_MERGED is created containing all contacts from CS2103_Group1, CS2103_Group2 and CS2103_Group3.

4.5. Split groups : splitGroup

Splits a group through a series of commands.

Firstly, splitGroup command will inform the system that the user wishes to split a group.
The system will then display all contacts in this group and a message to inicate that it is awaiting user input.
To create new group, input the new group names and the indexes of the contacts. Each of the newly created groups must contain at least one contact.

The original group will not be deleted as a result of any of the above commands. However, the split groups will contain an indicator showing that it was created from splitting the original group.

Format: splitGroup group/GROUP_NAME {n/NEW_GROUP_NAME i/INDEX…​}…​

Examples:

  • splitGroup group/CS2103_MERGE
    n/CS2103_Group1 i/1 i/2 i/3 i/4 i/5

4.6. View team members who belong to a group : viewGroup

Shows the information of each team members in a particular group

Format: viewGroup/GROUP_NAME

Examples:

  • viewGroup/CS2103Group

4.7. View other contacts in the same group as a specific contact : commonGroupContacts

Shows other contacts who may be in the same group with the contact that the user is currently viewing.

Format: commonGroupContacts n/CONTACT_NAME

Examples:

  • commonGroupContacts n/James Bond

4.8. Remove a contact from a group : remove

Removes a specific contact from a group

Format: remove n/CONTACT_NAME group/GROUP_NAME

Examples:

  • remove n/James Bond group/CS2103Group

4.9. Delete an entire group : deleteGroup

Delete inactive groups or groups who you are not going to work with in the future without affecting contact list.

Format: deleteGroup group/GROUP_NAME

Examples:

  • deleteGroup group/CS2103Group

4.10. Import user’s timetable : importCalendar

Allows the user to import timetable from an external source to load into the app.
This allows app to prevent any possible clash with events in groups.

Format: importCalendar SOURCE

Examples:

  • importCalendar Google
    App will redirect to the source (For example, Google) to handle majority of the importing process - e.g. logging in, calendar to import, etc.)

4.11. Share multiple contacts with my peers : share

Send selected contacts in EventsPlus+ to one other contact in EventsPlus+. At least one contact to be sent must be indicated, and only one recipient can be specified.

Format: share i/INDEX…​ t/INDEX

Examples:

  • list
    share i/2 i/3 i/4 t/1
    Sends the 2nd, 3rd and 4th person to 1st person in the (same) list.

4.12. Archive groups : archive

Archive groups to unclutter the list of visible group without losing the group’s information

Format: archive group/GROUP_NAME

Examples:

  • archive group/CS2103Group

4.13. Unarchive old groups : unarchive

Unarchive group to retrieve previously-archived group information and make group visible again.

Format: unarchive group/GROUP_NAME

Examples:

  • unarchive group/CS2103Group

4.14. Generate timing for a group’s event/meeting : generateTiming

Generates a possible meeting timing for a group’s event/meeting based on all member’s schedule and availability.

Format: generateTiming group/GROUP_NAME

Examples:

  • generateTiming group/CS2103Group

  • This command only works with groups and will not work for a user alone (for obvious reasons).

  • If the group does not exist, an error message is displayed accordingly to indicate that this command cannot be parsed.

4.15. Generate convenient location for an event/meeting : generateConvenientLocation

This command builds on the existing generateLocation command, however, instead of generating a random location it will generate a location based on the people attending the event (i.e. members in the group or people tagged to the event).

Thus this can be used within the context of a group’s events or the user’s own personal events.

Format: generateConvenientLocation group/GROUP_NAME d/EVENT_DATE i/EVENT_INDEX (for group events) or
generateConvenientLocation d/EVENT_DATE i/EVENT_INDEX (for user’s personal events)

Examples:

  • generateConvenientLocation group/CS2103Group d/2018-09-30 i/1

  • generateConvenientLocation d/2018-09-30 i/1

  • This command works with both group events and user’s own personal events.

5. FAQ

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.

6. Command Summary

Command Format Example

Add Person

add n/NAME p/PHONE_NUMBER…​ e/EMAIL a/ADDRESS [t/TAG] f/FACULTY

add n/James Ho p/22224444 e/jamesho@example.com a/123, Clementi Rd, 1234665 t/friend t/colleague f/FOS

Clear Address Book

clear

Delete Person

delete INDEX

delete 3

Edit Person

edit INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [t/TAG]…​

edit 2 n/James Lee e/jameslee@example.com

Find Persons

find KEYWORD [MORE_KEYWORDS]

find James Jake

List Persons

list

Select Person

select INDEX

select 2

Show Faculty location visually

showLocation INDEX

showLocation 5

Suggest Location

generateLocation d/EVENT_DATE i/EVENT_INDEX

generateLocation d/2018-01-14 i/1

Add Event

addEvent n/EVENT_NAME dsc/EVENT_DESCRIPTION d/DATE(YYYY-MM-DD) st/START_TIME(HHMM) et/END_TIME(HHMM) [a/EVENT_ADDRESS] [i/CONTACT_INDEX]…​ [t/EVENT_TAG]…​

addEvent n/Doctor Appointment dsc/Consultation d/2018-10-14 st/1030 et/1200 a/123, Clementi Rd, 1234665 i/1 t/Meeting t/Appointment

View an Event’s Contacts

seeEventContacts d/DATE(YYYY-MM-DD) i/EVENT_INDEX

seeEventContacts d/2018-10-18 i/1

Delete Event

deleteEvent d/DATE(YYYY-MM-DD) i/EVENT_INDEX

deleteEvent d/2018-10-18 i/1

Edit Event Address

editEventAddress d/DATE(YYYY-MM-DD) i/EVENT_INDEX a/EVENT_ADDRESS

editEventAddress d/2018-04-01 i/1 a/NUS SoC

Add Event Tag

addEventTag EVENT_TAG [t/EVENT_TAG…​]

addEventTag t/Lecture t/Dinner

List Events

listEvent

Find Events by Event Tag(s)

findEvent EVENT_TAG [EVENT_TAG…​]

findEvent Class lecture

Import Contacts

importContacts file/FILEPATH

importContacts file/~/Downloads/contacts1.csv

Disable and Enable Notification

notification enable/disable

notification disable

Favourite Event

favourite d/EVENT_DATE i/EVENT_INDEX

favourite d/2018-04-01 i/1

Help

help

History

history

Undo

undo

Redo

redo