By: Team T09-B2
Since: March 2018
Licence: MIT
Welcome to CollegeZone!
CollegeZone is a revolutionary desktop application created for National University of Singapore (NUS) students living in Residential College 4 (RC4). We aim to help you to manage your hectic University life!
CollegeZone is a personal assistant to your everyday life in NUS. It helps you to maintain and expand your social circle, tells you the goals you have, and schedules reminders and appointments you have.
More importantly, CollegeZone is optimized for those who prefer to work with a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, CollegeZone can get your contact management and tasks done faster than traditional GUI apps. Interested? Jump to the Section 2, “Quick Start” to get started. Enjoy!
Follow these few simple steps to get started with CollegeZone!
-
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
collegezone.jar
here. -
Copy the file to the folder you want to use as the home folder for CollegeZone. For example, you can place it in a folder created on your desktop.
The image below describes what each part of CollegeZone’s GUI represent.
-
The Command Box is located at the top of CollegeZne. Enter your keyboard commands into the box!
-
The Result Display Panel shows you the results of the commands you entered.
-
The Student List keeps the list of student contacts that you have.
-
The Goal List keeps the list of goals that you have.
-
The Goal Percentage Bar is a percentage counter of the goals you have completed.
-
The Calendar keeps the schedules that you have.
Now that you have CollegeZone’s application on, try out some of the commands that we offer!
-
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 RC4 student contacts -
add
n/John Doe p/98765432 */9 b/21 May 1997 u/#10-12 cca/Badminton cca/Volleyball t/workout buddy
: adds a student contact namedJohn Doe
to CollegeZone. -
delete
3
: deletes the 3rd student description shown in the student list -
exit
: exits CollegeZone-
Refer to Section 3, “Features” for details of each command.
-
-
Command Format
-
Words enclosed in round brackets indicates the Command keyword to use e.g. in
(add)
,add
is the command key word to use. -
Command keywords separated by | executes the same command e.g. in
(add | a)
,add
ora
are equivalent command key words to use. -
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. -
There are no limit to the number of tags or ccas a student can have.
💡Sentences displayed in this manner indicates a TIP for you ℹ️Sentences displayed in this manner indicates a NOTE to look out for
First, let’s get familiar with the command features that CollegeZone offers! Type help
in the Command Box and press Enter to display all the possible command usage.
Format:
(help)
Currently, CollegeZone is empty. Try to add a fellow RC4 friend into CollegeZone using the add
or a
command.
Formats:
(add | a) n/NAME p/PHONE_NUMBER */LEVEL_OF_FRIENDSHIP b/BIRTHDAY u/UNIT_NUMBER [cca/CCA]... [t/TAG]...
ℹ️
|
|
ℹ️
|
|
💡
|
A student can have any number of tags (including 0) A student can have any number of CCAs (including 0) |
Examples:
> add n/John Doe p/98765432 */9 b/21-May-1997 u/#10-12 cca/Badminton cca/Volleyball t/workout buddy
> a n/Betsy Crowe t/friend b/21/12/1994 u/#01-10 p/1234567 */1 t/OwesMoney
Shows a list of all students and their details that you added into CollegeZone.
Formats:
(list | l)
If you added a student detail incorrectly, you can edit an existing student’s details in CollegeZone.
Formats:
(edit | e) INDEX [n/NAME] [p/PHONE] [u/UNIT_NUMBER] [*/LEVEL_OF_FRIENDSHIP] [b/BIRTHDAY] [cca/CCA]... [t/TAG]...
-
Edits the student at the specified
INDEX
. The index refers to the index number shown in the last student 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 or CCAs, the existing tags or CCAs of the student will be removed i.e adding of tags or CCAs is not cumulative.
-
You can remove all the student’s tags by typing
t/
without specifying any tags after it.
Examples:
> edit 1 p/91234567 */10
Edits the phone number and level of friendship of the 1st student to be 91234567
and 10
respectively.
> e 2 n/Betsy Crower t/
Edits the name of the 2nd student to be Betsy Crower
and clears all existing tags.
CollegeZone lets you find students whose names or tags contain any of the given keywords.
Formats:
(find | f) [n/KEYWORDS]
(find | f) [t/KEYWORDS]
-
The search is case insensitive. e.g
hans
will matchHans
-
The order of the keywords does not matter. e.g.
Hans Bo
will matchBo Hans
-
Only the name or tag is searched at a single time
-
Only full words will be matched e.g.
Han
will not matchHans
-
Persons matching at least one keyword will be returned (i.e.
OR
search). e.g.Hans Bo
will returnHans Gruber
,Bo Yang
-
Searching both name and tag at the same time is not possible
Examples:
> find n/John
Returns john
and John Doe
> f n/Betsy Tim John
Returns any student having names Betsy
, Tim
, or John
> find t/friends
Returns any student having tags friends
Seek the Resident Assistant(s) (RA) of the student(s) whose name contains any of the given keywords.
Formats:
seek NAME
-
The search is case insensitive. e.g
hans
will matchHans
-
The order of the keywords does not matter. e.g.
Hans Bo
will matchBo Hans
-
Only the name is searched at a single time
-
Only full words will be matched e.g.
Han
will not matchHans
-
Resident Assistant(s) (RA) of the student’s name matching at least one keyword will be returned (i.e.
OR
search). e.g.Hans Bo
will returnHans Gruber
,Bo Yang
,RA(s) of RC4
.
Examples:
> seek John
Returns John
and RA(s) of RC4
> seek Betsy
Returns Betsy
and RA(s) of RC4
If you want to remove a student from your list, you’re able to delete the specified student data from CollegeZone.
Formats:
(delete | d) INDEX
-
Deletes the student 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
> delete 2
Deletes the 2nd student in CollegeZone.
> find Betsy
> d 1
Deletes the 1st student in the results of the find
command.
Selects the student and/or goal identified by the index number used in the last student/goal listing.
Formats:
(select | s) INDEX
-
Selects the student or goal 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
> select 2
Selects the 2nd student and 2nd goal in CollegeZone.
> find Betsy
> s 1
Selects the 1st student in the results of the find
command.
Arranges a meetup with the student identified by the index number used in the last student listing.
Formats:
(meet| m) INDEX d/MEETDATE
-
Sets up a meeting with the student at the specified
INDEX
on the specified meet date. -
The index refers to the index number shown in the most recent listing.
-
The index must be a positive integer
1, 2, 3, …
-
The date must be of the format d/ + DD/MM/YYYY.
Examples:
> meet 1 d/14/03/2018
Sets up a meeting with the 1st student on the 14th of March, 2018 in your Calendar.
Rates an existing student in CollegeZone.
Formats:
(rate | rt) INDEX(s) [*/LEVEL_OF_FRIENDSHIP]
-
Rates the student at the specified
INDEX(s)
. The index(s) refers to the index number shown in the last student listing. The index must be a positive integer 1, 2, 3, … -
At least one valid index and a valid level of friendship rating must be provided.
-
Existing values will be updated to the input values.
-
When rating students, the current existing level of friendship value of the student will be changed.
Examples:
> rate 1 */5
Rates the level of friendship of the 1st student to be 5
.
> rt 1 3 */7
Rates the level of friendship of the 1st and 3rd student to be 5
.
Shows the level of friendship of the student(s) whose level of friendship contains any of the given input values.
Formats:
(show|sh) LEVELOFFRIENDSHIP
-
The order of the input level of friendship values does not matter. e.g.
1 2
will match1
and2
-
Only valid level of friendship values will be matched e.g.
11
will not match1
-
Level of frienship of the student matching at least one value will be returned (i.e.
OR
search). e.g.1 2
will returnStudents with Level of Friendship value 1
andStudents with Level of Friendship value 2
.
Examples:
> show 1
Returns Students with Level of Friendship value 1
> sh 1 5
Returns Students with Level of Friendship value 1
and Students with Level of Friendship value 5
Sorts the RC4 Students List according to the input index. There are three different sorting types available.
Formats:
sort INDEX_TYPE
-
Sort Type 1: Sorts the RC4 Students according to their Level of Friendship attribute.
-
Sort Type 2: Sorts the RC4 Students according to their meeting date attribute.
-
Sort Type 3: Sorts the RC4 Students according to their Birthday attribute.
-
When sorting according to meet date, those sstudents whose meet date has passed or those students whom you are not meeting as of yet, will be moved to the bottom.
Examples:
> sort 1
Returns A sorted list of RC4 students according to their level of friendship
You might be wondering what else you can do with the calendar. The Reminder features listed below will allow you to set reminders for events, important dates or simply to-do tasks that will be reflected in the calendar for easy reference!
You can try setting a reminder into the calendar in CollegeZone by referring to the instructions below.
Formats:
(+reminder | +r | addreminder) text/REMINDER_TEXT d/START_DATETIME e/END_DATETIME
Details:
-
A reminder will be added to CollegeZone and it will be reflected in the Calendar.
-
START_DATETIME
&END_DATETIME
: a datetime is a string that contains either a date, a time or a combination of both (in any order). If a date is not specified, then it will refer to today. If a time is not specified, then it will refer to the current time. -
Examples of valid
START_DATETIME
&END_DATETIME
:-
[date] [time]
-
3pm
-
today
-
tmr
-
10 Feb
-
thursday 8am
-
tomorrow 3pm
-
14 Feb 2014 5.30am
-
2/29/14 23:59
-
💡
|
You should use a date format of MM/DD/YYYY instead of DD/MM/YYYY if you choose to use this date format for the START_DATETIME or END_DATETIME |
Examples:
+r text/Eat vitamins d/4/25/2018 8am e/4/25/2018 8.10am
Returns Eat vitamins
in the calendar on 25th April 2018
from 8am
to 8.10am
+reminder text/Dental appointment d/next thurs 3pm e/next thurs 4pm
Returns Dental appointment
in the calendar according to START_DATETIME
& END_DATETIME
Figure below portrays what should be seen after the command is executed correctly:
If you made a mistake or have reminders that are already due, you can also delete it away from the calendar by referring to the instructions below.
Formats:
(-reminder | -r | deletereminder) text/REMINDER_TEXT d/START_DATETIME
Details:
-
Deletes a reminder from CollegeZone and the reminder will not be reflected in the Calendar anymore.
-
REMINDER_TEXT
: a string that contains the reminder’s title -
START_DATETIME
: a datetime is a string that contains either a date, a time or a combination of both (in any order). If a date is not specified, then it will refer to today. If a time is not specified, then it will refer to the current time. -
Examples of valid
START_DATETIME
:-
[date] [time]
-
3pm
-
today
-
tmr
-
10 Feb
-
thursday 8am
-
tomorrow 3pm
-
14 Feb 2014 5.30am
-
2/29/14 23:59
-
💡
|
You should use a date format of MM/DD/YYYY instead of DD/MM/YYYY if you choose to use this date format for START_DATETIME |
Examples:
-r text/Eat vitamins d/4/25/2018 8am
Deletes reminder Eat vitamins
set on 25th April 2018
at 8am
-reminder text/Dental appointment d/tmr
Deletes reminder Dental appointment
according to START_DATETIME
Figure below portrays what should be seen after the command is executed correctly:
Currently, your goal page is empty! Try adding a goal entry that you have into CollegeZone using the +goal
, +g
or addgoal
command. The new goal added will be reflected in CollegeZone.
Formats:
(+goal | +g | addgoal) impt/IMPORTANCE_LEVEL text/GOAL_TEXT
ℹ️
|
|
Examples:
> +goal impt/3 text/lose weight!
> +g impt/2 text/meetup with close friends more often =)
> addgoal impt/1 text/learn how to bake cheesecake
The figure below portrays what should be seen after the command is executed correctly:
It is a hassle to locate the goals you’re interested in if you have too many goals in CollegeZone. Try sorting the goals that you have using the sortgoal
or sgoal
command.
Formats:
(sortgoal | sgoal) f/GOAL_FIELD o/ORDER
ℹ️
|
|
ℹ️
|
|
Examples:
> sortgoal f/startdatetime o/ascending
Sorts the goal list based on start date time in ascending order.
> sgoal f/completion o/descending
Sorts the goal list based on completion in descending order.
The figure below portrays what should be seen after the command is executed correctly:
If you’ve added a goal entry incorrectly, try using the ~goal
, ~g
or editgoal
command to edit the goals you have.
Formats:
(~goal | ~g | editgoal) INDEX [impt/IMPORTANCE_LEVEL] [text/GOAL_TEXT]
-
Edits the goal at the specified
INDEX
. The index refers to the index number shown in the goal 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:
> ~goal 2 impt/1
Edits the goal importance level of the 2nd reminder to be 1
.
> sgoal f/importance o/descending
> ~g 1 impt/3 text/learn yoga
Edits the goal text and importance level of the 1st student in the sorted goal list to be learn yoga
and 1
respectively.
editgoal 5 text/swim at least twice a month
Edits the goal text of the 5th student to be swim at least twice a month
.
The figure below portrays what should be seen after the command is executed correctly:
If you’ve added a specific goal that you’re unlikely to complete and want to remove it from CollegeZone, try using the -goal
, -g
or deletegoal
command to delete a goal entry that you have.
Formats:
(-goal | -g | deletegoal) INDEX
-
Deletes the goal at the specified
INDEX
. -
The index refers to the index number shown in the most recent goal listing.
-
The index must be a positive integer 1, 2, 3, …
Examples:
> -goal 2
Deletes the 2nd goal in CollegeZone’s goal listing.
> sortgoal f/completion o/ascending
> -g 4
Deletes the 4th goal in CollegeZone’s sorted goal listing.
> deletegoal 1
Deletes the 1st goal in CollegeZone’s goal listing.
The figure below portrays what should be seen after the command is executed correctly:
Once you’ve completed a goal, indicate completion of an existing goal in CollegeZone using the !goal
, !g
or completegoal
command.
Formats:
(!goal | !g | completegoal) INDEX
-
Indicates completion of the goal at the specified
INDEX
. -
The index refers to the index number shown in the most recent goal listing.
-
The index must be a positive integer 1, 2, 3, …
Examples:
> !goal 2
Indicates completion of the 2nd goal in CollegeZone’s goal listing.
> sgoal f/importance o/descending
> !g 4
Indicates completion of the 4th goal in CollegeZone’s sorted goal listing.
> completegoal 1
Indicates completion of the 1st goal in CollegeZone’s goal listing.
The figure below portrays what should be seen after the command is executed correctly:
ℹ️
|
The goal percentage bar changes. |
If you had an ongoing goal that is wrongly indicated that it’s completed, do not fret, simply indicate that an existing goal you have is still ongoing in CollegeZone using the -!goal
, -!g
or ongoinggoal
command.
Formats:
(-!goal | -!g | ongoinggoal) INDEX
-
Indicates completion of the goal at the specified
INDEX
. -
The index refers to the index number shown in the most recent goal listing.
-
The index must be a positive integer 1, 2, 3, …
Examples:
> -!goal 2
Indicates ongoing of the 2nd goal in CollegeZone’s goal listing.
> sortgoal f/startdatetime o/ascending
> -!g 4
Indicates ongoing of the 4th goal in CollegeZone’s sorted goal listing.
> ongoing 1
Indicates ongoing of the 1st goal in CollegeZone’s goal listing.
The figure below portrays what should be seen after the command is executed correctly:
ℹ️
|
The goal percentage bar changes. |
CollegeZone’s default theme colour is not the only theme colour we have to offer! Try changing CollegeZone’s theme colour to your preferred one using the theme
or th
command.
Formats:
(theme | th) THEME_COLOUR
ℹ️
|
|
Examples:
> theme light
Changes the theme colour to light theme.
> th dark
Changes the theme colour to dark theme.
> th bubblegum
Changes the theme colour to bubblegum theme.
You can type a command and press Tab to auto bring out all the command parameters.
Lists all the commands that you have entered in reverse chronological order.
Formats:
(history | h)
ℹ️
|
Pressing the ↑ and ↓ arrows will display the previous and next input respectively in the command box. |
Restores CollegeZone to the state before the previous undoable command was executed.
Formats:
(undo | u)
ℹ️
|
Undoable commands: those commands that modify CollegeZone’s content ( |
Examples:
> delete 1
> list
> undo
Reverses the delete 1
command
> select 1
> list
> undo
The undo
command fails as there are no undoable commands executed previously.
> delete 1
> clear
> undo
> undo
Reverses both the clear
command and the delete 1
command
Reverses the most recent undo
command.
Formats:
(redo | r)
Examples:
> delete 1
> undo
> redo
undo
(reverses the delete 1
command)
redo
(reapplies the delete 1
command)
> delete 1
> redo
The redo
command fails as there are no undo
commands executed previously.
> delete 1
> clear
> undo
> undo
> redo
> redo
undo
(reverses the clear
command)
undo
(reverses the delete 1
command)
redo
(reapplies the delete 1
command)
redo
(reapplies the clear
command)
Clears all entries from CollegeZone.
Formats:
(clear | c)
Exits the program.
Formats:
exit
CollegeZone data are saved in the hard disk automatically after any command that changes the data.
There is no need to save manually.
{explain how the user can enable/disable data encryption}
Edits an existing reminder in CollegeZone.
Format: ~r INDEX [text/REMINDER_TEXT] [d/START_DATETIME] [e/END_DATETIME]
-
Edits the reminder at the specified
INDEX
. The index refers to the index number shown in the reminder 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:
-
~r 4 text/CS2103 exam coming in 1 week
Edits the reminder text of the 4th reminder to beCS2103 exam coming in 1 week
. -
~r 2 text/water plants d/tmr 7am
Edits the reminder text and datetime of the 2nd student to bewater plants
andtmr 7am
respectively.
By using this command, you are able to add subgoals to the goals you currently have.
Allows you to add your NUS timetable schedule for the semester into CollegeZone.
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 CollegeZone folder.
The table below provides a quick summary of all the commands available in CollegeZone.
Command | Function | Format | Example |
---|---|---|---|
Add |
Adds a student entry |
|
|
Add Goal |
Adds a goal entry |
|
|
Add Reminder |
Adds a reminder entry |
|
|
Clear |
Clears all student and goal entries |
|
|
Complete Goal |
Complete a goal entry |
|
|
Delete |
Deletes a student entry |
|
|
Delete Goal |
Deletes a goal entry |
|
|
Delete Reminder |
Deletes a reminder entry |
|
|
Edit |
Edits a person details |
|
|
Edit Goal |
Edits a goal entry |
|
|
Exit |
Exits CollegeZone |
|
|
Find |
Finds a student by keyword |
|
|
Help |
Opens the help page |
|
|
History |
Lists previously entered commands |
|
|
List |
Lists all students |
|
|
Meet |
Adds meet up date with a student |
|
|
Rate |
Rates one or more people |
|
rate 1 3 */5 |
Redo |
Redo previous command |
|
|
Revert complete Goal |
Revert a complete a goal entry |
|
|
Seek |
Seek RA(s) of students by keyword |
|
seek james |
Select |
Selects the student and goal entry |
|
|
Show |
Show students by level of friendship |
|
show 5 |
Sort |
Sorts the RC4 Students list in 3 different ways |
|
sort 1 |
Sort Goal |
Sorts the goal list |
|
|
Theme |
Switch theme colour of CollegeZone |
|
|
Undo |
Undo previous command |
|