User Guide

Welcome to JobFestGo

Your Ultimate Job Event Planning Companion!

JobFestGo is a dedicated desktop application designed to streamline job event planning for professionals in Singapore. It serves as a comprehensive solution for efficiently managing contacts and tasks associated with your events. Whether you're a seasoned event planner or just starting, JobFestGo has you covered.

Here’s an overview of how JobFestGo can help you with your event planning:

  • Store information about your events and their associated contacts
  • Track status of your event tasks
  • Keep track of upcoming task deadlines
  • Search for contacts by name or tag

Optimized for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI), it is a task management tool meant to assist you as a job festival event planner in tracking event-specific tasks and contacts. This removes the hassle of having to shuffle through your contact list based on names that you might not remember and organise your tasks according to events while obtaining your information efficiently.

This guide is crafted to provide you with a detailed understanding of JobFestGo's functionalities and how they can enhance your job event planning experience. We aim to empower you with the knowledge needed to navigate through the application seamlessly, ensuring you make the most out of its features.

New to JobFestGo? Explore Our Quick Start Guide:

If you're just getting started, we recommend checking out our quick start guide. It's designed to help you familiarize yourself with JobFestGo and get you up and running in no time!

Thank you for choosing JobFestGo as your job event planning companion. We're here to make your event planning journey smoother and more enjoyable!


Table of Contents

The table of contents below is provided to enhance your navigation through this guide. To swiftly access a specific section, click on the corresponding link.


Quick start

  1. Ensure you have Java 11 or above installed in your Computer.
  1. Download the latest jobfestgo.jar from here.

    download jar


  1. Copy the file to the folder you want to use as the home folder for your JobFestGo.

  2. Open a command terminal, cd into the folder you put the jar file in, and use the java -jar jobfestgo.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.

    Ui

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



Some example commands you can try:

  • view_contacts : Lists all contacts.

  • add_contact n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01 : Adds a contact named John Doe to JobFestGo.

  • delete_contact 3 : Deletes the 3rd contact shown in the current list.

  • clear : Deletes all entries from JobFestGo.

  • exit : Exits the app.

  1. Refer to the Features below for details of each command.

Return to table of contents.


JobFestGo comes with a GUI (Graphical User Interface) that is designed to be intuitive and easy to use for a pleasant visual experience for you. Here's a quick rundown of what each section is for:

GUI

PLEASE NOTE: If there is an ellipsis (...) at the end of a text field in any section of JobFestGo, please extend the window fully so the full text can be seen.

Return to table of contents.


Features

Notes about the 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.

  • Items not in square brackets are compulsory.
    e.g. add_contact n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS requires the NAME, PHONE_NUMBER, EMAIL and ADDRESS together with their prefixes (if any) to be supplied by the user.

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

  • 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, view_contacts, exit and clear) will be ignored.
    e.g. if the command specifies help 123, it will be interpreted as help.

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

Returning to home page : home

Returns to the home page of JobFestGo regardless of what screen the user is currently on.

Format: home

Return to table of contents.

Adding a contact : add_contact

Adds a contact to JobFestGo.

Format: add_contact n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]…​

  • Contact name can only take alphanumeric values (i.e should consist only of alphabets and numbers).
  • Contact name and address should not have more than one whitespace in-between each word.
  • Phone number should be in appropriate (8-digit numeric) format.
  • Phone number does not provide support for special characters, such as + and -, as it is more targeted for job fest event planners in Singapore.
  • Email should be in the appropriate (@xxx.com) format.
  • A contact can have any number of tags.
  • Only tags from the tags list can be used for tagging a contact.
  • A contact cannot be added if their phone number already exists.
  • A contact cannot be added if their name already exists.

Examples:

  • add_contact n/John Doe p/98765432 e/johndtr@example.com a/John street, block 123, #01-01
  • add_contact n/Johnny t/suppliers t/vendors e/johnd@example.com a/311, Clementi Ave 2, #02-25 p/98765435

result for 'add_contact'

Return to table of contents.

Listing all contacts : view_contacts

Displays a list of all contacts in JobFestGo.

Format: view_contacts

