<== Back to Home

User guide

GULIO (Get Ur Life In Order) is a desktop app that provides a single consolidated and personalised workspace for NUS SoC students to organize their modules. GULIO is optimized for use via a Command Line Interface (CLI) which SoC students will be familiar with typing in, instead of a Graphical User Interface (GUI).

If you are having difficulties managing your schedule, lesson links and notes, GULIO is the app for you. With the ability to store lesson details, tasks, notes and more, GULIO is a one-stop solution for all your university scheduling needs.

This guide is written for users like you, for reference when there is a particular feature that you are unsure of how to use. It provides all the necessary information required for you to fully utilize GULIO’s capabilities.

 


Table of Contents

 


How to Use This Guide

Icons used in this guide:

💡 - indicates a tip that may be useful to you.
⚠ - indicates a warning that you should take note of.

Commands will be presented in the following format:

Command function : keyword

Summary of actions involved.

Format:
command format

Example: (if any)

Step number
Label >> What you input
What you will get.

Result - Outcome of command (if any)

 


Quick Start

Download the latest version of GULIO from here.

Requirements:

Java 11 and above

💡 Verify this by running the command “java –version” in command prompt (for Windows users) or Terminal (for Mac and Linux users).

Steps:

  1. Move the GULIO.jar file to your preferred directory.
  2. Open command prompt (for Windows users) or Terminal (for Mac and Linux users),
  3. Navigate to the directory of your GULIO.jar file.
  4. Run the command “java -jar gulio.jar” to start GULIO.

    💡 The file name is not case-sensitive, so both gulio.jar and GULIO.jar works.

 

Command Line GULIO
Figure 1 - Example of Opening GULIO in Command Prompt

 

🡅 Back to Table of Contents


Features

Overview

GULIO has a 2-layer system, consisting of the dashboard layer, and the module layer. In both layers, you have access to a different set of commands.

2-Layer System
Figure 2 - Visualisation of GULIO’s 2-layer system

On start up, you will be on the dashboard layer where you have an overview of all your modules. You have access to module management commands like adding, deleting or opening a particular module.

💡 Please refer to the section Dashboard Commands for information regarding commands at the dashboard layer.

Opening a module puts you on the module layer where you can interact with data within the module.

💡 Please refer to the section Module Commands for information regarding commands at the module layer.

To identify which layer you are on, simply check the tag beside your input.

Dashboard Label
Figure 3a - Dashboard Layer

Module Label
Figure 3b - Module Layer

Each module can store two types of data: lesson and task. Lessons refer to your lectures, labs and tutorials, which are all recurring events. Meanwhile, tasks are used to store one-time events, like your homework, quizzes and any other activities with a deadline.

Fields in a lesson:

Field Description
Lesson type Lecture, lab or tutorial.
Day & time Information on when the lesson happens.
Link Online meeting link for the lesson.
Teaching staff name Name of the lesson’s teacher.
Teaching staff email Email of the lesson’s teacher.

Fields in a task:

Field Description
Task name A short title for the task.
Deadline Deadline of task in DD-MM-YYYY format.
Remarks Additional information on the task.
Graded status True or false, whether the task is graded.
Done status True or false, whether the task is done.

Additionally, you can store your lecture notes in GULIO using the cheat-sheet feature. Cheat-sheets are stored as text files and GULIO has a built-in text editor that can be used to edit them. Cheat-sheets are unformatted so that users can focus on writing the content.

 

🡅 Back to Table of Contents


Dashboard Commands

These are commands used on the dashboard layer, when no modules have been selected. Commands here deal with the creation of modules, as well as accessing modules.

 

Listing all dashboard commands : help

Use this command to view all commands accessible from the dashboard layer.

Format:
help

 

Exiting the program : exit

Use this command to exit GULIO.

Format:
exit

 

Opening a module : open

Use this command to open an existing module.

Format:
open <module code>

Example:

Step #1
GULIO >> open CS2113T

Opening CS2113T.

<Overview for CS2113T>
Lecture - Friday 4pm - 6pm
Tutorial - Wednesday 9am - 10am

Undone tasks:
1. iP increments
2. Weekly exercises

Result - GULIO moves from dashboard to module layer, and the module CS2113T is loaded.

💡 Module name is auto-converted to uppercase, hence is not case-sensitive.

 

Adding a module : add

Use this command to add a new module with the specified name.

Format:
add <module code>

Example:

Step #1
GULIO >> add CS2113T

Added CS2113T to the module list.

Result - A new module called CS2113T is added.

💡 Module name is auto-converted to uppercase, hence is not case-sensitive.

 

Deleting a module : del

Use this command to delete existing modules.

Upon entering the command, GULIO will show the list of current modules. Then, specify the indices corresponding to the modules you would like to delete.

Format:
del

Example:

Step #1
GULIO >> del

Which modules would you like to delete?
1. CS2107
2. CS2113T
3. CS2101

Please enter the indices of the modules you would like to delete.
Separate indices with a blank space.
Step #2
1 3
Removed CS2107 from the module list.
Removed CS2101 from the module list.

Result - Modules CS2107 and CS2101 are removed from the module list.

💡 Separate indices with a space. Invalid indices will be ignored.

 

Listing all modules : mods

Use this command to view all existing modules.

Format:
mods

Example:

Step #1
GULIO >> mods

Modules in your list:
1. CS2101
2. CS2113T

 

🡅 Back to Table of Contents


Module Commands

These are commands used on the module layer, when a module has been selected. Commands here deal with modifying the data corresponding to the specified module.

 

Listing all module commands : help

Use this command to view all commands accessible from the module layer.

Format:
help

 

Closing a module : close

Use this command to close the current module and go back to the dashboard layer.

Format:
close

 

Showing module information : info

Use this command to get a summary of the module, including lessons and undone tasks.

Format:
info

Example:

Step #1
CS2113T >> info

<Overview for CS2113T>
Lecture - Friday 4pm - 6pm
Tutorial - Wednesday 9am - 10am

Undone tasks:
1. iP increments - 22 Feb 2021 (Overdue by 32 days)

Result - Prints overview of module, including lessons and undone tasks.

 

Adding a lesson : add lsn

Use this command to add a new lesson to the module.

Choose from one of the three lesson types: lecture,lab or tutorial. Follow one of the following formats to include additional information with the lesson.

Format:
add lsn <lesson type>
add lsn <lesson type> ;; <day & time>
add lsn <lesson type> ;; <day & time> ;; <link>
add lsn <lesson type> ;; <day & time> ;; <link> ;; <teaching staff name>
add lsn <lesson type> ;; <day & time> ;; <link> ;; <teaching staff name> ;; <email>

Example:

Step #1
CS2113T >> add lsn tutorial ;; Wednesday 9am - 10am ;; https://zoom.us/

Added Tutorial to lesson list.

Result - Adds “Tutorial” to the module’s list of lessons, with specified details.

⚠ Only accepts 3 lesson types: Lecture, Lab and Tutorial. Lesson type is auto-capitalised when displayed, hence input for the field is not case-sensitive.

💡 To skip an input, leave a blank in between the field separators. For example,

add lsn tutorial ;; ;; ;; Prof Akshay ;; akshay@email.com

will add “Tutorial” to the module’s list of lessons with only the given teaching staff name and email. The fields “day & time” and “link” were skipped.

Note: “lesson type” cannot be skipped.

 

Deleting a lesson : del lsn

Use this command to delete lessons from the module.

Upon entering the command, GULIO will show the list of lessons in the module. Then, specify the indices corresponding to the lessons you would like to delete.

Format:
del lsn

Example:

Step #1
CS2113T >> del lsn

Which lessons would you like to delete?
1. Lecture (Teaching staff name: Prof Isa)
2. Tutorial (Wednesday 9am - 10am)

