logo


1. Introduction

1.1 Overview

Welcome to the Uni-Fy User Guide!

Uni-Fy is a desktop app for managing your university workload, designed by university students for university students. This application allows you to track and get a great overview of your weekly tasks through the use of a weekly panel. Uni-Fy is 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, Uni-Fy can get your tasks to display faster than traditional GUI apps.

Interested to jump right in? Take a look at 3. Getting started. Enjoy!

1.2 Preview

The following is the GUI of our application:

UI Preview

GUI Components:

  1. Task List Panel: Displays all your tasks
  2. Command Box: Where you enter your commands
  3. Result Box: Displays the result of your commands
  4. Status Bar Footer: Displays the file which your data is saved at
  5. Weekly Panel: Represents the specified week, holding that week’s daily panels
  6. Daily Panel: Represents a day in the specified week, displaying the tasks in that day

2. About this document

The aim of this document is to help new users, to get started with Uni-Fy in no time. This includes providing you with all the basic knowledge you need to use Uni-Fy properly, in a simple and concise format. This guide will introduce all Uni-Fy features, command syntax, interpretations and also includes example usage.

2.1 Navigation

To help facilitate the navigation within this document, we have included numbers for each header. The headers will also be linked to their respective content through the table of contents or when they are referenced in this guide.

Additionally, here are the relevant places you can go to if you would like to seek clarification on more specific parts:

  • If you would like to get started on using Uni-Fy, head over to 3. Getting started.
  • If you would like to view the features available for Uni-Fy, head over to 4. Features.
  • If you would like a quick summary of the available commands for Uni-Fy, head over to 6. Command summary.

2.2 Formatting

The Uni-Fy user guide contains different formatting used throughout the document which is used to convey different meanings. This table below illustrates what each formatting means.

Formatting What Meaning Example
mark-up Words in light-gray highlight, also known as a mark-up A command that can be typed into Uni-Fy help
italic Words in italic A parameter to be supplied by the user n/task_name
(brackets) Words in round brackets Optional parameter (d/date) or
(task_id)
multiple... Words with after them Parameters that can be used multiple times including 0 times tg/tag...
Blue underline Bold blue words that show underline on mouse-over A clickable hyperlink, to either an external webpage or other parts of this User Guide 1. Introduction

2.3 Icons

The Uni-Fy user guide uses icons to differentiate the type of information presented. Here are the meanings behind the icons used in this document.

Icons Explanation
:bulb: Tips
:clipboard: Format
:green_book: Example(s)
:information_source: Important information to take note
:warning: Warning about the usage of a command

2.4 Glossary

Here is a table of commonly used terms in this document along with their meaning and interpretation.

Term Explanation
GUI A GUI (graphical user interface) is a system of interactive visual components for the user to interact with.
index The position of a task in the list. Indexes start from 1.
parameter Specific information for a command.

3. Getting started

  1. Ensure you have Java 11 or above installed in your Computer.

  2. Download the latest unify.jar from here.

  3. Copy the file to the folder you want to use as the home folder for Uni-Fy.

  4. Double-click the file to start the app. If double-click does not get the app to start in your device, please refer to the FAQ section. The GUI shown in the image below should appear in a few seconds. Note how the app contains some sample data.
    Ui

  5. Type the command in the command box and press Enter to execute it.


4. Features

This section highlights all the commands that Uni-Fy supports. These include details about the format of the command and example scenarios of each command.

:information_source: Notes about the command format:

  • Italicised words represent parameters that are meant to be supplied by the user
    • e.g. in add n/task_name d/date, the task_name keyword represents a task and the date keyword represents a date, both to be inputted by the user
  • Items inside round brackets are optional
    • e.g. in delete n/task_name (d/date), a user can choose to include the date for the task if there are multiples of it
  • In user inputted commands:
    • Items with n/ before them represent the exact name of the task
    • Items with tg/ before them represent the tag of the task
    • Items with d/ before them represent the date of the task
    • Items with t/ before them represent the time of the task
    • Items with p/ before them represent the priority level of the task
      • The priority level can be LOW, MEDIUM or HIGH (Note: needs to be uppercase)
    • Items with x/ before them represent the way to sort the tasks
    • Items with o/ before them represent the order to sort the tasks
    • Date is represented in YYYY-MM-DD format, and year should be 2021
    • Time is represented in HH:MM format
    • Tag must be alphanumeric and contain at most 15 characters

4.1 Adding a task: add

