By: Team T12-3 Since: Sep 2018 Licence: MIT

1. Introduction

This User Guide provides a comprehensive walkthrough for new-users of the Student Schedule Planner (SSP). This walkthrough includes instructions on how to install the latest version of java, as well as downloading and running the SSP application.

Student Schedule Planner (SSP) is a desktop application created by Team T12-3. It is a planner customised for university students, and it aims to help university students manage their time effectively.

SSP incorporates features that streamline the creation, organisation, and finding of tasks. In addition, it allows the user to keep track of the current academic week, and has a progress tracking feature, which displays the user’s progress.

Instead of utilising a conventional Graphical User Interface(GUI). SSP is optimised for users who prefer typing out their commands. This application has the potential to be much faster than regular planner applications, especially for users who are proficient in typing. Move on to the Section 2, “Quick Start” to get started.

2. Quick Start

  1. Install Java 9 if you do not yet have it installed. It is available here.

    The application may not run correctly on Java 10 or Java 11.
  2. Download the latest studentscheduleplanner.jar here.

  3. Copy the file to the folder that you want to use as the home folder for your planner.

  4. Double-click the file to start the app. The GUI should appear in a few seconds.

Ui
Figure 1. Main menu for the SSP application upon starting the app.
  1. 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.

  2. Refer to Section 3, “Features” for details of each command.

3. Features

Understanding the command format

  • Parameters can be in any order:

n/NAME d/DEADLINE

d/DEADLINE n/NAME is also acceptable.

  • Words in UPPER_CASE represent parameters to be entered by the user:

add n/NAME

n/NAME represents the task name which the user inputs, such as n/CS2103 Tutorial.

  • Items in square brackets are optional:

n/NAME t/[TAG]

The parameter t/[TAG] is optional, which means n/CS2103 tutorial t/CS2100, and n/CS2103 tutorial are both valid commands.

  • Items with ​ after them can be used multiple times including zero times:

t/[TAG]…​

Allows for multiple tags to be input: t/tutorial, t/tutorial t/CS2100 etc.

Please take note that naming is case-sensitive in Student Schedule Planner. For example, cats and Cats are considered different. This applies to task, tag as well as category. Only find and filter commands are case-insensitive for keywords.

3.1. Viewing Help

Opening the user guide page is as follows.

help

3.2. Adding a Task

Add a task to the schedule planner.

add n/NAME p/PRIORITYLEVEL t/[TAG] d/DEADLINE v/VENUE

Example:

add n/exam p/3 t/CS3241 d/101018 v/mpsh1

Adds a task named exam with priority level 3, tag CS3241 and deadline of 101018 , venue at mpsh1.

The priority level must be a number between 1 to 3, where 3 denotes highest priority.

Duplicate tasks are not allowed in Student Schedule Planner; two tasks are considered identical if they have same name, deadline date, tags, and venue. If two tasks have same attributes except for priority, they are still considered as identical. Please take note that task name is case-sensitive. For example, task name study and Study are considered different.
The priority value must be a number between 1 to 3, where 3 denotes highest priority.
As we have implemented auto-sorting, if you add a task, it might get reordered in the task list. For more details about auto-sorting, please refer to Section 3.14, “Sorting Tasks by Deadline Date and Priority”
Name, Priority, Deadline, and Venue fields are compulsory, and therefore required for every task. Tags are optional.
When you add tasks with new tags (tags that have not been added to any existing categories), these tags will be automatically added to default category Others. For details about Category and Tags, refer to Section 3.19, “Adding a Category” and [Adding a Tag to a Category]. When you add new tasks with new tags (tags that have not been added to any existing categories), these tags will be automatically added to default category Others. For detailed guide about category and tags, please refer to Section 3.19, “Adding a Category” and [Adding a Tag to a Category].

3.3. Adding a Recurring Task

Add tasks that occur in regular intervals.

repeat r/REPEATS i/INTERVAL n/NAME p/PRIORITYLEVEL t/[TAG] d/DEADLINE v/VENUE

Example:

repeat r/4 i/7 n/CS2103T Tutorial p/3 t/Tutorial d/111018 v/COM1-0210

Adds 4 tasks named CS2103T Tutorial with priority level 3, tag Tutorial, venue at COM1-0210, and deadlines on the 11th October 2018, 18th October 2018, 25th October 2018, and 1st November 2018.