Please enter the indices of the lessons you would like to delete.
Separate indices with a blank space.
Step #2
1 2
Removed Lecture.
Removed Tutorial.

Result - The lessons “Lecture” and “Tutorial” are removed from the list of lessons.

💡 Separate indices with a space. Invalid indices will be ignored.

 

Editing a lesson : edit lsn

Use this command to edit a lesson in the module.

Upon entering the command, GULIO will show the list of lessons in the module. Select the lesson you would like to edit by entering its index. Then, you will see a list of fields you can edit. Specify the indices of the fields you would like to edit. Finally, for each field you have selected, enter a new value.

Format:
edit lsn

Example:

Step #1
CS2113T >> edit lsn

Which lessons would you like to edit?
1. Lecture - Wed 10am
    www.zoom.com
    Prof Isa
    isa@gmail.com
Step #2
1

Editing: LECTURE
Which fields would you like to edit?
1. Time and day
2. Lesson link
3. Teaching staff name
4. Teaching staff email

Separate indices with a blank space.
Step #3
1

Enter new time and day:
Step #4
Thursday 9am
Updated time and day.

Result - Edits time and day of “Lecture”.

💡 While only one lesson can be edited at a time, you can edit multiple fields simultaneously. As such, separate multiple indices with a space. Invalid indices will be ignored.

 

Use this command to open your lesson links.

Upon entering the command, GULIO will show the list of lessons in the module. Then, specify the indices corresponding to the lessons whose links you would like to open.

Format:
link

Example:

Step #1
CS2113T >> link

Which lesson’s link would you like to open?
1. Lecture
2. Tutorial
Step #2
1
Opening lecture link in browser.

Result - Opens the Zoom link used for lectures in a browser.

💡 Multiple links can be opened at once. As such, separate indices with a space. Invalid indices will be ignored.

⚠ Web protocol must be included in lesson link for security purposes. Links without protocol (e.g. no https nor http at the start) will be deemed invalid.

 

Listing all teaching staff : tch

Use this command to view all teaching staff in the module.

Format:
tch

Example:

Step #1
CS2113T >> tch

Teaching staff for CS2113T:
1. Prof Akshay - profakshay@email.com
2. Cheng Xianhao - cxh@email.com

 

Listing all lessons : lsn

Use this command to view all lessons in the module.

Format:
lsn

Example:

Step #1
CS2113T >> lsn

Lessons for CS2113T:
1. Lecture - Friday 4pm - 6pm
    https://nus-sg.zoom.us/j/def
    Prof Akshay
    profakshay@email.com
2. Tutorial - Wednesday 9am - 10am
    https://nus-sg.zoom.us/j/abc
    meeting - Wednesday 2pm - 4pm

 

Adding a task : add task

Use this command to add a new task to the module.

Follow one of the two formats below.

Format:
add task <task name> ;; <deadline>
add task <task name> ;; <deadline> ;; <remarks>

Example:

Step #1
CS2113T >> add task iP submission ;; 3-3-2021 ;; Attach JAR

Is this task graded? (Y / N)
Step #2
Y
Added iP submission to task list.

Result - Adds “iP submission” to the module’s list of tasks, with the specified details.

💡 Deadline has to be in the DD-MM-YYYY format.

Note: a task should minimally have a “task name” and “deadline”, so only the “remarks” field can be skipped.

💡 When asked if the task is graded, both “y” and “Y” will work. Response is not case-sensitive for the user’s convenience.

 

Deleting a task : del task

Use this command to delete tasks from the module.

Upon entering the command, GULIO will show the list of tasks in the module. Then, specify the indices corresponding to the tasks you would like to delete.

Format:
del task

Example:

Step #1
CS2113T >> del task

Which tasks would you like to delete?
1. weekly exercise
2. watch video snippets
3. iP submission