Adds a task to the task list. The parameters for the command can be input in any order.

:clipboard: Format:

  • add n/task_name t/time d/date tg/tag p/level

:information_source: Explanation:

  • Adds task with the name n/task_name
  • Adds task with the time t/time
    • The format should be as follows t/hh:mm
  • Adds task with the date d/date
    • The format should be as follows d/yyyy-mm-dd
    • The date should 2021
  • Add task with the tag tg/tag
  • Add task with the priority level p/level
  • The task is added for that date only at the given time
    • Useful if it is an event or for marking dates for exams

:green_book: Examples:

  • add n/Quiz d/2021-01-06 t/16:30 tg/CS2103 p/MEDIUM adds the Test task on 2021-01-06, scheduled for 16:30 with the tag set as CS2103, and priority level set as MEDIUM

add_command

After running the add command the task gets added to the task list and on the weekly panel as shown below:

add_command_after

4.2 Tagging Tasks: tag

Adds tags to a task.

:clipboard: Format:

  • tag task_id tg/tag (tg/tag...)

:information_source: Explanation:

  • Adds tg/tag tag to the task having index task_id
  • Adds multiple tags if more than one tg/tag used
  • The tags entered will overwrite the pre-existing tags

:green_book: Examples:

  • tag 3 tg/CS2103T tg/Homework sets the tags of task 3 in the task list to CS2103T and Homework

tag_command

After running the tag command the task gets tagged and displayed on the task list as shown below:

tag_command_after

4.3 Mark your tasks as DONE : done

Marks your task as DONE

:clipboard: Format:

  • done task_id

:information_source: Explanation:

  • The task_id refers to the index of the task in the currently displayed task list

:green_book: Examples:

  • done 1 marks the first task as done

done_command

After running the done command, the task at that particular index gets mark as done:

done_command_after

When all tasks for the week is done, the progress bar will be full:

done_command_full

4.4 Mark your tasks as TODO : undone

Marks your task back as TODO

:clipboard: Format:

  • undone task_id

:information_source: Explanation:

  • The task_id refers to the index of the task in the currently displayed task list

:green_book: Examples:

  • undone 3 marks the third task as undone

undone_command

After running the undone command, the task at that particular index gets mark as todo:

undone_command_after

4.5 Locating a task by name: find

Find tasks with matching keywords and show them in the task list.

:clipboard: Format:

  • find keyword (more_keywords)... (d/date) (tg/tag)...

:information_source: Explanation:

  • The search is case-insensitive.
  • The order of the keywords does not matter.
  • Only the name,date and tag of the task is searched.
  • Incomplete keywords will be matched e.g. Qu will match Quiz
  • Only tasks containing all keywords will be shown

:green_book: Examples:

  • find assignment d/2021-01-05 tg/CS2106 returns CS2106 Assignment due on 5 January 2021.

find_command

After running the find command, the tasks having the mentioned keyword are displayed as shown below:

find_command_after

4.6 Listing all tasks : list

Shows a list of all tasks in the task list.

:clipboard: Format:

  • list

list_command

After running the list command, all tasks will be displayed in the task list.

list_command_after

4.7 Showing Tasks: show

Show all tasks that have been added to the app in a specific week.

:clipboard: Format:

  • show week_number
  • show d/date

:information_source: Explanation:

  • If week_number field is provided:
    • Searches for the task with the given date and show it on the GUI
    • Useful in cases where user wants to show all tasks in the given week
  • If d/date field is provided:
    • Show tasks matching the given the date

:green_book: Example:

  • show d/2021-01-13 displays the tasks in the week of 2021-01-13

show_command

After running the show command, the tasks in that given week are shown in the display window as shown below:

show_command_after

4.8 Sorting the tasks : sort

Sorts the tasks in the task list of Uni-Fy.

:clipboard: Format:

  • sort x/(sort_by) o/(sort_order)

:information_source: Explanation:

  • Sorts the tasks in the tasklist based on either time or priority in ascending or descending order as entered after the o/ flag

:green_book: Examples:

  • sort x/priority o/desc sorts the tasks in the descending order of priority i.e. from HIGH to LOW

sort_command

After running the sort command the task gets sorted and displayed on the task list and weekly panel as shown below:

sort_command_after

4.9 Editing tasks : edit

Edits the existing details of a task. The parameters for the command can be input in any order.

:clipboard: Format:

  • edit task_id (n/task_name) (t/time) (d/date) (tg/tag) (p/level)