The diagram below illustrates the SSP before and after the above command was entered:

beforeafteraddrepeat
The number of repeats should be a positive integer (≥1). Setting the repeat as 1 has the same effect as using the add command. The number of repeats should be an integer that is greater or equals to 1. Setting the repeat as 1 has the same effect as using the add command.
Use this command to schedule tasks that you carry out regularly.
The maximum number of repetitions is 15.
Tasks whose deadlines go beyond 2099 will have their deadlines set to the 21st century instead. For example, a task created by the AddRepeatCommand that with the deadline on 1st January 2101 will instead have the deadline set to 1st January 2001 instead.

3.4. Editing a Task

Edit an existing task in the schedule planner.

edit INDEX n/[NAME] p/[PRIORITYLEVEL] t/[TAGS]…​ d/[DEADLINE] v/[VENUE]

Example:

edit 3 p/1 d/121019

The task at index 3 will have it’s priority value changed to 1 , and its deadline is changed to 121019.

INDEX refers to the number shown beside each task name in the displayed task list. Refer to the task according to its index number. The INDEX must be a positive integer (≥1)

The INDEX refers to the index number shown in the displayed task list. Refer to the task according to the index number. The INDEX must be a positive integer 1, 2, 3, …​

At least one of the optional fields must be provided. Existing values of provided field will be updated to the input values.
Duplicate tasks are not allowed in Student Schedule Planner; two tasks are considered identical if they have same name, deadline date, tags, and venue. If two tasks have same attributes except for priority, they are still considered as identical. Please take note that task name is case-sensitive. For example, task name study and Study are considered different.
As we have implemented auto-sorting, if you edited date or priority, the task might get reordered in the task list. For more detailed guide about auto-sorting, please refer to Section 3.14, “Sorting Tasks by Deadline Date and Priority”
Existing tags of a task will be removed when its tag is edited. If input is edit 3 t/project, then the resulting tag(s) of task 3 will be project only.
To remove all tags of an existing task e.g for task with index number 3, you can type edit 3 t/, all the tags of the task of index number 3 will be removed.

3.5. Deleting a Task

Delete the specified task from the schedule planner.+

delete INDEX

Example:

delete 3

Task with index 3 will be deleted from schedule planner.

The INDEX refers to the index number shown in the displayed task list. Refer to the task according to the index number. The INDEX must be a positive integer 1, 2, 3, …​ INDEX refers to the index of the task in the displayed task list. Refer to the task according to its index number. The INDEX must be a positive integer(≥1)

Use the list command to find out the index of the task to be deleted.

3.6. Archiving a Task

Archives the specified task from the schedule planner. Once a task is archived, it will be hidden from task list. You can view archived tasks in archived task list using listarchived command. For detailed guide regarding viewing archived tasks, please refer to Section 3.7, “Viewing Archived Tasks”.

archive INDEX

Example:

archive 1

Task with index 1 is removed from the task list.
Below is the partial screenshots of task list before and after executing the archive command.

archiveTask

The INDEX refers to the index number shown in the displayed task list. Refer to the task according to the index number. The INDEX must be a positive integer 1, 2, 3, …​ INDEX refers to the index of the task in the displayed task list. Refer to the task according to its index number. The INDEX must be a positive integer(≥1)

Use the listarchived command to find out the index of the task to be archived. View Section 3.7, “Viewing Archived Tasks” for detailed guide.
Any archived tasks with deadline date earlier than 2 weeks before current date will be deleted from schedule planner when the application relaunches.

3.7. Viewing Archived Tasks

List all archived tasks.

listarchived

Example:

Step 1: archive 1

Below is the screenshot of task list that will appear on screen after step 1.

archiveTask

Step 2: listarchived

Below is the screenshot of archived task list that will appear on screen after step 2.

listArchive

3.8. Viewing All Tasks

Listing all tasks in the schedule planner.

list

3.9. Viewing Overdue Tasks

Listing all the overdue tasks.

listoverdue

Example:

listoverdue (on the date 111118)

Lists tasks due on 101118 and before.

The following diagram illustrates the SSP before and after listoverdue was entered:

beforeafterlistoverdue

3.10. Viewing Tasks Due Today

List tasks due on the current date.

listday