result for 'view_contacts'

Return to table of contents.

Deleting a contact : delete_contact

Deletes the contact at the specified index from JobFestGo.

WARNING: This command is destructive. Once a contact is deleted, it cannot be recovered.

Format: delete_contact INDEX

  • Deletes the contact at the specified INDEX.
  • After the contact is deleted, JobFestGo will automatically return to the home page. This is regardless of whether the contact is linked to an event or not.
  • The index refers to the index number shown in the displayed contact list.
  • The index must be a positive integer 1, 2, 3, …​

Examples:

  • view_contact followed by delete_contact 2 deletes the 2nd contact in JobFestGo.
  • find_contact Betsy followed by delete_contact 1 deletes the 1st contact in the result of the find_contact command.

Return to table of contents.

Editing a contact : edit_contact

Edits an existing contact at the specified index in JobFestGo.

Format: edit_contact INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [t/TAG]…​

  • Edits the contact at the specified INDEX.
  • The index refers to the index number shown in the displayed contact 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 contact will be removed (i.e adding of tags is not cumulative).
  • You can remove all the contact’s tags by typing t/ without specifying any tags after it.
  • This command will follow all the notes specified under add_contact feature.

Examples:

  • edit_contact 1 p/91234567 e/johndoe@example.com edits the phone number and email address of the 1st contact to be 91234567 and johndoe@example.com respectively.
  • edit_contact 2 n/Betsy Crower t/ edits the name of the 2nd contact to be Betsy Crower and clears all existing tags.

Return to table of contents.

Locating contacts by name : find_contact

Finds contacts whose names contain any of the given keywords.

WARNING: This command is cumulative. Repeatedly using this command will result in the list being successively filtered based on the current displayed list. The examples below illustrate this.

Format: find_contact KEYWORD [MORE_KEYWORDS]

  • Only the name of a contact can be searched.
  • 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 full words will be matched e.g. Han will not match Hans
  • Contacts matching at least one keyword will be returned (i.e. OR search). e.g. Hans Bo will return Hans Gruber, Bo Yang

Examples:

  • find_contact John returns john and John Doe.
  • find_contact doe after find_contact john will return John Doe and not john who was originally in the result.
  • find_contact alex david returns Alex Yeoh, David Li
  • Suppose we have a contact Hans in JobFestGo. select_event 1 followed by find_contact Hans will not include Hans, if Hans is not linked to the first event.

result for 'find_contact alex david'

Return to table of contents.

Adding a tag : add_tag

Adds a tag with the specified name to JobFestGo.

Format: add_tag t/TAG_NAME

  • The tag name must not already exist in JobFestGo.
  • The tag name must be strictly alphanumeric. No other characters (including whitespace) are allowed.

Examples:

  • add_tag t/media

Return to table of contents.

Viewing all tags : view_tags

Displays a list of all existing tags.

Format: view_tags

result for 'view_tags'

Return to table of contents.

Deleting a tag : delete_tag

Deletes the specified tag name from JobFestGo.

WARNING: This command is destructive. Once a tag is deleted, no contacts can be associated with the tag.

Format: delete_tag t/TAG_NAME

  • The tag name must be an existing tag. e.g. vendor, personal, customer, …​

Examples:

  • delete_tag t/vendors deletes the tag vendors in JobFestGo.

Return to table of contents.

Filtering contacts by tag : filter_by_tag

Displays contacts tagged by any of the specified tags.

WARNING: This command is cumulative. Repeatedly using this command will result in the list being successively filtered based on the current displayed list. The examples below illustrate this.

Format: filter_by_tag TAG_NAME [MORE_TAG_NAMES]

  • Tag names are case-insensitive. e.g. Vendors will match vendors.
  • Only full words will be matched e.g. ven will not match vendors.
  • Contacts tagged by at least one of the given tags will be returned (i.e. OR search). e.g. vendors customers will return all contacts tagged by vendors and all contacts tagged by customers.