Please enter the indices of the tasks you would like to delete.
Separate indices with a blank space.
Step #2
1 3
Removed weekly exercise.
Removed iP submission.

Result - The tasks “weekly exercise” and “iP submission” are removed from the list of tasks.

💡 Separate indices with a space. Invalid indices will be ignored.

 

Editing a task : edit task

Use this command to edit a task in the module.

Upon entering the command, GULIO will show the list of tasks in the module. Select the task you would like to edit by entering its index. Then, you will see a list of fields you can edit. Specify the indices of the fields you would like to edit. Finally, for each field you have selected, enter a new value.

Format:
edit task

Example:

Step #1
CS2113T >> edit task

Which task would you like to edit?
1. weekly exercise - 23 Feb 2021
    Do before 2359.
    Graded
2. lecture quiz - 26 Feb 2021
    Complete before next lecture.
    Not graded
Step #2
2

Editing: lecture quiz
Which fields?
1. Description
2. Deadline
3. Remarks
4. Graded/not graded

Separate indices with a blank space.
Step #3
2

New deadline:
Step #4
2-3-2021
Updated deadline.

Result - Edits the deadline for the task “lecture quiz”.

💡 While only one task can be edited at a time, you can edit multiple fields simultaneously. As such, separate multiple indices with a space. Invalid indices will be ignored.

 

Marking task as done : mark

Use this command to mark tasks as done.

Upon entering the command, GULIO will show the list of tasks in the module that are undone. Then, specify the indices corresponding to the tasks you would like to mark as done.

Format:
mark

Example:

Step #1
CS2113T >> mark

Which undone tasks have you completed?
1. weekly exercise
2. lecture quiz
3. read up notes

Please enter the indices of the tasks you would like to mark as done.
Separate indices with a blank space.
Step #2
1 2
Marked weekly exercise as done.
Marked lecture quiz as done.

Result - The tasks “weekly exercise” and “lecture quiz” are marked as done.

💡 Separate indices with a space. Invalid indices will be ignored.

 

Marking task as undone : unmark

Use this command to mark tasks as undone.

Upon entering the command, GULIO will show the list of tasks in the module that are done. Then, specify the indices corresponding to the tasks you would like to mark as undone.

Format:
unmark

Example:

Step #1
CS2113T >> unmark

Which done tasks have you completed?
1. watch video snippets
2. iP submission

Please enter the indices of the tasks you would like to mark as done.
Separate indices with a blank space.
Step #2
1
Marked watch video snippets as undone.

Result - The task “watch video snippets” is marked as undone.

💡 Separate indices with a space. Invalid indices will be ignored.

 

Listing all tasks : task

Use this command to view all the tasks in the module.

Done and undone tasks are separated. Undone tasks are sorted by earliest deadline.

Format:
task

Example:

Step #1
CS2113T >> task

Tasks for CS2113T:

[Undone]
You have completed all your tasks.

[Done]
1. iP increments - 22 Feb 2021

 

Adding a cheat-sheet : add cs

Use this command to add a new cheat-sheet to the module and open it in the text editor.

Format:
add cs <cheat-sheet name>

Example:

Step #1
CS2113T >> add cs lecture notes

lecture notes has been added to your Cheatsheet folder.

Result - Adds new cheat-sheet “lecture notes” and opens it in the text editor.

⚠ Please do not include any file extension in the cheat-sheet name.

 

Deleting a cheat-sheet : del cs

Use this command to delete the specified cheat-sheet from the module.

Format:
del cs <cheat-sheet name>

Example:

Step #1
CS2113T >> del cs lecture notes

lecture notes has been deleted!

Result - Deletes cheat-sheet “lecture notes”.

⚠ Please do not include any file extension in the cheat-sheet name.

 

Editing a cheat-sheet : edit cs

Use this command to open and edit the specified cheat-sheet in the text editor.

Format:
edit cs <cheat-sheet name>

Example:

Step #1
CS2113T >> edit cs lecture notes

