Thank you for downloading EventBook as your project management software of choice!
Choose a topic from the table of contents below / or in the sidebar to find answers, or step-by-step guides on how to use EventBook.
EventBook is a desktop application for Student Leaders to manage the contacts from different events, optimized for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, EventBook can get your contact management tasks done faster than traditional GUI apps.
This user guide provides in-depth summaries of all the commands available to you. To make it easier to find the information you need, you can either:
Before we can begin to use EventBook, we advise you to follow the simple steps below to ensure that EventBook is set up correctly.
Ensure you have Java 11
or above installed in your Computer.
Download the latest EventBook.jar
from here.
Copy the file to the folder you want to use as the home folder for your EventBook.
Open a command terminal (Terminal
for MacOS, Windows Terminal
for Windows OS)
Services
New Terminal at Folder
Windows Explorer
, navigate to your home folderOpen in Windows Terminal
Use the java -jar EventBook.jar
command to run the application.
A GUI similar to the below should appear in a few seconds. Note how the app contains some sample data.
Type a command in the command box and press Enter to execute it. e.g. typing help
and pressing Enter will open
the help window.
Some example commands you can try:
list
: Lists all contacts.add n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01
: Adds a contact named John Doe
to the EventBook.assign 1 t/E-event1
: Assigns the 1st contact shown in the current list with the event tag named event1
.assign John t/tag1
: Assigns the contact named John in the current list with the tag named tag1
.clear
: Deletes all contacts.ctag Friend
: Creates a tag name Friend
.ctag t/E-orientation dc/Orientation! sd/2024-04-04 02:02:02 ed/2024-04-05 02:02:02
: Creates an event tag.dtag Friend
: Deletes a tag named Friend
.delete 3
: Deletes the 3rd contact shown in the current list.devent orientation
: Deletes an event tag called orientation.delete John Doe
: Deletes the contact named John Doe shown in the current list.exit
: Exits the app.import
: Imports contacts from .\import\import.csv
.search Friend
: Displays all contacts with the tag Friend
.switch Flag
: Switches to Flag
event tab to show contacts.Refer to the Features below for details of each command or to Command Summary for a quick summary.
EventBook's GUI consists of 5 main components:
The following details are displayed for each contact in EventBook:
This detailed overview enables users to quickly access essential contact information of their event members.
[Note]
The default tab on entering the app is theAll
tab, with all contacts in EventBook displayed in the Result Panel.
Ready to dive in? Let's try out a few commands to get you started with EventBook:
add n/Xavier Tan p/98765432 e/xavt@example.com a/Ang Mo Kio street 2, Block 123, #01-01
VPD
of the Flag
event. Enter the following command in the
command box:assign Xavier Tan t/VPD t/E-Flag
VPD
tag and a purple Flag
event tag.switch Flag
All
tab to the Flag
tab, and all listed contacts
have the Flag
event tag. All
tab, with all contacts in EventBook displayed in the Result Panel.
All
tab to view all your contacts, enter the following command:list
Now that you are all warmed up, let's delve deeper into the details of each command and how you can use them to supercharge your event management in the next section!
Things to take note of before about the format of commands:
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
.
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 in round brackets specify two possible parameter types
e.g. (NAME or INDEX)
means that either NAME
or INDEX
should fill that parameter
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
(i.e. 1 time), t/friend t/family
(i.e. multiple
times) etc.
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.
Extraneous parameters for commands that do not take in parameters (such as help
, list
, exit
and clear
) will be
ignored.
e.g. if the command specifies help 123
, it will be interpreted as help
.
[Note]
If you are using a PDF version of this document, be careful when copying and pasting commands that span multiple lines as space characters surrounding line-breaks may be omitted when copied over to the application.
EventBook is divided into 3 categories - managing contacts, managing events with tags and general functions, which are all listed below.
add
This command allows you to add a person to the EventBook.
Format: add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]…
[❗WARNING❗] Names must consist solely of alphabetic characters; any inclusion of numbers or symbols is not permitted. This is to ensure that
delete 2
does not create an ambiguity on whether to delete the person with the name2
or the person at index2
.
[💡TIP💡]
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
edit
This command allows you to edit an existing person in the EventBook.
Format: edit (NAME or INDEX) [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [t/TAG]…
INDEX
or NAME
.edit John Doe t/friends
instead of edit John t/friends
.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 be 91234567
and johndoe@example.com
respectively.edit Ben n/Betsy Crower t/
Edits the person named Ben to be Betsy Crower
and clears all existing tags.edit 2 n/Betsy Crower t/
Edits the name of the 2nd person to be Betsy Crower
and clears all existing tags.find
This command allows you to find all contacts whose names contain any of the given keywords.
Format: find KEYWORD [MORE_KEYWORDS]
hans
will match Hans
Hans Bo
will match Bo Hans
Han
will not match Hans
OR
search).
e.g. Hans Bo
will return Hans Gruber
, Bo Yang
Examples:
delete
This command allows you to delete the specified person from the EventBook.
Format: delete (NAME or INDEX)
INDEX
or NAME
.delete John Doe
instead of delete John
.Examples:
list
followed by delete 2
deletes the 2nd person in the EventBook.list
followed by delete John Doe
deletes the person named 'John Doe' in the EventBook.import
This command allows you to imports all contacts from given file path (default ./import/import.csv)
Format: import f/PATH
Requires a valid file to be given in the PATH
parameter
If PATH is left empty (i.e. import f/
) the default file referenced is ./import/import.csv
A sample is provided below. Note the fields in the first row and the data in subsequent rows.
Fields:
NAME,NUMBER,EMAIL,ADDRESS,EVENTS,TAGS
as above (.csv is comma delimited, so that means
each field should be in their own cell)Name
pr NaME
would also be valid)Parameters:
The EVENTS
parameter must satisfy one of the following format requirements:
N/A
if the contact is not in any events, else a field error will occurt/E-eventName dc/Description sd/yyyy-MM-dd HH:mm:ss ed/yyyy-MM-dd HH:mm:ss
for the first instance of each
unique event, unless said tag already exists in the EventBook, in which case iii. can be usedt/E-eventName
for existing events or previously declared events
t/E-orientation dc/Orientation! sd/2024-04-04 02:02:02 ed/2024-04-05 02:02:02
,
then further contacts may simply have t/E-orientation
under the EVENTS
fieldsThe TAGS
and EVENTS
portion accept multiple arguments delimited by the |
character (e.g. Friend|Colleague). A
consequence of this is that tags containing |
in their name cannot be imported
Ensure that the file provided is saved before used as an import file
The default download contains a sample .csv file that one can refer to
Examples:
import f/./import/import.csv
imports the contacts from the specified fileimport f/
is identical to running the above commandexport
This command allows you to export all contacts to ./export/export.csv
Format: export
import
[❗WARNING❗] There should be an empty folder named
export
inside the folder withEventBook.jar
to ensure that export function works.
ctag
This command allows you to create a tag or an event tag in the EventBook. You are able to manage or search for people with the specified tags after creation.
The ctag
function allows you to create tags and events tags separately based on different input formats listed below.
Format 1: ctag TAG_NAME
This format allows you to create tags that you can tag your contacts with!
tag
name that does not already exist in the EventBook.0-9
,a-z,A-Z
.Friends
is allowed but Good Friends
is forbidden)Example: ctag Friend
creates a tag named Friend
.
[❗WARNING❗]
- All input fields are necessary.
- If you miss out any of the mandatory fields, or has input the wrong format, your input will get rejected or you will get an incorrect result.
- Make sure your TAG_NAME is alphanumerical(
0-9
,a-z,A-Z
) with no whitespaces in between them.
[💡TIP💡]
- If you want to create a tag with 2 words, consider grouping them together into a single word. For example: " SchoolFriends"
Format 2: ctag t/E-EVENT_NAME dc/Description sd/yyyy-MM-dd HH:mm:ss ed/yyyy-MM-dd HH:mm:ss
This format allows you to create event tags that you can tag your contacts with! How cool!
EVENT_NAME
name that does not already exist in the EventBook.0-9
,a-z,A-Z
. For instance, ctag t/E-E-event1 sd/2024-04-04 02:02:02 ed/2024-04-05 02:02:02
is not allowed.Meeting
is allowed but Friends Meeting
is forbidden)Examples:
ctag t/E-orientation dc/Orientation! sd/2024-04-04 02:02:02 ed/2024-04-05 02:02:02
[💡TIP💡]
- If you want to create an event with 2 words, consider grouping them together into a single word. For example: " SchoolEvent"
[❗WARNING❗]
- All input fields are necessary.
- If you miss out any of the mandatory fields, or has input the wrong format, your input will get rejected, or you will get an incorrect result.
- Make sure your EVENT_NAME is alphanumerical(
0-9
,a-z,A-Z
) with no whitespaces in between them.
dtag
This command allows you to delete an existing tag in the EventBook. This is done to allow you to free up memory space by deleting tags that you will no longer use, how thoughtful of us 😃. Take note that this command also deletes the tag from all the contacts in your list.
Format: dtag TAG_NAME
TAG_NAME
name that already exists in the EventBook.0-9
,a-z,A-Z
.Examples:
dtag Friend
Deletes a tag named Friend
.[💡TIP💡]
- You can check who is associated with the tag you are deleting by using the Search command.
[NOTE]
If you delete a tag that does not exist, you will get notified by a warning that it does not exist. You will get a success message when you delete an existing tag too.
[❗WARNING❗] All input fields are necessary. This tag will be removed from every contact tagged with it. This action is also not reversible. Make sure your
TAG_NAME
is alphanumerical(0-9
,a-z,A-Z
) with no whitespaces in between them.
devent
This command allows you to delete an event tag in the EventBook. Convenient to do so when an event is over, right? Take note that this command also deletes the event tag from all the contacts that are associated with it.
Format: devent EVENT_TAG
EVENT_TAG
name that already exists in the EventBook.0-9
,a-z,A-Z
.Examples:
devent orientation
Deletes an EventTag named orientation
.[💡TIP💡] You can do a quick check of who is in the event by using the Switch, do take note that the event panel at the left of the GUI is not clickable.
[❗WARNING❗] Make sure your
EVENT_NAME
is alphanumerical(0-9
,a-z,A-Z
) with no whitespaces in between them.
[NOTE]
If you delete an event tag that does not exist, you will get notified by a warning that says it does not exist. You will get a success message after deleting an existing tag. The event GUI on the left of the screen will update when you delete an existing event. This event tag will be removed from every contact tagged with it. This action is also not reversible.
assign
This command allows you to assign someone to a tag and group them conveniently! For example, you can assign a person with a tag named Logistics
or assign a person with an event tag named Rag
.
Format: assign (NAME or INDEX) t/TAG…
or assign (NAME or INDEX) t/E-EVENT_TAG…
INDEX
or NAME
with the tag TAG
or with the event tag EVENT_TAG
.Examples:
assign 1 t/Logistics
Assigns the first person in the list to a tag named Logistics
.assign John Doe t/E-event1
Assigns the person named John Doe in the list to an Event Tag named event1
.[💡TIP💡]
If you do not have the tag or event tag you are assigning a person with, you can create them with the ctag command.
[❗WARNING❗]
The name refers to the name shown in the displayed person list. The name must be exactly what is shown in the displayed person list. For example,assign John Doe t/friends
instead ofassign John t/friends
.
search
This command allows you to displays all the people that are tagged with TAG_NAME
. We know that to search for a list people who are tagged as Friend,
you are tempted to do search Friends
, plural. However, this is not supported 😦.
Format: search TAG_NAME
Examples:
search Friend
Displays all people tagged as Friend
.[💡TIP💡]
After searching, you can reset the app to display all the contacts with the list command.
switch
This command allows you to switch to the event with the EVENT_TAG_NAME
.
Format: switch EVENT_TAG_NAME
All
tab with full list of contacts displayed.Examples:
switch Flag
Switches to Flag
event tab and shows all members tagged with Flag
event tag.[💡TIP💡] After searching, you can reset the app to display all the contacts with the list command.
help
To access the EventBook User Guide within the application, simply enter help
into the command box and a link to the User Guide will be provided.
Format: help
list
This command shows a list of all contacts in the EventBook.
Format: list
clear
This command clears all the contacts from the EventBook.
Format: clear
exit
This command exits the program.
Format: exit
EventBook data are saved in the hard disk automatically after any command that changes the data. There is no need to save manually.
EventBook data are saved automatically as a JSON file [JAR file location]/data/addressbook.json
. Advanced users are
welcome to update data directly by editing that data file.
[❗WARNING❗]
If your changes to the data file makes its format invalid, EventBook will discard all data and start with an empty data file at the next run. Hence, it is recommended to take a backup of the file before editing it.
Furthermore, certain edits can cause the EventBook to behave in unexpected ways (e.g., if a value entered is outside the acceptable range). Therefore, edit the data file only if you are confident that you can update it correctly.
This section would guide you through some basic commands of EventBook, and how to use them to set up your first event with contacts and tags.
To start, if you want to remove the sample contacts in the EventBook, you can use the clear
command to clear
everything!
Simply type clear
in the text box at the top of the app! (Do take note that throughout this tutorial, we will not
clear the
sample contacts for the convenience doing demo.)
ctag
To tag a person as a friend or any tag you want, you need to first create the tag.
To start, create a tag called dummytag
. Do take not tags are alphanumerical, so you cannot do pen-pal
unfortunately.
assign
to tag peopleTo tag the person to the tag, we can use the assign command.
logistics
by typing assign Alex Yeoh t/logistics
.switch
to change to the event that you wantOk, I want to check who is in an event or the event details, how can I do it?
No worries pal, we got you covered. To figure out who is in any event, use the switch
command.
search
to find the people with the tagYou may want to say, what if I don't remember who are part of the logistics team? No worries, you can use the search command to find out!
Flag
with search logistics
.list
in the input box to reset everything!dtag
Oh no, what if I want to delete a tag that I no longer use? No worries, you can use the dtag
command!
This command removes the tag you delete for all your contacts so be careful!
ctag
Ok, what if you have an event that you need to group people to, like a Orientation for 9 Feb 2024 8pm? No worries, you can assign people to events
and manage them as well. But first, you should create an event first with ctag
.
ctag t/E-Orientation dc/SoC Orientation 2024 sd/2024-02-09 20:00:00 ed/2024-02-09 20:00:00
.assign
Now you want to assign a person to the Rag. You can do it with the
assign
command.
Action | Format, Examples |
---|---|
Add | add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]… e.g., add n/James Ho p/22224444 e/jamesho@example.com a/123, Clementi Rd, 1234665 t/friend t/colleague |
Assign | assign (NAME or INDEX) [t/TAG]… or assign (NAME or INDEX) [t/E-TAG]… e.g., assign 2 t/tag1 or assign John Doe t/E-event1 |
Clear | clear |
Delete | delete (NAME or INDEX) e.g., delete 3 or delete John Doe |
Edit | edit (NAME or INDEX) [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [t/TAG]… e.g., edit 2 n/James Lee e/jameslee@example.com oredit John Doe n/James Lee e/jameslee@example.com |
Find | find KEYWORD [MORE_KEYWORDS] e.g., find James Jake |
List | list |
Help | help |
Create Tag | ctag TAG_NAME e.g., ctag Friend |
Create EventTag | ctag t/E-eventName dc/Description sd/yyyy-MM-dd HH:mm:ss ed/yyyy-MM-dd HH:mm:ss e.g., ctag t/E-orientation dc/Orientation! sd/2024-04-04 02:02:02 ed/2024-04-05 02:02:02 |
Delete Tag | dtag TAG_NAME e.g., dtag Friend |
Delete Event | devent EVENT_TAG_NAME e.g., devent orientation |
Import | import f/PATH e.g., import f/./import/import.csv |
Export | export |
Search Tag | search TAG_NAME e.g., search Friend |
Switch | switch EVENT_TAG_NAME e.g. switch Flag |
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 EventBook home folder.
preferences.json
file created by the application before running the application again.