3.11. Viewing Tasks Due This Week

List tasks due from current date till the end of the current week.

listweek

Example:

The following diagram illustrates the SSP when listweek is executed on the date 021118. Only tasks until 041118, which is the closest Sunday, will be displayed.

ListWeekCommand UG Before After

3.12. Viewing Tasks Due This Month

List tasks due from current date till the end of the current Month.

listmonth

Example:

listmonth (on the date 111118)

Tasks from 111118 to end of the month (301118) are listed.

The following diagram illusatrates the SSP when listmonth is executed on the date 111118. Only tasks until 301118, which is the last day of the month, will be displayed.

ListMonth Before After

Tasks from 02 Nov '18 to end of the month (30 Nov '18) are listed.

3.13. Viewing Tasks in the Order of Deadline Date and Priority

All tasks are automatically loaded in the order of deadlines except for archived tasks. The order of tasks first depends on deadline date, then priority.
Given below is an example of two tasks with different deadline dates. Task Do CS2030 lab is listed before task Self study because it has earlier deadline date.

sortingdate

3.14. Sorting Tasks by Deadline Date and Priority

All tasks are sorted chronologically by default. The order of tasks first depends on deadline date, then priority.

Given below is an example of two tasks with different deadlines. Task Do CS2030 lab is listed before task Self study because it has earlier deadline.

sortingdate

If two tasks have the same deadline, then the order depends on priority, one that has higher priority will appear before one that has lower priority. 3 is the highest priority, while 1 is the lowest.
Given below is an example of two tasks with the same deadline dates.

sortingpriority
Please take note that archived tasks are not shown in order.

3.15. Finding Tasks by Name

Find tasks whose names match with given keyword. The search is case insensitive, apples and Apples both return the same tasks. You can include multiple keywords when using find. find CS3230 CS5229 will find all tasks with name containing CS3230 or CS5229

find NAME

Example:

find tutorial

All tasks with tutorial in their names are listed.

The keyword must be whole word.
E.g for finding tutorial, tutorial must be used, tut or other variations would not be allowed.
The order of the keywords does not matter. For example, find apples buy and find buy apples both return the same tasks.
You can include multiple keywords when using find. find CS3230 CS5229 will find all tasks with name containing CS3230 or CS5229.

3.16. Filtering Tasks by Tags (Inclusive)

Filter tasks according to tags inclusively. Tags matching ANY of those entered by the user will be listed. The filter is case insensitive. You may include multiple tags when using filter. For example, filter tutorial quiz project will return tasks with tags matching at least one of the specified tags.

filter TAG [TAG2] …​

Example:

  • filter tutorial

b a filter tutorial

Tasks with the tag tutorial are listed.

The diagram below illustrates the SSP when filter tutorial is executed.

b a filter tutorial
  • filter tutorial cs2100

Tasks with either tutorial, 2100 tags, or both, are listed.

The diagram below illustrates the SSP when filter tutorial cs2100 is executed.

b a filter tutorial cs2100

Tasks with either tutorial, 2100 tags, or both, are listed.

The keyword must be a whole word.
E.g for filtering tutorial, tutorial must be used, tut or other variations would not be allowed.
The search is case insensitive. e.g apples matches Apples. The order of the keywords does not matter. For example, filter tutorial cs2103 and filter cs2103 tutorial both return the same tasks.

3.17. Filtering Tasks by Tags (Exclusive)

Filter tasks according to tags exclusively. Tags matching ALL of those entered by the user will be listed. The filter is case insensitive. You may include multiple tags when using filter. For example, filter tutorial quiz project will return tasks with tags matching ALL of the specified tags.

filterstrict TAG [TAG2] …​

Example:

  • filterstrict tutorial

Tasks with the tag tutorial are listed.

The diagram below illustrates the SSP when filterstrict tutorial is executed.

b a filterstrict tutorial
  • filterstrict tutorial geh1034

Tasks with both tutorial and 2100 tags are listed.

The diagram below illustrates the SSP when filterstrict tutorial geh1034 is executed.

b a filterstrict tut geh
The keyword must be a whole word.
E.g for filtering tutorial, tutorial must be used, tut or other variations would not be allowed.
The order of the keywords does not matter. For example, filterstrict tutorial cs2100 and [blue]`filterstrict cs2100 tutorial ` both return the same tasks.