Examples:

  • filter_by_tag vendors returns all contacts tagged by the tag: vendor in JobFestGo.
  • filter_by_tag vendors customers returns all contacts tagged by the tag: vendors and all contacts tagged by the tag: customers in JobFestGo. The image below illustrates the result of this command.
  • Suppose we have a contact Hans in JobFestGo who is tagged by vendor. select_event 1 followed by filter_by_tag vendor will not include Hans, if Hans is not linked to the first event.

result for 'filter_by_tag vendors customers'

Return to table of contents.

Adding an event : add_event

Adds an event to JobFestGo.

Format: add_event n/NAME d/DATE a/ADDRESS

  • Event name can only take alphanumeric values.
  • The event name must not already exist in JobFestGo.
  • Event name and address should not have more than one whitespace in-between each word.
  • If the event name is very long and cannot be viewed fully, enter view_events to see the full text.
  • Date must be valid and should be in the appropriate (YYYY-MM-DD) format.
  • Date should not be before the current date.
  • Past the date of the event, the event will be labelled as completed next to its name in event list.

Examples:

  • add_event n/CS2103T Presentation d/2023-12-10 a/311, Clementi Ave 2, #02-25 adds an event named CS2103T Presentation to JobFestGo.

    result for 'add_event'

Return to table of contents.

Viewing all events : view_events

Displays a list of all existing events.

Format: view_events

result for 'view_events'

Return to table of contents.

Deleting an event : delete_event

Deletes the event specified at the index from JobFestGo.

WARNING: This command is destructive. Once an event is deleted, all tasks associated with the event will be deleted.

Format: delete_event INDEX

  • Deletes the event specified at the INDEX from the list of events of JobFestGo.
  • The index refers to the index number shown in the displayed event list.
  • The index must be a positive integer 1, 2, 3, …

Examples:

  • delete_event 1 deletes the 1st event in the displayed event list.

Return to table of contents.

Links specified contacts to the specified event.

Format: link ev/EVENT_NAME c/CONTACT_NAME [c/MORE_CONTACT_NAMES]

  • Event name and contact name should not have more than one whitespace in-between each word.
  • Only existing contacts and events in JobFestGo can be linked.
  • Contacts that are already linked to the specified event cannot be linked again.
  • Only full names will be matched e.g. NUS Career Fair will not match NUS Career Fair 2023, David will not match David Li
  • The order of the input does not matter. e.g. link ev/NUS Career Fair 2023 c/David Li and link c/David Li ev/NUS Career Fair 2023 are both valid commands and will perform the same task.

Examples:

  • link ev/NUS Career Fair 2023 c/David Li links David Li to the event NUS Career Fair 2023 if David Li is not linked to NUS Career Fair 2023.

result for 'link'

Errors: If any of the contacts or the event keyed in is not valid or does not exist in JobFestGo, an error will be thrown.

Return to table of contents.

Unlinks specified contacts from the specified event.

Format: unlink ev/EVENT_NAME c/CONTACT_NAME [c/MORE_CONTACT_NAMES]

  • Event name and contact name should not have more than one whitespace in-between each word.

Examples:

  • unlink ev/NUS Career Fair 2023 c/David Li unlinks David Li from the event NUS Career Fair 2023 if David Li is linked to NUS Career Fair 2023.

Errors: Similar to link, if any of the contacts or the event keyed in are not valid and do not exist in JobFestGo, an error will be thrown.

If the input contacts and event for unlink are not currently linked, an error will also be thrown.

Return to table of contents.

Selecting an event : select_event

Selects an event at the specified index from JobFestGo. The relevant contacts and tasks will be displayed.

Format: select_event INDEX

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

Examples:

  • select_event 3 selects the third event in the displayed events list.

    result for 'select_event 3'

Return to table of contents.

Adding a task : add_task

Adds a task to an event in JobFestGo.

Format: add_task td/TASK_DESCRIPTION d/DEADLINE ev/EVENT_NAME

  • Task description can take any alphanumeric value, spaces and any of the following characters: -, ,, ., /, ( and )
  • Task description and event name should not have more than one whitespace in-between each word.
  • Deadline is a date in the format YYYY-MM-DD.
  • Deadline should not be before today's date.
  • Event name should be the name of an already existing event.
  • Tasks with a deadline after the event's date are allowed to be created to accommodate post-event related tasks such as After-Action Review.
  • Reminders will be shown on the home page of JobFestGo for tasks within 3 days of the deadline.

