By: CS2103AUG2017-W15-B4
Since: Oct 2017
Licence: MIT
- 1. Welcome to 3W
- 2. Quick Start
- 3. Features
- 4. Coming in v2.0
- 4.1. Auto-focusing on input bar at the start of the application
- 4.2. Setting a task to be recurring
- 4.3. Listing tasks by tag
- 4.4. Viewing one task details with the relevant person in the addressbook
- 4.5. Viewing one person details with the relevant tasks displayed in the addressbook
- 4.6. Listing last few contacts the user have found
- 4.7. Pinning important contacts or task on top
- 4.8. Remindering region in task bar|see the reminder and be reminded of the deadline or the up comings of this task
- 4.9. Suggested possible new features
- 5. FAQ
- 6. Command Summary
-
3W stands for "Who, What & Where". It is an application for University students, business people and all those who have a busy daily schedule.
-
3W stores information about your contact, your tasks, and build linkage between them for cross references.
-
3W supports map show for contact address and task venue with a Google map window.
-
3W bases on command line to interact.
-
Live neat with 3W.
3W uses google map functions to plan the routes to contacts' address.
Usage: Click the certain person(Or use the select
command), then enter your current position in starting point
3W support building linkage between contacts and tasks.
Usage: By a link command, refer to Link Operations for details.
-
Ensure you have Java version
1.8.0_60
or later installed in your Computer.ℹ️Having any Java 8 version is not enough.
This app will not work with earlier versions of Java 8. -
Download the latest
3W.jar
here. -
Copy the file to the folder you want to use as the home folder for your 3W app.
-
Double-click the file to start the app. The GUI should appear in a few seconds.
-
Type the command in the command box and press Enter to execute it.
e.g. typinghelp
and pressing Enter will open the help window. -
Some example commands you can try:
-
list
: lists all contacts -
add
n/John Doe p/98765432 e/[email protected] a/John street, block 123, #01-01
: adds a contact namedJohn Doe
to the Address Book -
addTask
n/picnic d/have fun at Botanic Garden s/6/12/2017 12:00pm f/6/12/2017 15:00pm t/social
: adds a task namedpicnic
to the Task Book -
delete
3
: deletes the 3rd contact shown in the current contact list -
markTask
2
: marks the 2nd task shown in the current task list and the marked task will disappear in task list -
undo
: recover the contact deleted in the previous deletion -
deleteTask
1
: deletes the 1st contact shown in the current task list -
exit
: exits the app
-
-
Refer to the Features section below for details of each command.
Command Format
-
Words in
UPPER_CASE
are the parameters to be supplied by the user e.g. inadd n/NAME
,NAME
is a parameter which can be used asadd n/John Doe
. -
Items in square brackets are optional e.g
n/NAME [t/TAG]
can be used asn/John Doe t/friend
or asn/John Doe
. -
Items with
…
after them can be used multiple times including zero times e.g.[t/TAG]…
can be used ast/friend
,t/friend t/family
etc. -
Parameters can be in any order e.g. if the command specifies
n/NAME p/PHONE_NUMBER
,p/PHONE_NUMBER n/NAME
is also acceptable.
Lists all the commands that you have entered in reverse chronological order.
Format: history
/h
ℹ️
|
Pressing the ↑ and ↓ arrows will display the previous and next input respectively in the command box. |
Restores the address book and task book to the state before the previous undoable command was executed.
Format: undo
/u
ℹ️
|
Undoable commands: those commands that modify the address book’s content ( |
Examples:
-
delete 1
list
undo
(reverses thedelete 1
command) -
select 1
list
undo
Theundo
command fails as there are no undoable commands executed previously. -
delete 1
clear
undo
(reverses theclear
command)
undo
(reverses thedelete 1
command)
Reverses the most recent undo
command.
Format: redo
/r
Examples:
-
delete 1
undo
(reverses thedelete 1
command)
redo
(reapplies thedelete 1
command) -
delete 1
redo
Theredo
command fails as there are noundo
commands executed previously. -
delete 1
clear
undo
(reverses theclear
command)
undo
(reverses thedelete 1
command)
redo
(reapplies thedelete 1
command)
redo
(reapplies theclear
command)
Adds a person to the address book
Format: add
/a
Details: add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]…
💡
|
A person can have any number of tags (including 0) |
Examples:
-
add n/John Doe p/98765432 e/[email protected] a/John street, block 123, #01-01
-
add n/Betsy Crowe t/friend e/[email protected] a/Newgate Prison p/1234567 t/criminal
Finds persons whose names, email or address contain any of the given keywords.
Format: find
/f
Details: find KEYWORD [MORE_KEYWORDS]
-
The search is case insensitive. e.g
hans
will matchHans
-
The order of the keywords matters. e.g.
Hans Bo
will not matchBo Hans
-
Only the name/email/address are searched.
-
Full words are not need for matching e.g.
Han
will matchHans
-
Persons matching at least one keyword will be returned (i.e.
OR
search). e.g.Hans/Bo
will returnHans Gruber
,Bo Yang
Examples:
-
find John
Returnsjohn
andJohn Doe
-
find Betsy/Tim/John
Returns any person having namesBetsy
,Tim
, orJohn
Selects the person identified by the index number used in the last person listing.
Format: select
/s
Details: select INDEX
-
Selects the person and loads the Google Map page the person at the specified
INDEX
. -
The index refers to the index number shown in the most recent listing of persons.
-
The index must be a positive integer
1, 2, 3, …
Examples:
-
list
select 2
Selects the 2nd person in the address book. -
find Betsy
select 1
Selects the 1st person in the results of thefind
command.
Edits an existing person in the address book.
Format: edit
/ed
Details: edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [t/TAG]…
-
Edits the person at the specified
INDEX
. The index refers to the index number shown in the last person listing. The index must be a positive integer 1, 2, 3, … -
At least one of the optional fields must be provided.
-
Existing values will be updated to the input values.
-
When editing tags, the existing tags of the person will be removed i.e adding of tags is not cumulative.
-
You can remove all the person’s tags by typing
t/
without specifying any tags after it.
Examples:
-
edit 1 p/91234567 e/[email protected]
Edits the phone number and email address of the 1st person to be91234567
and[email protected]
respectively. -
edit 2 n/Betsy Crower t/
Edits the name of the 2nd person to beBetsy Crower
and clears all existing tags.
Export the details of the person by the index number
Format: export
/ex
Details: export INDEX
-
Exports the person at the specified
INDEX
, selects the person and loads the Google Map page. -
The index refers to the index number shown in the most recent listing.
-
The index must be a positive integer 1, 2, 3, …
Examples:
-
export 1
in the default setting
Returnsadd n/Alex Yeoh p/87438807 e/[email protected] a/Blk 30 Geylang Street 29, #06-40 r/ t/friends
Adds a new remark or updates existing remark of a person
Format: remark
/r
Details: remark 1 r/[remark]
-
Edits the person at the specified
INDEX
. The index refers to the index number shown in the last person listing. The index must be a positive integer 1, 2, 3, … -
Existing values will be updated to the input values.
-
if new remark is not provided, it will clear the remark.
Examples:
-
remark 1 r/likes to swim `
adds or updates remark of the first person to be `likes to swim -
remark 1
clear remark of the first person
Adds a new task to the task book
Format: addTask
/at
Details: addTask n/TaskName d/Description s/startDateTime f/finishDateTime c/priority [t/TAG]…
💡
|
A task can have any number of tags (including 0), the tag mechanism is the same as that for person. A task has a special field called priority (ranges from 1 to 5, with 1 being the most important). If a priority is not specified during adding of this task, a normal (3) priority wil be set by default.
|
Examples:
-
addTask n/picnic d/have fun at Botanic Garden s/1/1/2017 12:00pm f/1/1/2017 15:00pm c/3 t/friends
Shows a list of all tasks in the task book,including all completed tasks, which are with green click .
Format: listTask
/lt
Finds tasks whose names or description contain any of the given keywords.
Format: findTask
/ft
Details: find KEYWORD [MORE_KEYWORDS]
-
The search is case insensitive. e.g
Picnic
will matchpicnic
-
The order of the keywords matters. e.g.
final exam
will not matchexam final
-
Only the name/description are searched.
-
Full words are not need for matching e.g.
meet
will matchmeeting
-
Tasks matching at least one keyword will be returned (i.e.
OR
search). e.g.final/meet
will returnCS2103 final
,CS2101 meeting
Examples:
-
find picnic
Returns any task having name/descriptionpicnic
-
find picnic/meeting
Returns any task having name/descriptionpicnic
ormeeting
==== Selecting a task :selectTask
Selects the task identified by the index number used in the last task listing.
Format: selectTask
/st
Details: selectTask INDEX
-
Selects the task and display the task at the specified
INDEX
. -
The index refers to the index number shown in the most recent listing of tasks.
-
The index must be a positive integer
1, 2, 3, …
Examples:
-
select 2
Selects the 2nd task in the task book.
Edits an existing task in the address book
Format: editTask
/edt
Details: editTask INDEX [n/TaskName] [d/Description] [s/startDateTime] [f/finishDateTime] [t/TAG]…
-
Edits the task at the specified
INDEX
. The index refers to the index number shown in the last task listing. The index must be a positive integer 1, 2, 3, … -
At least one of the optional fields must be provided.
-
Existing values will be updated to the input values.
Examples:
-
editTask 1 n/picnic d/have fun at Botanic Garden s/1/1/2017 12:00pm f/1/1/2017 15:00pm t/friends
Edits the name, description, start time, finish time ad tag of the 1st task to bepicnic
,have fun at Botanic Garden
,1/1/2017 12:00pm
,1/1/2017 15:00pm
andfriends
respectively. -
editTask 2 t/teammates
Edits the tag of the 2nd task to beteammates
only and others remain same.
Export the details of the task by the index number
Format: exportTask
/ept
Details: exportTask INDEX
-
Exports the task at the specified
INDEX
, selects the task. -
The index refers to the index number shown in the most recent listing.
-
The index must be a positive integer 1, 2, 3, …
Examples:
-
export 1
in the default setting
Returns `addTask n/picnic d/have fun at Botanic Garden s/1/1/2099 12:00pm e/1/1/2099 15:00pm t/friends `
Deletes the specific task from the task book.
Format: deleteTask
/dt
Details: deleteTask IDNEX
-
Deletes the task at the specified
INDEX
. -
The index refers to the index number shown in the most recent listing.
-
The index must be a positive integer 1, 2, 3, …
Examples:
-
list
-
deleteTask
1
Deletes the 1st task in the task book.
Marks the specific task from the task book.
Format: markTask
/mt
Details: markTask INDEX
-
Marks the task at the specified
INDEX
. -
The index refers to the index number shown in the most recent listing.
-
The index must be a positive integer 1, 2, 3, …
Examples:
-
listTask
-
markTask 1
Marks the 1st task in the task book to be completed and the marked task will disappear in the result list.
Sets the priority field of a task that is already present in ths taskBook with an integer value between 1 to 5.
Format: setPriority
/stp
Details: setPriority INDEX c/new value specified
-
Sets the priority value of the current task with the specific INDEX provided.
-
The index refers to the index number shown in the most recent listing.
-
The index must be a positive integer 1, 2, 3, …
-
The new value of the task’s priority should still be between 1 to 5 (inclusive).
Examples:
-
setPriority 1 c/1
Sets the priority of this task to beSuper Important
. -
setPriority 1 c/6
A warning message is shown: A priority value is defined within integer range of 1 to 5.
Sorts the task currently present in the taskBook by priority.
Format: taskByPriority
/tbp
Sorts the list of tasks by their end date
Format: taskByEnd
/tbe
ℹ️
|
This sorting will not affect the order of the tasks currently in the storage. However, the current index shown will be the index used for a specific task to |
Linking a task with provided people
Format: link
/lk
Details: link Index p/personIndex [p/personIndex]
Examples:
-
link 1 p/1
link task 1 with person 1 in the current displayed list -
link 1 p/1 p/2
link task 1 with person 1 and person 2 in the current displayed list
Showing Linked tasks of provided person
Format: linkedTasks
/lts
Details: `linkedTasks Index `
Examples:
-
linkedTasks 1
show linked tasks of person 1 in the current displayed list
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 Address Book folder.
-
Add
add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]…
e.g.add n/James Ho p/22224444 e/[email protected] a/123, Clementi Rd, 1234665 t/friend t/colleague
-
Add Task
add n/NAME d/Description s/START TIME f/END TIME [t/TAG]…
e.g.addTask n/picnic d/have fun at Botanic Garden s/1/1/2099 12:00pm f/1/1/2099 15:00pm t/friends
-
Clear :
clear
-
Delete :
delete INDEX
e.g.delete 3
-
Delete Task :
deleteTask INDEX
e.g.deleteTask 3
-
Edit :
edit INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [t/TAG]…
e.g.edit 2 n/James Lee e/[email protected]
-
Edit Task :
editTask INDEX [n/NAME] [d/DESCRIPTION] [s/START_DATE_TIME] [f/END_DATE_TIME] [c/INTEGER[1~5] [t/TAG]…
e.g.editTask 1 n/picnic d/have fun at Botanic Garden s/1/1/2017 12:00pm f/1/1/2017 15:00pm t/friends
-
Export :
export INDEX
e.g.export 3
-
Export Task :
exportTask INDEX
e.g.exportTask 3
-
Find :
find KEYWORD [MORE_KEYWORDS]
e.g.find James Jake
-
Help :
help
-
History :
history
-
Link :
link TaskIndex p/personIndex [p/personIndex]… `
e.g. `link 1 p/2 -
List Contact :
list
-
List Task :
listTask
-
Mark Task :
markTask INDEX
e.g. markTask 1 -
Redo :
redo
-
Remark :
remark INDEX r/[REMARK]
e.g. remark 1 r/Likes to swim. -
Select :
select INDEX
e.g.select 2
-
Select Task :
selectTask INDEX
e.g.selectTask 2
-
Set Priority :
setPriority INDEX c/PRIORITY INDEX
e.g.setPriority 1 c/2
-
Task By End :
taskByEnd
-
Task By Priority :
taskByPriority
-
Undo :
undo