:information_source: Explanation:

  • The task_id refers to the index number shown in the displayed task list.
  • Edits task with the name n/task_name
  • Edits task with the time t/time
    • The format should be as follows t/hh:mm
  • Edits task with the date d/date
    • The format should be as follows d/yyyy-mm-dd
  • Edits task with the tag tg/tag
  • Edits task with the priority level p/level
  • At least one of the optional fields must be provided.
  • Existing values will be updated to the input values.

:green_book: Examples:

  • edit 2 n/Task4 p/MEDIUM edits the task at index 2 by setting the name of the task as Task4 and the priority of the task as MEDIUM.

4.10 Deleting tasks : delete

Removes a specific task that has been added to your app.

:clipboard: Format:

  • delete task_id (task_id)

:information_source: Explanation:

  • Deletes the task corresponding to the task_id
  • Deletes the tasks corresponding to the task_ids provided if multiple are provided
  • The index provided must be positive integer

:green_book: Examples:

  • delete 2 removes the second item in the task list
  • delete 1 3 removes the first and third items in the task list

delete_command

After running the delete command, the task at that particular index gets deleted as shown below:

delete_command_after

4.11 Deleting all tasks : clear

Clears all entries from the Uni-Fy app.

:clipboard: Format:

  • clear

clear_command_before

When you run the clear command, all the tasks in the task list of Uni-Fy get deleted as shown below:

clear_command_after

4.12 Retrieving past commands

Shows the previous commands run on Uni-Fy. The user can either type the command or use arrow keys to go through all the past commands.

:clipboard: Format:

  • /prev or ↑ for previous command
  • /next or ↓ for next command
:warning: Caution: Your history is erased when you close and reopen the app. Do not close the app if you have anything in the history that you need to refer to later.

4.13 Viewing help : help

Shows a message explaining how to access the help page.

:clipboard: Format:

  • help

help message

4.14 Saving the data

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

4.15 Editing the data file

Uni-Fy data are saved as a JSON file [JAR file location]/data/unify.json. Advanced users are welcome to update data directly by editing that data file.

:warning: Caution: If your changes to the data file makes its format invalid, Uni-Fy will discard all data and start with an empty data file at the next run.

4.16 Archiving data files [coming in v2.0]

Details coming soon …


5. FAQ

Q: What can you do if double-click is not opening the app?
A: Open your Command Prompt (Windows) or your Terminal (MacOS, Linux) and navigate to the folder your JAR file resides in.

Run the JAR file by using the command java -jar unify.jar.

On an OS based off of Linux, it might be necessary to run chmod +x unify.jar on Terminal to allow opening of the application via double-clicking.

Q: What are the minimum system requirements for this application?
A: If your computer runs any of the Operating Systems found here, you will be able to run Uni-Fy.

Q: Is my data secure with this application?
A: Your data is stored safely on your machine. Uni-Fy stores the data locally and does not upload any data to servers on the Internet. However, you are recommended to use antivirus software on your machine to prevent unauthorised hackers from accessing the local database.

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

Q: Is the source code of this application freely available?
A: Yes, our code is available on our GitHub repository under the MIT License. If you wish to contribute to the codebase of this application, please read the Developer Guide and make a pull request to our repository.

Q: I’ve spotted a bug in your application. How can I report this?
A: We would love to hear from you. You can make a GitHub issue at this link with the relevant details.


6. Command summary

Action Format, Examples
Add add n/task_name d/date (t/time) (tg/tag) (p/level)
e.g add n/Assignment 1 d/2021-12-12 t/13:00 tg/CS2103 p/HIGH
Tag tag task_id tg/tag (tg/tag)
e.g tag 2 tg/CS2103
Done done task_id
e.g done 1
Undone undone task_id
e.g undone 1
Edit edit task_id (n/task_name) (d/date) (t/time) (tg/tag) (p/level)
e.g edit 2 n/Task4 d/2021-11-11
Find find keyword (more_keywords)... (d/date) (tg/tag)...
e.g. find quiz
e.g. find quiz d/2021-12-12
e.g. find quiz tg/GEQ1000
e.g. find quiz d/2021-12-12 tg/GEQ1000
List list
Show show week_number
show d/date
e.g show 13
e.g show d/2021-12-12
Sort sort x/sort_by o/sort_order
e.g sort x/time o/asc
e.g sort x/priority o/desc
Delete delete task_id (task_id)
e.g. delete 1 3 4
Clear clear
Command History /prev or
/next or
Help help