Examples:

  • add_task td/Book Venue d/2023-12-23 ev/NUS Career Fair 2023 adds a Book Venue by 2023-12-23 task to the event NUS Career Fair 2023.

Return to table of contents.

Deleting a task : delete_task

Deletes the task specified by the task description from its associated event in JobFestGo.

WARNING: This command is destructive. Once a task is deleted, it cannot be recovered.

Format: delete_task td/TASK_DESCRIPTION ev/EVENT_NAME

  • Deletes the task specified by the TASK_DESCRIPTION from the event specified by the EVENT_NAME of JobFestGo.
  • Task description and event name should not have more than one whitespace in-between each word.
  • Both the TASK_DESCRIPTION and the EVENT_NAME are case-insensitive. e.g. delete_task td/Book Venue ev/NUS Career Fair 2023 and delete_task td/book venue ev/nus Career FAIR 2023 will perform the same operation.

Examples:

  • delete_task td/Book Venue ev/NUS Career Fair 2023 deletes task Book Venue from the task list of the event NUS Career Fair 2023.

Errors: If the specified event does not exist or the event does not have the specified task, an error will be thrown. If such a situation happens, you may double-check the task description and the event name and re-enter valid inputs.

Return to table of contents.

Marking a task : mark_task

Marks the task specified by the task description and its associated event name in JobFestGo as completed.

Format: mark_task td/TASK_DESCRIPTION ev/EVENT_NAME

  • Marks the task specified by the TASK_DESCRIPTION from the event specified by the EVENT_NAME of JobFestGo as completed.
  • Task description and event name should not have more than one whitespace in-between each word.
  • A label indicating the status of the task will be shown next to its description in the task list.
  • Both the TASK_DESCRIPTION and the EVENT_NAME are case-insensitive. e.g. mark_task td/Order Food ev/NUS Career Fair 2023 and mark_task td/order food ev/nus Career FAIR 2023 will perform the same operation.

Examples:

  • mark_task td/Order Food ev/NUS Career Fair 2023 marks the task Order Food from the task list of the event NUS Career Fair 2023 as completed.

Errors: If the specified event does not exist or the event does not have the specified task, an error will be thrown. If such a situation happens, you may double-check the task description and the event name and re-enter valid inputs.

If the specified task has already been marked as completed, an error will also be thrown.

result for 'mark_task'

Return to table of contents.

Unmarking a task : unmark_task

Marks the task specified by the task description and its associated event name in JobFestGo as not completed.

Format: unmark_task td/TASK_DESCRIPTION ev/EVENT_NAME

  • Task description and event name should not have more than one whitespace in-between each word.
  • It works exactly the same way as mark_task except for the fact that unmark_task marks a completed task as not completed.
  • You may unmark_task a task when you realize that you have not completed the task but have wrongly marked it as completed.

Examples:

  • unmark_task td/Order Food ev/NUS Career Fair 2023 marks the task Order Food from the task list of the event NUS Career Fair 2023 as not completed.

Errors: If the specified event does not exist or the event does not have the specified task, an error will be thrown. If such a situation happens, you may double-check the task description and the event name and re-enter valid inputs.

If the specified task has already been unmarked, an error will be thrown.

Return to table of contents.

Viewing help : help

Shows a link to the user guide which will contain all the details required to use the app appropriately. You can click on the 'Copy URL' button and paste the URL into your browser's address bar.

help message

Format: help

Return to table of contents.

Clearing all entries : clear

Clears all entries from JobFestGo.

WARNING: This command is destructive. Once executed, it will delete all contacts, events and tasks from JobFestGo. This command cannot be undone. Proceed with caution.

Format: clear

Return to table of contents.

Exiting the program : exit

Exits the program.

Format: exit

Return to table of contents.

Saving the data

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

Return to table of contents.

Editing the data file

JobFestGo data are saved automatically as a JSON file [JAR file location]/data/jobfestgo.json. Advanced users are welcome to update data directly by editing that data file.

