By: Team SE-EDU Since: Jun 2016 Licence: MIT

1. Introduction

Event Manager is made for the residents of the Residential Colleges (RC) in the National University of Singapore (NUS). This application is build for those who prefer to use a desktop application for managing events and attendees. Moreover, the Event Manager offers a faster workflow for those who prefer working with a Command Line Interface while still retaining the benefits of having a Graphical User Interface. If you can type fast, you can work even faster with Event Manager to manage the various events in your RC! All you need is a laptop/computer to run this application. Interested? Jump to the Section 2, “Quick Start” to get started. Enjoy!

2. Quick Start

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

  2. Download the latest EventManager.jar here.

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

  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 events

    • addn/Computer Science Workshop c/John Doe p/98765432 e/johnd@example.com v/John street, block 123, #01-01 d/12/03/2018 15:30 : adds an event named Computer Science Workshop to the Event Manager.

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

    • exit : exits the app

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

3. Features

Automatic sorting: Events in Event Manager will always be displayed in chronological order, followed by alphabetical order.

Command Format

  • Words in UPPER_CASE are the parameters to be supplied by the user e.g. in add n/EVENT, EVENT is a parameter which can be used as add n/Computer Science Workshop.

  • Items in square brackets are optional e.g n/Comp Sci Workshop [t/TAG] can be used as n/Comp Sci Workshop t/sport or as n/Comp Sci Workshop.

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

  • Parameters can be in any order e.g. if the command specifies n/EVENT p/PHONE_NUMBER, p/PHONE_NUMBER n/EVENT is also acceptable.

Only select, list and update commands can be performed without logging in. Also, add, edit, delete and deleteComment can only performed by the admin account.
As of now, there is only one admin account, with the username being admin and the password being root.

3.1. Signing up for an account : signup

User: Creates a user account
Format: signup u/USERNAME p/PASSWORD

Examples:

* signup u/Gerald Chua p/password12345
Creates account with the username Gerald Chua

* signup u/James Yaputra p/drowssap12345
Creates account with the username James Yaputra

3.2. Logging into an account : login

User: Logs in to account
Format: login u/USERNAME p/PASSWORD

Examples:

* login u/Gerald Chua p/password12345
Logs in Gerald Chua

* login u/James Yaputra p/drowssap12345
Logs in James Yaputra

3.3. Logging out of an account : logout

User: Logs out of an account
Format: logout

Examples:

* login u/Gerald Chua p/password12345
Logs in Gerald Chua

* logout
Logs out from Gerald Chua

3.4. Viewing help : help

Admin: Shows Admin commands
User: Shows User commands

Format: help

3.5. Adding a event: add

Admin: Adds an event to the Event Manager
Adds an event to the Event Manager
Format: add n/EVENT_NAME c/CONTACT_NAME p/PHONE_NUMBER e/EMAIL v/VENUE d/DATETIME [t/TAG]…​

An event can have any number of tags (including 0).

Examples:

  • add n/Com Sci Workshop c/John Doe p/98765432 e/johnd@example.com v/John street, block 123, #01-01 d/20/10/2017 10:30

  • add n/Sports Day c/Betsy Crow t/Sports e/betsycrow@example.com v/COM2 #02-01 p/12345678 d/21/02/2019 08:30 t/Leisure

3.6. Listing all events : list

User/Admin: Lists all events in the Event Manager in chronological order.
Format: list

3.7. Editing a event : edit

Admin: Edits an existing event in the Event Manager.
Format: edit INDEX [n/EVENT] [c/CONTACT NAME] [p/PHONE] [e/EMAIL] [v/VENUE] [d/DATETIME] [t/TAG]…​

  • Edits the event at the specified INDEX. The index refers to the index number shown in the displayed event 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 event will be removed i.e adding of tags is not cumulative.

  • You can remove all the event’s tags by typing t/ without specifying any tags after it.

  • If you want to reset the comments section you can input C/{span}Comment Section{/span}{ol}{/ol} as a field.