3.18. Generating Academic Calendar

Generate the entire academic calendar based on the first academic day and stores it in storage.

Currently, the generated academic calendar is based on the academic calender of National University of Singapore (NUS). It may not be compatible with academic calendars from other institutions.

Whenever the application is launched within the academic calendar’s dates, the application title will append that particular week’s description to the title of the application.

firstday DDMMYY

Example:

firstday 130818

The following diagram illustrates when you execute firstday 130818, and launch the application within 121118 - 181118 (Week 13 for NUS academic year 18/19 semester 1), the application title will be appended with "Week 13".

FirstDayCommand UG Before After
There would not be any visible changes upon using the command. The changes are only reflected after relaunching the application.

DDMMYY refers to the date format of day, month and year. It must fulfil the following criteria:

  1. DDMMYY must only be one set of value such as 130818. Value such as 130818 200818 or 130818 20 will be rejected as they are considered as more than one set of date.

  2. DDMMYY must be a valid date within 21st century.

  3. DDMMYY must be a Monday.

3.19. Adding a Category

Add a new category to the schedule planner. You can organize tags by adding tags to relevant categories. For detailed guide about how to add tags to category, please refer to [Adding a Tag to a Category].

addcat c/CATEGORY

Example:

addcat c/Steam shopping list

addingcat

Category name can contain space. For example, Steam, Steam2, Steam shopping list are all valid category names.

Modules and Others are two categories exist by default.