Caution: If your changes to the data file makes its format invalid, JobFestGo 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.

Return to table of contents.

Archiving data files [coming in v2.0]

Details coming soon ...

Return to table of contents.

Progress bar for completed tasks of an event [coming in v2.0]

Details coming soon ...

Return to table of contents.


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 JobFestGo home folder.

Q: What do I do if the clicking of the JobFestGo JAR file does not work?
A: Given below are the steps to launch JobFestGo using CLI:

  1. Open the command prompt
  2. Navigate to the directory where the JAR file is located using cd [JAR file location]
  3. Type java -jar jobfestgo.jar and press enter
  4. JobFestGo should launch

Q: What do I do if I want to save contacts with the same name?
A: Currently our system does not support contacts with the same name. A workaround would be to use a numeric value after the name to differenciate the contacts. For example, John Doe 1 and John Doe 2.

Q: How can I check my Java version?
A: Open a command prompt and type java -version . If you do not have Java installed, you can download it here.

Return to table of contents.


Known issues

  1. When using multiple screens, if you move the application to a secondary screen, and later switch to using only the primary screen, the GUI will open off-screen.

    Solution: Delete the preferences.json file created by the application before running the application again.

  2. Help pop-up window shifts to the bottom left corner of the screen before re-centering on help command. Steps to reproduce the issue:

    1. Type help in the command box.
    2. Shift the pop-up window to anywhere on the screen.
    3. Close the pop-up window.
    4. Type help in the command box again.
    5. The pop-up window will shift to the bottom left corner before re-centering itself.

    Solution: Run the jar file with GTK 2 using the command java -Djdk.gtk.version=2 -jar jobfestgo.jar. This is a known Mac-only issue with JavaFX 11 which uses GTK 3 by default. Refer to this post for more details.

Return to table of contents.


Command summary

Action Format, Examples
Home home
Add Contact add_contact n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]…​
e.g. add_contact n/James Ho p/22224444 e/jamesho@example.com a/123, Clementi Rd, 12346658 t/client t/vendor
Delete Contact delete_contact INDEX
e.g. delete_contact 3
Edit Contact edit_contact INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [t/TAG]…​
e.g. edit_contact 2 n/James Lee e/jameslee@example.com
Find Contact find_contact KEYWORD [MORE_KEYWORDS]
e.g. find_contact James Jake
View Contacts view_contacts
Add Tag add_tag t/TAG_NAME
e.g. add_tag t/vendor
Delete Tag delete_tag t/TAG_NAME
e.g. delete_tag t/vendor
Filter by tag filter_by_tag TAG_NAME [MORE_TAGNAMES]
e.g. filter_by_tag vendor
View Tags view_tags
Add Event add_event n/NAME d/DATE a/ADDRESS
e.g. add_event n/NUS Career Fest 2023 d/2023-12-23 a/NUS
Delete Event delete_event INDEX
e.g. delete_event 1
Link link ev/EVENT_NAME C/CONTACT_NAME [C/MORE_CONTACT_NAMES]
e.g. link ev/NUS Career Fest c/Alice Black
Unlink unlink ev/EVENT_NAME C/CONTACT_NAME [C/MORE_CONTACT_NAMES]
e.g. unlink ev/NUS Career Fest c/Alice Black
Select Event select_event INDEX
e.g. select_event 1
View Events view_events
Add Task add_task td/TASK_DESCRIPTION d/DEADLINE ev/EVENT_NAME
e.g. add_task td/Book Venue d/2023-12-23 ev/NUS Career Fair 2023
Delete Task delete_task td/TASK_DESCRIPTION ev/EVENT_NAME
e.g. delete_task td/Book Venue ev/NUS Career Fair 2023
Mark Task mark_task td/TASK_DESCRIPTION ev/EVENT_NAME
e.g. mark_task td/Book Venue ev/NUS Career Fair 2023
Unmark Task unmark_task td/TASK_DESCRIPTION ev/EVENT_NAME
e.g. unmark_task td/Book Venue ev/NUS Career Fair 2023
Help help
Clear clear
Exit exit

Return to table of contents.