Examples:

  • edit 1 p/91234567 e/johndoe@example.com
    Edits the phone number and email address of the 1st event to be 91234567 and johndoe@example.com respectively.

  • edit 2 n/Sports Meet t/
    Edits the name of the 2nd event to be Sports Day and clears all existing tags.

3.8. Locating events: find

Admin/User: Finds events whose field contains any of the given keywords specified by the user.
Format: find PREFIX/KEYWORD [MORE_PREFIX][MORE_KEYWORDS]

Available prefixes:

  • k/ Default search option

  • n/ Name search

  • c/ Contact search

  • e/ Email search

  • p/ Phone search

  • v/ Venue search

  • d/ Datetime search

  • t/ Tag search

  • a/ Attendee search

  • The search is case insensitive. e.g sports will match Sports.

  • The order of the keywords does not matter. e.g. Sports Day will match Day Sports.

  • Only full words will be matched e.g. Sport will not match Sports.

  • Events matching at least one keyword will be returned (i.e. OR search). e.g. Sports Day will return Sports games, Good Day.

  • Command default prefix (k/) will allow searches in any field of an event, while other prefixes will result in events that must have that keyword in the indicated field.

  • At least one of the available prefixes must be presented.

  • When using different prefixes together, logic AND operator is used. This means that if there is one or more prefixes in the combination that does not have any keywords following it, search results will always be empty.

  1. If there are more than 1 prefixes of the same type, for example, find n/new n/dark n/meeting, they will be automatically combined together, which means this command will be assumed to be the same as find n/new dark meeting

  2. If there is only the prefix without any keywords following it, no events will be found as there are no events with the required fields left empty

  3. Unknown prefixes will be ignored.

Examples:

  • find n/Day
    Returns events with names Sports Day and Any day

  • find k/Sports Sci friends
    Returns events having the name Sports Competition, venue Sci Avenue, and tag friends

  • find d/12/01/2018 04:30
    Returns any event having date 12/01/2018 or time 04:30

  • find k/Day n/Sports d/12/01/2018
    Returns any event having keyword day with names including Sports and with dates 12/01/2018

3.9. Deleting an event : delete

Admin: Deletes the specified event from the Event Manager.
Format: delete INDEX

  • Deletes the event at the specified INDEX.

  • The index refers to the index number shown in the displayed event list.

  • The index must be a positive integer 1, 2, 3, …​

Examples:

  • list
    delete 2
    Deletes the 2nd event in the Event Manager.

  • find Sports
    delete 1
    Deletes the 1st event in the results of the find command.

3.10. Selecting an event : select

Admin/User: Selects the event identified by the index number in the displayed event list.
Format: select INDEX

  • Selects the event and loads the event page of the event at the specified INDEX.

  • The index refers to the index number shown in the displayed event list.

  • The index must be a positive integer 1, 2, 3, …​

Examples:

  • list
    select 2
    Selects the 2nd event in the Event Manager.

  • find Sports
    select 1
    Selects the 1st event in the results of the find command.

3.11. Listing entered commands : history

Admin/User: 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.

3.12. Undoing previous command : undo

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, clear, register, addComment and replyComment).