Please take note that category is case-sensitive. For example, category cats and category Cats are considered different.
Duplicated categories are not allowed in schedule planner. All categories must have different names.
All non-default categories (categories except Modules and Others can be removed. For detailed guide about how to remove categories, please refer to Section 3.22, “Deleting a Category”.
All non-default categories (categories except Modules and Others can be renamed. For detailed guide about how to rename categories, please refer to Section 3.23, “Renaming a Category”.

3.20. Adding Tags to Categories

Add a tag to a selected existing category.

addtag c/CATEGORY t/TAG

Example:

addtag c/Steam shopping list t/Overwatch

addtag
Duplicated tags are not allowed under same category.
For instance, in above example, you cannot add another tag Overwatch to category Steam shopping list. However you can save same tag under multiple categories. Please take note that naming of tag is case-sensitive. For example, tag name cat and Cat are considered different.
When you add new tasks with new tags (tags that have not been added to any existing categories), these tags will be automatically added to default category Others.
For how to remove tags from categories, please refer to Section 3.21, “Clearing a Category”.

3.21. Clearing a Category

Clears all tags saved under selected category. After executing this command, the selected category will not contain any tags.

clearcat c/CATEGORY

Example:

clearcat c/Modules

clearcat

When a category is cleared, tags saved in other categories are not affected. For instance, in above example, if you have tag CS2105 in category Others as well, after clearing category Modules, tag CS2105 will still exist in category Others.
On the other hand, if tag CS2105 is only saved under category Modules, then after clearing category Modules, the tag CS2105 will be removed from schedule planner.

3.22. Deleting a Category

Delete an existing category from schedule planner.

removecat c/CATEGORY

Example:

removecat c/Steam shopping list

removecat
Default categories Modules and Others cannot be removed. The only operation available for default categories is to delete all tags saved under these two categories. For more detailed guide about how to do so, please refer to Section 3.21, “Clearing a Category”.

3.23. Renaming a Category

Edit the name of an existing category.

editcat c/ORIGINAL CATEGORY NAME c/NEW CATEGORY NAME

Example:

editcat c/Steam shopping list c/Reading list

editcat
Default categories Modules and Others cannot be renamed.
Duplicated categories are not allowed in schedule planner. Please make sure the new name for selected category does not overlap with other existing categories in your schedule planner.

3.24. Displaying Category Tags

Show all tags categorised under the specified category. It expands the tab in the sidebar.

tags c/CATEGORY

Example:

tags c/Modules

Before after showtags

3.25. Displaying Today’s Progress

Show the percentage of tasks archived for the day in the command result box and lists the uncompleted tasks for today . The progress bar is also displayed at the bottom left of the window.

progresstoday

Example:

Step 1: listday
Step 2: archive 1
Step 3: progresstoday

The diagram below illustrates the SSP after each of the commands entered above.

before after progresstoday

3.26. Displaying This Week’s Progress

Show the percentage of tasks archived from today to the nearest Sunday in the command result box, and lists the uncompleted tasks from today until the nearest Sunday. The progress bar is also displayed at the bottom right of the window.

progressweek

Example:

Step 1: listday
Step 2: archive 1
Step 3: progressweek

The diagram below illustrates the SSP after each of the commands entered above.

before after progressweek

3.27. Displaying Previous Commands

Show a list of all the commands that you have entered in reverse chronological order.

history

Pressing the and arrows will display the previous and next input respectively in the command box.

3.28. Undoing Previous Command

Restore the schedule planner to the state before the previous undoable command was executed.

undo

Examples:

Step 1: delete 1

Step 2: clear

Step 3: undo (reverses the clear command)

Step 4: undo (reverses the delete 1 command)

Undoable commands are those commands that modify the schedule planner’s content:

  • add

  • delete

  • edit

  • archive

  • clear

  • addtag

  • addcat

  • editcat

  • removecat

  • clearcat

Use the history command to decide if you want to undo the previous undoable command.

3.29. Redoing the Previous Undo Command

Reverse the most recent undo command.

redo

Examples:

Step 1: delete 1

Step 2: clear

Step 3: undo (reverses the clear command)

Step 4: undo (reverses the delete 1 command)

Step 5: redo (reapplies the delete 1 command)

Step 6: redo (reapplies the clear command)

3.30. Clearing Schedule Planner

Clear all entries from the schedule planner. Default categories Modules and Others still exists after the command is executed, but they contain no tags.

clear

3.31. Exiting the App

Exit the application.

exit

3.32. Saving the Data

Data in the Student Schedule Planner is saved in the hard disk automatically after any command that changes the data.
There is no need to save manually.

4. Command Summary

  • Viewing Help :

help

  • Adding Tasks :

add n/NAME p/PRIORITYLEVEL t/[TAG] d/DEADLINE v/VENUE
Example:
add n/do tutorial p/1 t/cs2100 d/121019 v/home

  • Adding Recurring Tasks :

repeat r/REPEATS i/INTERVAL n/NAME p/PRIORITYLEVEL t/[TAG] d/DEADLINE v/VENUE

  • Listing All Tasks :

list

  • Editing a Task :

edit INDEX n/[NAME] p/[PRIORITYLEVEL] t/[TAGS]…​ d/[DEADLINE]

Example:
edit 3 p/1 d/121019

  • Finding Tasks by Name :

find NAME

Example:
find tutorial

  • Filter Tasks by Tags (Inclusive) :

filter TAG1 [TAG2]…​

Example:
filter tutorial …​

  • Filter Tasks by Tags (Exclusive) :

filterstrict TAG1 [TAG2]…​

Example:
filterstrict tutorial …​

  • Deleting Tasks :

delete INDEX

Example:
delete 1

  • Archiving Tasks :

archive INDEX

Example:
archive 1

  • Viewing Archived Tasks :

listarchived

  • Viewing Tasks Due Today :

listday

  • Viewing Tasks Due This Termweek :

listweek

  • Generating Academic Calendar Weeks :

firstday DDMMYY

Example:
firstday 130818

  • Adding a Category:

addcat c/[CATEGORY]

Example:
addcat c/Game list

  • Adding a Tag to a Category:

addtag c/CATEGORY t/TAG

Example:
addtag c/Steam shopping list t/Overwatch

  • Clearing a Category:

clearcat c/CATEGORY

Example:
clearcat c/Modules

  • Deleting a Category:

removecat c/CATEGORY

Example:
removecat c/Steam shopping list

  • Renaming a Category:

editcat c/ORIGINAL CATEGORY NAME c/NEW CATEGORY NAME

Example:
editcat c/Steam shopping list c/Reading list

  • Listing Overdue Tasks :

listoverdue

  • Listing Used Tags :

tags c/CATEGORY

  • Displaying Today’s Progress :

progresstoday

  • Displaying This Week’s Progress :

progressweek

  • Listing Used Commands :

history

  • Undoing previous command :

undo

  • Redoing the Previous Undo Command :

redo

  • Clearing Schedule Planner :

clear

  • Exiting the App :

exit

5. Possible Questions

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 Schedule planner folder.