User Guide

1.0 Introduction

Zoomaster is a desktop app for organizing website links, optimized for use via a Command Line Interface (CLI) while retaining the benefits of a Graphical User Interface (GUI). If you can type fast, Zoomaster can help fetch useful website links for you quicker than the bookmark function on your browser. This user guide will walk you through the features of Zoomaster and ways to input commands to it to access these features.


2.0 About this Document

Please take note that the symbol is used to indicate important warnings throughout the document.

Please also take note of the labels on command formatting:

Label Meaning
{curly brackets} Words contained in {curly brackets} are parameters to be supplied by the user.
eg. in delete {BOOKMARK_NUMBER}, BOOKMARK_NUMBER is a parameter which can be used as delete 1.
{PARAM1/PARAM2} Parameters with / inside are parameters that accept different types of inputs.
eg. launch {INDEX/DESCRIPTION} shows that either INDEX or DESCRIPTION can be used.
(optional) Parameters with (optional) are optional inputs.
eg. show {DAY(optional)} can be used as show or as show mon.
DAY Parameter DAY takes three-letter abbreviations of days in a week
The full list of DAY parameters are mon, tue, wed, thu, fri, sat, sun.
Your inputs need not be case sensitive.
eg. show {DAY(optional)} can be used as show mon, show tue, etc.
MODULE Parameter MODULE has to be an NUS module recognised by NUSMods.
You can go to https://nusmods.com/ to get the full list of NUS modules available.
eg. CS2113, CS2101
START TIME,
END TIME
Parameters START TIME and END TIME requires input to be in the format HH:mm and in 24 Hours.
eg. 12:00, 14:00, 00:00



3.0 Table of contents



4.0 Quick Start

  1. Ensure that you have Java 11 or above installed.

  2. You can download the latest version of Zoomaster from here if you are running an older version.

  3. Now move the zoomaster.jar file into your desired home folder for Zoomaster.

  4. Copy the absolute path of your zoomaster.jar file by first highlighting your file, then while holding the Shift key on your keyboard, right-click on that file and select the option "Copy as path".

  5. Afterwards, start Command Prompt by pressing Windows + R on the keyboard, then type in "cmd" and hit the Enter key.

  6. In the Command Prompt, type in "java -jar", then paste the absolute path you copied previously in step 4. It should look similar to the picture below:


  7. Finally, press Enter. You should see something similar to this Zoomaster logo indicating that you have successfully started your Zoomaster program.

  8. The app is now ready to go! Go ahead and test it out with a help command. The app should print out a list of different commands.

  9. You can now refer to the section below to explore the different features of the Zoomaster app.

5.0 Features

This section will explain to you the different features of Zoomaster and how you can interact with it.

Zoomaster has three different modes:

Each mode has its own different sets of features and commands, which will be explained in sections 5.2, 5.3, and 5.4.

5.1 Global Commands

These commands can be used by you in every mode of the app.

5.1.1 Show help information: help (Yu Shing + Zhan Hao)

You can see the list of commands available in the mode you are currently in.

Format: help {COMMAND(optional)}

Let's say you require help to see the commands you can access the main menu mode. You will first enter help into the console.

Then you should see the following message to guide you with the relevant commands.



Typing help in bookmark mode will show these commands.



Typing help in timetable mode will show these commands.



Lastly, typing help in planner mode will show these commands.



If you require additional information about a command, you can insert the optional parameter of {COMMAND} after help show you additional information about the commands and how to format the command properly.

Example of usage:

The following example represents the case if you require help with the add command in timetable mode. First, you type the command help add.

Then you should see the following message to explain and instruct you on how to use the add command in timetable mode



5.1.2 Switch mode: mode (Yu Shing)

You can switch between “bookmark”, “timetable” and "planner" modes. Depending on the mode you select the behaviour of the commands below changes.

There are three modes for Zoomaster, Bookmark, Timetable and Planner modes.

Format: mode {bookmark/timetable/planner}

Example of usage:

Here is an example of switching from the main menu of Zoomaster to the bookmark modes.



For the other modes, you should see a similar message like "changing to timetable/planner mode".



5.1.3 Clear screen: clear (Zhan Hao)

You can clear the command prompt screen using this command. It is useful when your screen gets cluttered with prior commands. For example, when you have added a whole bunch of modules and timeslots to your timetable. Then you can use clear command to remove those commands.

Note that if your monitor screen has high dimensions, you might need multiple calls of this command to fully clear your screen.

Format: clear

Here is an example of clearing the screen using the clear command.



5.1.4 Launch bookmarks of current lesson: launch now (Xing Rong)

You can launch the bookmarks of a current lesson slot in your timetable. The time depends on the system time of your machine with an additional 5 minutes of buffer, allowing you to launch your zoom session ahead of time.

Format: launch now    