Opened lecture notes.

Result - Opens cheat-sheet “lecture notes” in text editor.

⚠ Please do not include any file extension in the cheat-sheet name.

 

Listing all cheat-sheets : cs

Use this command to view the list of cheat-sheets you have for the module.

Format:
cs

Example:

Step #1
CS2113T >> cs

Here is your list of cheat-sheets:

1. lecture notes

 

🡅 Back to Table of Contents


Data & Storage

Automatic Saving

Data for each module is stored in their respective module’s text file, located in a folder called Data created in the same directory as the GULIO.jar file. When moving this folder, please ensure that it is placed in the same directory as your GULIO.jar file. After every modification, changes are automatically saved to the file.

Manual Editing Outside of GULIO

Files can be modified outside of the program. Invalid inputs will not be loaded when the program is run and will be removed from the file. To ensure that your data loads properly, please follow the format stated in the data files strictly.

Format for Lessons:

  1. lesson | <type> | <Day & Time>
  2. lesson | <type> | <Day & Time> | <Link>
  3. lesson | <type> | <Day & Time> | <Link> | <Teaching Staff Name>
  4. lesson | <type> | <Day & Time> | <Link> | <Teaching Staff Name> | <Teaching Staff Email>

⚠ Only accepts 3 lesson types: “Lecture”, “Lab” and “Tutorial”.

Format for Tasks:

  1. task | <description> | <deadline> | <is done> | <is graded>
  2. task | <description> | <deadline> | <is done> | <is graded> | <remarks>

⚠ For <is done> and <is graded>, use ‘T’ for true and ‘F’ for false.

 

🡅 Back to Table of Contents


Text Editor

GULIO comes with a built-in text-editor that allows you to edit cheat sheets directly. This text editor can be accessed via the add and edit cheat sheet commands. Cheat-sheets are stored in the Cheatsheet directory within their respective module directories as .txt files.

Text Editor
Figure 4 - GULIO Text Editor

In the text editor, you can type in your notes in the text field. When done, remember to save any changes via the ctrl-s shortcut. To close the text editor, simply press the escape key on your keyboard. Using ctrl-up and ctrl-down, you can enlarge or shrink text respectively.

Shortcuts Actions
ctrl-s Save cheat-sheet.
ctrl-up Enlarge text.
ctrl-down Shrink text.
esc Exit test editor

⚠ Do not include file extension (e.g. ”.txt”) when creating or editing the cheat-sheet.

 

🡅 Back to Table of Contents


FAQ

Here are some frequently asked questions that you may have regarding GULIO.

Q: How do I open GULIO?
A: Please refer to the steps here.

Q: Why am I unable to open cheat-sheet in Windows Subsystem for Linux (WSL)?
A: GULIO’s cheat-sheet feature requires the usage of GUI, which is not available on WSL.

Q: Where can I find the data files for GULIO?
A: Data used by GULIO are stored in the Data directory, which is created in the same location that the GULIO.jar file is in.

Q: Where can I submit any feedback or issues regarding GULIO?
A: You can create an issue here. Thank you very much.

 

🡅 Back to Table of Contents


Command Summary

Dashboard Commands Summary

Keyword Format
help help
exit exit
open open <module code>
add add <module code>
delete del
modules mods

Module Commands Summary

Keyword Format
help help
close close
info info
add lesson add lsn <lesson type> ;; <day & time> ;; <link> ;; <teaching staff name> ;; <email>
delete lesson del lsn
edit lesson edit lsn
link link
teacher tch
lessons lsn
add task add task <task name> ;; <deadline> ;; <remarks>
delete task del task
edit task edit task
mark mark
unmark unmark
tasks task
add cheat-sheet add cs <cheat-sheet name>
delete cheat-sheet del cs <cheat-sheet name>
edit cheat-sheet edit cs <cheat-sheet name>
cheat-sheets cs

 

🡅 Back to Table of Contents