Examples:

  • delete 1
    list
    undo (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 (reverses the clear command)
    undo (reverses the delete 1 command)

3.13. Redoing the previously undone command : redo

Reverses the most recent undo command.
Format: redo

Examples:

  • delete 1
    undo (reverses the delete 1 command)
    redo (reapplies the delete 1 command)

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

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

3.14. Clearing all entries : clear

Admin: Clears all entries from the Event Manager.
Format: clear

3.15. Registering for an event : register

User: Registers for an event by adding the current user’s username to the attendance list.
Format: register INDEX

  • Registers for the event at the specified INDEX.

  • The index refers to the index number shown in the displayed event list.

  • The index must be a positive integer 1, 2, 3, …​

  • User must not be registered for event.

Examples:

  • list
    register 3
    Registers user for the 3rd event of the Event Manager.

  • find Sports
    register 1
    Registers User for the 1st event in the results of the find command.

registerUG
Figure 1. Expected outcome after user Peter Parker registers for the event at index 5 (annotations in red).

3.16. Unregistering from an event : unregister

User: Unregisters for an event by removing the current user’s username from the attendance list.
Format: unregister INDEX

  • Unegisters for the event at the specified INDEX.

  • The index refers to the index number shown in the displayed event list.

  • The index must be a positive integer 1, 2, 3, …​

  • User must be already registered for event.

Examples:

  • list
    unregister 1
    Unregisters user from the 1st event of the Event Manager.

  • find Sports
    unregister 2
    Unregisters user from the 2nd event in the results of the find command.

3.17. Listing all registered events : attending

User: Lists all events that the user has registered for.
Format: attending

attendingUG
Figure 2. Events that user Peter Parker is registered to are displayed, similar to find operation (annotations in red).

3.18. Removing user from event : removeAttendee

Admin: Removes a user registered for an event.
Format: removeAttendee INDEX u/USERNAME

  • Removes USERNAME from the event at the specified INDEX.

  • The index refers to the index number shown in the displayed event list.

  • The index must be a positive integer 1, 2, 3, …​

  • User with the specified username must be registered for the event.

Examples:

  • list
    removeAttendee 1 u/Peter Parker
    Removes the user with username Peter Parker from the attendance of the 1st event of the Event Manager.

  • find Party
    removeAttendee 2 u/Alice
    Removes the user with username Alice from the attendance of the 2nd event in the results of the find command.

3.19. Show event reminders : reminder

Admin/User: Shows event reminders for all upcoming events that you have registered for.
Format: reminder

Upcoming events are those that are occurring within the next 24 hours.

  • You will only receive reminders for events that you have registered for.

  • You have to be logged-in to receive reminders.

  • Reminders are automatically sent out every 6 hours, unless you initiate the command.

  • Close the reminder alert dialog using your mouse or by hitting 'enter' on your keyboard.

AlertDialog
Figure 3. Event Reminder Alert Dialog

3.20. Updates the statuses of events : update

Admin/User: Updates the statuses of events.
Format: update

  • Events that have already occurred will have the Completed status.

  • Events that have yet to occur will have the Upcoming status.

  • The update command can be used without you having to log in.

  • Event statuses are automatically updated every 5 minutes.

You may experience some disruptions to the UI during the automatic update due to high load, especially if your computer is using an older processor. Give it a few seconds to load and if the problem still persists, use the update command.

3.21. Add a comment : addComment

Admin/User: Adds a comment into the specified event’s comment section, with the username preceding the comment (when you are logged in).
Format: addComment INDEX C/STRING

  • Adds a comment at the specified INDEX. The index refers to the index number shown in the displayed event list. The index must be a positive integer 1, 2, 3, …​

  • For C/STRING, STRING cannot be empty. STRING is the comment.

  • Undo and Redo command works with this! However, every time you undo or redo, the Browser Panel will not refresh itself so you need to refresh it yourself.

  • If you want to revert a comment previously made, use undo!

Examples:

  • addComment 1 C/What is the attire to wear for the event?
    Adds "What is the attire to wear for the event?" into the comment section of the 1st event, preceded by the user’s username.

  • addComment 5 C/What is the attire to wear for this event?
    Adds "What is the attire to wear for this event?" into the comment section of the 5th event, preceded by the user’s username.

addComment
Figure 4. Adding a comment

3.22. Reply to a comment : replyComment

Admin/User: Reply to a comment with the username preceding the comment (when you are logged in).
Format: replyComment INDEX L/LINE C/STRING

  • Replies to a comment of the event at the specified INDEX. The index refers to the index number shown in the displayed event list. The index must be a positive integer 1, 2, 3, …​

  • For C/STRING, STRING cannot be empty. STRING is the comment.

  • Line has to be a non-zero integer and has to exist within the comment section. The numbers below the "Comment Section" in the BrowerPanel are the line parameters to index every comment. The comment will be replied under the line index given.

  • Undo and redo works! However, every time you undo or redo, the Browser Panel will not refresh itself so you need to refresh it yourself.

  • If you want to revert a comment previously made, use undo!

Examples:

  • replyComment 1 L/5 C/What is the attire to wear for the event?
    Adds the comment "What is the attire to wear for the event?" to line 6 of the comment section of the 1st event, preceded by the user’s username.

  • replyComment 2 L/2 C/What is the attire to wear for the event?
    Adds the comment "What is the attire to wear for the event?" into line 3 of the comment section of the 2nd event, preceded by the user’s username.

replyComment
Figure 5. Replying a comment

3.23. Delete a comment : deleteComment

Admin: Deletes a comment (when you are logged in as admin).
Format: deleteComment INDEX L/LINE

  • Edits the event at the specified INDEX. The index refers to the index number shown in the displayed event list. The index must be a positive integer 1, 2, 3, …​

  • Line has to be a non-zero integer and has to exist within the comment section. The numbers below the "Comment Section" in the Brower Panel are the line parameters to index each comment. The line parameter provided will delete the corresponding comment index.

  • Undo and Redo works! However, every time you undo or redo, the BrowserPanel will not refresh itself so you need to refresh it yourself.

Examples:

  • deleteComment 1 L/5
    Deletes the comment at line 5 of the 1st event.

  • deleteComment 2 L/2
    Deletes the comment at line 2 of the 2nd event.

deleteComment
Figure 6. Deleting a comment

3.24. Exports calendar: export

Admin/User: Exports current registered/hosted events of the user/admin to an iCalendar file to use with other calendar application
Format: export FILENAME

Examples:

  • export myCalendar
    Exports the iCalendar file with name 'myCalendar' to your source folder.

File name should not be longer than 500 characters and can not be empty.

3.25. Exiting the program : exit

Admin/User: Exits the program.
Format: exit

3.26. Saving the data

Event Manager’s data are saved in the hard disk automatically after any command that changes the data.
There is no need to save manually.

4. 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 Event Manager folder.

5. Command Summary

  • Sign up : signup n/USERNAME p/PASSWORD c/CONFIRM_PASSWORD
    e.g. signup n/Gerald Chua p/password12345 c/password12345

  • Login : login n/USERNAME p/PASSWORD
    e.g. login n/Gerald Chua p/password12345

  • Add add n/EVENT_NAME c/CONTACT_NAME p/PHONE_NUMBER e/EMAIL v/VENUE d/DATETIME [t/TAG]…​
    e.g. add n/Sports Day c/James Ho p/22224444 e/jamesho@example.com v/123, Clementi Rd, 1234665 d/12/08/2018 08:30 t/friend t/colleague

  • Clear : clear

  • Delete : delete INDEX
    e.g. delete 3

  • Edit : edit INDEX [n/EVENT] [p/PHONE_NUMBER] [e/EMAIL] [v/VENUE] [d/DATETIME] [t/TAG]…​
    e.g. edit 2 n/Good Day e/jameslee@example.com

  • Find : find PREFIX/KEYWORD [MORE_PREFIX][MORE_KEYWORDS]
    e.g. find k/Comp Sci n/Workshop

  • List : list

  • Help : help

  • Select : select INDEX
    e.g.select 2

  • History : history

  • Undo : undo

  • Redo : redo

  • Register : register INDEX
    e.g. register 1

  • Unregister : unregister INDEX
    e.g. unregister 1

  • View Attending : attending

  • Remove Attendee : removeAttendee INDEX u/USERNAME
    e.g. removeAttendee 1 u/Peter Parker

  • Show reminders : reminder

  • Update event statuses : update

  • AddComment : addComment INDEX C/STRING
    e.g. addComment 1 C/HELLO

  • ReplyComment : replyComment INDEX L/LINE C/STRING
    e.g. replyComment 1 L/2 C/Hello

  • DeleteComment : deleteComment INDEX L/LINE
    e.g. deleteComment 1 L/2

  • ExportCalendarCommand : export FILENAME
    e.g. export BobCalendar