Here is an example of launching the bookmark of the current lesson. In this case, the URL attached to the slot is www.google.com.



You should expect to see the urls of the current or 5 minutes advance lesson slot launching in your native browser. Otherwise, you should see the message no lesson now.



5.1.5. Show settings: showsettings (Francisco)

Once you are comfortable using Zoomaster, this command, along with the set command, helps you customise Zoomaster's behaviour.

Format: showsettings

When you type in this command, you will see two settings that you can adjust:



The two settings are:



5.1.6. Set a setting: set {SETTING_NAME} {NEW_OPTION} (Francisco)

While showsettings shows you the settings, this command lets you change one of the settings.

For example, let's say that you want Zoomaster to enter bookmark mode when you start it. You can type in set def_mode bookmark and Zoomaster will change your settings, as shown below.

The next time you run Zoomaster, you will automatically enter bookmark mode.



5.1.7 Exit the app: exit

You can exit the application by using the exit command.

Format: exit    

You should see this message on exit.



5.2 Bookmark Mode

5.2.1 Show bookmarks: show (Zhan Hao)

This feature helps you print out all bookmarks in your bookmark list.

Format: show

Example of a printed out bookmark list.

If your bookmark list is empty, you will get the message shown in the screenshot below.



5.2.2 Add bookmark: add (Zhan Hao)

You can add bookmarks to your bookmark list. A bookmark contains its description and URL.

Format: add {DESCRIPTON} {URL}

Example of usage:



5.2.3 Delete bookmarks: delete (Zhan Hao)

Deletes a bookmark with the specified index.
The index will correspond to the index of that bookmark in the list. You can do a show command to check the bookmark indexes.

Format: delete {INDEX}

Example of usage:

You should see a message similar to the screenshot below.



5.2.3 Edit bookmarks: edit (Francisco)

This command edits a bookmark's description or URL with the specified index.
Just like delete, the index will correspond to the index of that bookmark in the list. You can do a show command to check the bookmark indexes.

Format: edit {desc/url} {INDEX}

You should enter a desc or url depending on which one you want to edit.

For example, let's say that you have [news] www.straitstimes.com as your third bookmark on the list. You can type in edit desc 3 straitstimes to change the description to "straitstimes". The following message will appear:



5.2.4 Find bookmarks: find (Zhan Hao)

You can use this command to find bookmarks with matching description.

Format: find {DESCRIPTION}

Example of usage:

You should see a message similar to the screenshot below when a successful match is found.

Else you should see "No bookmarks contain the specified keyword!".



5.2.5 Launch bookmarks: launch (Zhan Hao)

You can use this feature to launch bookmarks in your native browser.

Your selection of bookmark(s) can be via:

The index will correspond to the index of that bookmark in the list. You can do a show command to check the bookmark indexes.

Format: launch {INDEX/DESCRIPTION}

Example of usage:



5.3 Timetable mode

5.3.1 Show timetable: show (Yu Shing)

You will be able to see the timetable for a certain day or the whole week.
today can also be a DAY input to show the timetable for the current day based on system time.
If your selected timetable is the current day, you should be able to see a "current time" indicator with your system local time. Else if you have a lesson ongoing currently, it will instead show a "lesson now" indicator around your current lesson.

Format: show {DAY(optional)}

Example of usage:

Here are some examples of outcomes you will see on the command line interface



5.3.2 Show module and slot details: show (Xing Rong)

You can use this command to show the details of a module or slot that has been added.
You can see the respective indexes of each of the slots from the module and using the bookmarks keyword will show the bookmarks which are saved in the module and its slots.

Format (show module details): show {MODULE} bookmarks(optional)

Example of usage:



5.3.3 Add module, time slot and bookmark: add (Xing Rong)

You can add modules, time slots and bookmarks using this feature. You can also chain commands when adding multiple slots and bookmarks to a module by using , as a separator.

Format (adding a module): add {MODULE}

Format (adding a slot to a module): add {MODULE} {DESCRIPTION} {DAY} {START_TIME} {END_TIME} 

Format (adding a bookmark to a module): add {MODULE} {DESCRIPTION} {URL}

Format (adding a bookmark to a slot): add {MODULE} {DESCRIPTION} {DAY} {START_TIME} {END_TIME} {URL}
                                      add {MODULE} {INDEX} {URL}

Format (chaining commands): add {MODULE} {DESCRIPTION} {DAY} {START_TIME} {END_TIME} {URL}, {DESCRIPTION} {URL}, ...

Example of usage:

More examples:



5.3.4 Delete module, time slot and bookmarks: delete (Xing Rong)

Deletes module, time slot or their bookmarks.

Format (deleting a module): delete {MODULE}

Format (deleting a slot of a module): delete {MODULE} {INDEX} 

Format (deleting bookmarks of a module): delete {MODULE} bookmarks 

