By: Team CS2113T T09-3 Since: Mar 2019 Licence: MIT
- 1. Introduction
- 2. How to use this guide
- 3. Application Overview
- 4. Quick Start
- 5. Project Level Features
- 5.1. Navigating Between Projects
- 5.2. Project Level Commands
- 5.2.1. Adding a project:
add - 5.2.2. Editing a project:
edit - 5.2.3. List projects:
listproject - 5.2.4. Select a project:
select - 5.2.5. Defining a group tag:
definetag - 5.2.6. Import a project list:
import - 5.2.7. Export projects to JSON file:
export - 5.2.8. Analyse progress of all projects:
analyse - 5.2.9. List previously entered commands:
history
- 5.2.1. Adding a project:
- 6. Task Level Features
- 6.1. Viewing Tasks of a Project
- 6.2. Task Level Commands
- 6.2.1. Adding a task:
add - 6.2.2. Adding a group tag:
addtag - 6.2.3. Clearing all task:
clear - 6.2.4. Editing a task:
edit - 6.2.5. Locating tasks by name:
find - 6.2.6. Listing all tasks:
list - 6.2.7. List all tags:
listtag - 6.2.8. Deleting a task:
delete - 6.2.9. Completing a task:
completed - 6.2.10. Selecting a task:
select - 6.2.11. Sorting tasks:
sortDeadline - 6.2.12. Undo previous command :
undo - 6.2.13. Redo previously undone command :
redo - 6.2.14. List previously entered commands for a chosen task:
taskhistory - 6.2.15. Compares a task with its previous version:
compare
- 6.2.1. Adding a task:
- 7. Future Enhancements [coming in v2.0]
- 8. FAQ
- 9. Command Summary
- 10. Appendix A
Welcome to NoteNote (NN)!
If you’re looking for an application to organize your projects you’ve come to the right place! But that’s not all NoteNote can do! NoteNote can also keep track of individual tasks, analyze your productivity and share your To-Do list with your friends!
We designed the application ground up for computing students, so you can say that NoteNote is designed for computing students, by computing students, so you can be sure that it will fulfil all your project management needs!
Built for computing students, NoteNote uses minimal (GUI) elements, instead opting for a faster Command Line Interface (CLI) while maintaining the benefits of the GUI. So if you can type fast and are used to command line, NoteNote is sure to help manage your task faster than other traditional GUI based task managers.
So just head over to our Section 4, “Quick Start” section and begin your NoteNote experience!
There are several terms which we use throughout our guide. To make your life easier, please do read the following sections to ensure that you are able to use our User Guide to the fullest extent!
The examples in this guide are formatted using the following convention:
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 in square brackets are optional e.g
n/NAME [t/TAG]can be used asn/Sample Task 1 t/SAMPLEor asn/Sample Task 1. -
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/CS2101,t/SEM1t/SCHOOLetc. -
Parameters can be in any order e.g. if the command specifies
n/NAMEds/DESCRIPTION,ds/DESCRIPTIONn/NAMEis also acceptable. -
All commands each have a shorthand equivalent alias, and their usage can be viewed below at their respective sections in the User Guide.
-
Panel A: Command Box - Where your commands will be typed
-
Panel B: Results Box - Displays result for the following commands: history, taskhistory, compare, listtag; else displays either success / error message for all other commands.
-
Panel C: Project Box - Displays list of project
-
Panel D: Task Box - Displays list of tasks for a selected project
-
Panel E: Description Box - Displays long description for a selected task
Panel A, C, D are user-interactable while panels B, E are non-interactable.
Panel A will always be active, allowing you to input your commands at any time.
Upon first opening of the application, your active panel will start from C, and only upon choosing a project will your active panel change to D.
The application has two levels, the project level and the task level, as shown. There are some commands that only works on certain levels. This is covered in detail in Sections 6 and 7. The project level contains all the projects the user has added while the task level contains the tasks of a particular project.
When you are in the project level, the Project Box (Panel C) will be active and unshaded while the Task Box (Panel D) will be inactive and shaded. Similarly, when you are in the task level, the Project Box (Panel C) will be inactive and shaded and the Task Box (Panel D) will be active and unshaded.
Refer to diagrams below on what you should expect to see when you are in the respective levels.
-
Ensure you have Java version
9or later installed in your Computer. -
Download the latest
notenote.jarhere. -
Copy the file to the folder you want to use as the home folder for your Address Book.
-
Double-click the file to start the app. The GUI should appear in a few seconds.
-
Type the command in the command box or Panel A (refer to Figure 1) and press Enter to execute it.
-
Some example commands you can try:
-
listproject: lists all projects -
select 1: selects the project at index 1 -
add n/Do research on Singapore history dl/1-1-2020: adds a task of title “Do research on Singapore History” with a deadline set at “1st January 2020” to the project previously selected. -
delete 1: deletes the task being shown at index 1
-
When selecting a (different) project to the view tasks of the project, always follow the 2 steps below:
-
listproject: List all project in project list -
select INDEX: Select a project to view all the tasks within selected project
Commands affecting the project list / currently displayed project as a whole.
Affects Panel C.
Adds a new project to the System.
-
Format:
add n/NAME -
Alias:
a, i.e.addis equivalent toa
|
💡
|
A project can have any number of tags (including 0) |
Examples:
-
add n/History Research Paper
Outcome: Project Box (Panel C) will show the newly created project.
Edits an existing project identified by the index number used in the displayed project list.
-
Format:
edit INDEX n/NAME -
Alias:
e, i.e.editis equivalent toe
Examples:
-
edit 1 n/Sample Task 1
Outcome: Project Box (Panel C) will show the updated project with the new name.
Command has two functions. Firstly, it lists all projects. Secondly, it is used for navigation to switch from the task list back to the project list.
-
Format:
listproject -
Alias:
lp, i.e.listprojectis equivalent tolp
Outcome: Project Box (Panel C) will will display all projects within project list.
Selects a project identified by the index number used in the displayed project list.
-
Format:
select INDEX -
Alias:
s, i.e.selectis equivalent tos
|
ℹ️
|
If the immediate predecessor command is listproject, select will select a project and display tasks, else select will select a task and display task information
|
Examples:
-
select 1
Outcome: Task Box (Panel D) will display all tasks within selected project. Active panel is now Panel D and all commands that is executed after this would be in the context of tasks.
Define a group tag when you want to add multiple identical tags to multiple tasks easily. They can be carried out at both project and task level. However, group tag created exists for the entire NoteNote instance and will be lost once the user exits.
After defining a group tag, use the addtag command to add a group tag to a task of your choice. Note that duplicated group tags cannot be created.
-
Format:
definetag gt/GROUPTAG t/TAG [t/MORETAGS] -
Alias:
dt, i.e.definetagis equivalent todt
Example:
-
definetag gt/Consultation t/PrepareDemo t/PrepareQuestions
Outcome: A group tag called Consultation will be created which would contain tags PrepareDemo and PrepareQuestions.
|
ℹ️
|
Group tags are only considered as duplicates in the following situations where both the group tag and child tags are identical:
In situations where users input |
Import projects and tasks to your NoteNote instance from project list shared by a friend. New projects and tasks will be added on top of current project list.
Source file must be a JSON file and follow a specific format. See Section 10.1, “Sample JSON file for import”.
This feature is recommended to be used together with export so that users need not manually generate a JSON file to import.
-
Format:
import PATH -
Alias:
i, i.e.importis equivalent toi
Examples:
-
import C:\Users\Test\Desktop\import.json
|
💡
|
The full path to the JSON file has to be specified unless the file is contained within the application folder. If JSON file is contained in application folder, import .\test.json is sufficient.
|
Outcome: Command box will display number of projects added to project list. Projects and tasks contained in JSON file will be imported and added to current project list.
Refer to diagrams below on what NoteNote will display before and after successful execution of import.
Export projects from your NoteNote instance to easily share projects and tasks with your friends. Projects are exported in JSON format and could be imported by another NoteNote instance using import.
-
Format:
export [i/INDEX] o/OUTPUTPATH -
Alias:
ex, i.e.exportis equivalent toex
Examples:
-
To export currently selected project:
-
select 1 -
export o/C:\Users\Test\Desktop\export.json
-
-
To export multiple projects:
-
export i/1,2,3 o/C:\Users\Test\Desktop\export.json
-
|
💡
|
Output path should be explicitly specified unless the output is to be within the application folder. If output is to be contained in application folder, the relative path export i/1,2,3 o/.\test.json is sufficient.
|
Outcome: JSON file will be created at output path specified.
View number of completed tasks for each project, and percentage of each project completed.
-
Format:
analyse -
Alias:
an, i.e.analyseis equivalent toan
Outcome:
Results Box (Panel B) will display number of completed tasks for each project, and percentage of each project completed, as shown in the above figure.
To view tasks of a project, always follow the two steps below:
1. listproject: List all projects in project list.
2. select INDEX: Select a project to view all the tasks within selected project.
Commands affecting the tasks / selected task individually.
Affects panel D.
Adds a task to the project identified by the index number used in the displayed project list.
-
Format:
add n/NAME ds/DESCRIPTION dl/DEADLINE [t/TAG] -
Alias:
a, i.e.addis equivalent toa
|
💡
|
A task can have any number of tags (including 0). |
Example:
-
add n/Decide on Research Paper Topic dl/1-1-2020
Outcome: Task Box (Panel D) will show the newly created task Decide on Research Paper Topic with deadline 1 January 2020.
Add a previously defined group tag to a task.
-
Format:
addtag INDEX gt/GROUPTAG -
Alias:
at, i.e.addtagis equivalent toat
Example:
-
addtag 1 gt/Consultation
Outcome: Task Box (Panel D) will show the updated task with newly added tags.
|
💡
|
Tags defined under the group tag will be visible under the task instead of the group tag itself. |
|
ℹ️
|
In cases where the user input pre-defined group tags of the following,
|
Clears all task in the project that is selected.
-
Format:
clear -
Alias:
cl, i.e.clearis equivalent tocl
Example:
-
clear
Outcome: Task Box (Panel D) will now show 0 task.
Edits an existing task identified by the index number used in the displayed task list.
-
Format:
edit INDEX [n/NAME] [ds/DESCRIPTION] [dl/DEADLINE] [t/TAG]… -
Alias:
e, i.e.editis equivalent toe
|
💡
|
At least 1 among the parameters of [n/NAME] [ds/DESCRIPTION] [dl/DEADLINE] [t/TAG] must be included within the command.
|
Example:
-
edit 1 n/Decide on Research Paper Topic dl/2-2-2020
Outcome: Task Box (Panel D) will show the updated task at index 1, with the information name and deadline changed to Decide on Research Paper Topic and 2 February 2020 respectively.
Finds a project, task or subtask whose name contains any of the given keywords.
-
Format:
find KEYWORD [MORE_KEYWORDS] -
Alias:
f, i.e.findis equivalent tof
|
💡
|
The search is case insensitive. e.g report will match Report.The order of the keywords does not matter. e.g. final report will match report final.find will only search among names of tasks.Only full words will be matched e.g. Rep will not match Report.Tasks matching at least one keyword will be returned (i.e. OR search). e.g. Report Final will return Draft Report, Final Submission.
|
Examples:
-
find Research
Outcome: Returns tasks containing the keyword Research. Task Box (Panel D) will be updated to display only tasks that matches the keyword.
Lists all tasks in the current project. Can also be used to show all tasks after finding a specific tasks
-
Format:
list -
Alias:
l, i.e.listis equivalent tol
Outcome: Task Box (Panel D) will display all tasks in the current project
|
ℹ️
|
|
List all unique tags and associated tasks within a project
-
Format:
listtag -
Alias:
lt, i.e.listtagis equivalent tolt
Outcome: Result Box (Panel B) will display all unique tags and associated tasks within a project.
Deletes the specified task identified by the index number used in the displayed task list.
-
Format:
delete INDEX -
Alias:
d, i.e.deleteis equivalent tod
|
💡
|
The index refers to the index number shown in the displayed task list. The index must be a positive integer 1, 2, 3, … |
Examples:
-
find Consult -
delete 1
Outcome: Task Box (Panel D) will no longer display the first task in the results of the find command.
Marks the specified task identified by the index number used in the displayed task list as completed by adding a completed tag to it.
-
Format:
completed INDEX -
Alias:
cpt, i.e.completedis equivalent tocpt
|
ℹ️
|
Completed tasks will be used as statistics for the analyse feature, unlike deleted tasks.
|
Examples:
-
completed 3
Outcome:
Task Box (Panel D) will display a completed tag for the third task, as shown in the above figure.
Selects the task identified by the index number used in the displayed task list and loads the relevant information.
-
Format:
select INDEX -
Alias:
s, i.e.selectis equivalent tos
-
The index refers to the index number shown in the displayed task list.
-
The index must be a positive integer 1, 2, 3, …
-
This command will be active as long as the immediate predecessor command is NOT listproject else the select functionality will be targeted at a Project
Examples:
-
find Research -
select 1
Outcome: Selects the first task in the results of the find command. Description Box (Panel E) will display all the details of the task selected.
Sorts the tasks in the current project by deadline.
-
Format:
sortDeadline -
Alias:
sd
Outcome: Task Box (Panel D) will be updated to display tasks sorted by their deadline in ascending order.
|
💡
|
Only sort after adding new tasks. Sorted tasks will remain in that order. |
Restores the task list to the state before the previous undoable command was executed.
-
Format:
undo -
Alias:
ui.e.undois equivalent tou
-
Take note that if you
listproject, the history of commands will be cleared, thusundowill no longer work as intended when you return to view the project tasks.
Example:
-
add n/sample task…
Outcome: Task Box (Panel D) will display new task added to task list.
-
undo
Outcome: Add command is undone and Task Box (Panel D) will no longer display new task .
Reverses the most recent undo command.
-
Format:
redo -
Alias:
ri.e.redois equivalent tor
-
Take note that if you
listproject, the history of commands will be cleared, thusredowill no longer work as intended when you return to view the project tasks.
Example:
-
add n/sample task…
Outcome: Task Box (Panel D) will display new task added to task list.
-
undo
Outcome: Add command is undone and Task Box (Panel D) will no longer display new task .
-
redo
Outcome: Reverses the undo action and adds the task back to the task list. Task
Box (Panel D) will now display new task once again.
Lists all previous commands that directly affected a selected task in reverse chronological order.
-
Format:
taskhistory INDEX -
Alias:
thi.e.taskhistoryis equivalent toth
|
ℹ️
|
Take note that if you listproject, the history of commands will be cleared,
thus taskhistory will no longer work as intended when you return to view the project tasks. |
|
💡
|
Only edit/completed/addtag/delete commands will be recorded
|
Example :
-
taskhistory 1
Outcome:
Results Box (Panel B) will display all previous commands which directly affects the task at index 1 (Figure 11).
Compares a selected task one version before it was edited and show the differences in the task.
-
Format:
compare INDEX -
Alias:
ci.e.compareis equivalent toc
|
💡
|
compare only compares Name, Description, Deadline of a Task.
Note that tags will not be compared.
|
|
ℹ️
|
If you listproject, the history of commands will be cleared,
thus compare will no longer work as intended when you return to view the project tasks.
|
Example :
-
add n/sample task…
Outcome: Task Box (Panel D) will display new task added to task list at index 1.
-
edit 1 n/sample task edited…
Outcome: Task Box (Panel D) will display updated task at index 1 with the new name.
-
compare 1
Outcome:
Task Box (Panel B) will display information of current version of the task at index 1 ( sample task ) and the previous version of it ( sample task edited ) (Figure 12). Allows you to view a direct comparison of what was changed.
Current analyse feature will show number of completed tasks for each project, and percentage of each project completed.
Future enhancement of analyse will be more comprehensive, displaying visual graphs, charts & tables
Current undo feature is a general execution on the overall commands that is executed.
undotask will allow you to "undo" a command that is executed on the selected task.
-
Format:
undotask INDEX
Example :
-
edit 1 n/edited_name…
Outcome: Task Box (Panel D) will update the name for the task at index 1 to reflect the new edited name.
-
undotask 1
Outcome: Task Box (Panel D) will update the name for the task at index 1 to reflect the previous name before the edit.
Current redo feature is a general execution on the overall undo command that is executed.
redotask will allow you to "redo" from a undotask that is executed on the selected task.
-
Format:
redotask INDEX
Example :
-
undotask 1
Outcome: Task Box (Panel D) will update the name for the task at index 1 to reflect the previous name before the edit.
-
redotask 1
Outcome: Task Box (Panel D) will update the name for the task at index 1 to reflect the name before undotask was executed.
Q: How do I transfer my data to another computer?
A: Data can be transferred between computers by simply porting over the projectlist.json file located at the data folder. Alternatively, you could:
-
exportproject list from the original computer -
Install NoteNote in the other computer
-
importproject list by specifying path to exported project list
Command |
Description |
|
Add a new project or task |
|
Add a group tag to a task |
|
View completion statistics for all projects |
|
Clear all tasks in project |
|
Compare current task with previous version |
|
Marks task as completed |
|
Define a group tag |
|
Deletes project or task |
|
Edits description of project or task |
|
Exit application |
|
Export projects to external JSON file |
|
Find for specific project or task |
|
Display help menu |
|
View all commands previously entered |
|
Import projects from external JSON file |
|
List all projects or tasks |
|
Sorts tasks according to deadline |
|
Go back to project list panel from task list panel |
|
List all unique tags and associated tasks within a project |
|
Redo modifications made to task |
|
Select project or task to interact with |
|
View all modifications made to file |
|
Undo modifications made to task |
{
"projects" : [ {
"name" : "Sample project 1",
"tasks" : [ {
"name" : "Sample task 1",
"description" : "This is a sample task",
"deadline" : "1-1-2011",
"tagged" : [ "SAMPLE" ]
}, {
"name" : "Sample task 2",
"description" : "This is a sample task",
"deadline" : "1-1-2011",
"tagged" : [ "SAMPLE" ]
} ]
}, {
"name" : "Sample project 2",
"tasks" : [ {
"name" : "Sample task 1",
"description" : "This is a sample task",
"deadline" : "1-1-2011",
"tagged" : [ "SAMPLE" ]
}, {
"name" : "Sample task 2",
"description" : "This is a sample task",
"deadline" : "1-1-2011",
"tagged" : [ "SAMPLE" ]
} ]
} ]
}