Format (deleting bookmarks of a slot of a module): delete {MODULE} {INDEX} bookmarks 

Example of usage:



5.3.5 Edit slot's module, title, time: edit (Francisco)

Edits the module, title or time for a specific slot.

Format (editing the module of a slot): edit module {DAY} {INDEX} {new MODULE}

Format (editing the title of a slot): edit title {DAY} {INDEX} {new TITLE}

Format (editing the time of a slot): edit time {DAY} {INDEX} {DAY} {new START_TIME} {new END_TIME}

For example, let's say that you have these two slots on Wednesday:

If you want to change the title of the second slot to "tutorial", you can simply type edit title wed 2 tutorial. You should then see a message as shown below:

More examples of usage:

5.3.6 Launch bookmarks from module, slot: launch (Xing Rong)

Launches the bookmarks of slots or the bookmarks of a module

Format (launch module bookmarks): launch {MODULE}

Format (launch slot bookmarks): launch {MODULE} {INDEX}

Example of usage:


5.4. Planner Mode (Jusuf)

5.4.1. Load planner: load

Loads all the timetables from the planner folder and helps you find some common empty slots.

Format: load

You can try to download some timetable samples from here.


5.4.2. Add meeting: add

You can add modules, time slots, and bookmarks using this feature. You can also chain commands when adding multiple slots and bookmarks to a module by using , as a separator.

Format: same as add time slots command.


5.4.3. Show planner: show

You will be able to see the empty time slots for a certain day or the whole week.

If your selected timetable is the current day, you should be able to see a "current time" indicator with your system local time. Else, if you have a lesson ongoing currently, it will instead show a "lesson now" indicator around your current lesson.

Format: show {DAY(optional)}

Example of usage:

Output:


5.4.4. Save planner: save

Saves the newly added slot(s) to each individual timetable.

Format: save



6.0 FAQ

Q: My Zoomaster logo looks weird! Is there something wrong with my program?

A: Some users might encounter a start-up screen that looks like this.

This is only a visual bug. Other than the weird-looking logo, Zoomaster will work as per normal. No need to worry!

Q: How do I transfer my data to another computer?

A: Simply copy the data/bookmarks.txt and data/slots.txt file to the data directory. This directory should be in the same location where you have stored the jar file.

Start the application and all the data should be loaded.

Q: Can I add a module not from NUS?

A: Yes you can!
In the data directory locate the modulelist.txt file. Add the new module on a new line and save the txt file. You can now add the module in Zoomaster.



7.0 Command Summary

Action Format, Examples
Global
help help {COMMAND(optional)}
example: help, help add
mode mode {bookmark/timetable/planner}
example: mode bookmark
clear clear
launch now launch now
show settings showsettings
set a setting set {SETTING_NAME} {NEW_OPTION}
exit exit
Bookmark Mode
show show
add add {DESCRIPTION} {URL}
example: add cheatsheet www.google.com

delete delete {INDEX}
example: delete 2
edit edit {desc/url} {INDEX} {NEW_VALUE}
example: edit desc 1 math, edit url 3 www.google.com
find find {MODULE} {DESCRIPTION(optional)}
example: find CS2113 tutorial
launch launch {MODULE} {DESCRIPTION(optional)}
example: launch CS2113
Timetable Mode
show (lessons) show {DAY(optional)}
example: show, show wed, show today
show (bookmarks
attatched)
show {MODULE} bookmarks(optional)
example: show CS2113, show CS2113 bookmarks
add add {MODULE}
example: add CS2113T

add {MODULE} {DESCRIPTION} {DAY} {START_TIME} {END_TIME}
example: add CS2113T tutorial wed 11:00 12:00

add {MODULE} {DESCRIPTION} {URL}
example: add CS2113T tutorial www.yahoo.com

add {MODULE} {DESCRIPTION} {DAY} {START_TIME} {END_TIME} {URL}
example: add CS2113T tutorial wed 11:00 12:00 www.yahoo.com

add {MODULE} {INDEX} {URL}
example: add CS2113T 2 www.yahoo.com
delete delete {MODULE}
example: delete CS2113

delete {MODULE} {INDEX}
example: delete CS2113 2

delete {MODULE} bookmarks
example: delete CS2113 bookmarks

delete {MODULE} {INDEX} bookmarks
example: delete CS2113 2 bookmarks

edit edit module {DAY} {INDEX} {new MODULE}
example: edit module fri 2 CS1010

edit title {DAY} {INDEX} {new TITLE}
example: edit title fri 2 tutorial

edit time {DAY} {INDEX} {new START_TIME} {new END_TIME}
example: edit time fri 2 16:00 18:00
launch launch {MODULE}
example: launch CS2113

launch {MODULE} {INDEX}
example: launch CS2113 1
Planner Mode
load load
show show {DAY(optional)}
example: show, show wed, show today
add see add in timetable mode above
save save