Achieve simplicity while optimizing efficiency.
ProjectPRO is a desktop application designed to help university students organize their projects. Here is how ProjectPRO can streamline your project management process.
ProjectPRO is optimized for use via a Command Line Interface (CLI) while preserving the advantages of maintaining an attractive user interface. ProjectPRO utilizes simple and easy-to-remember commands to execute different tasks, enhancing our user's experience. For instance, adding a contact is executed with a simple add
command, as listed in our Features Section. Unlock more time in your day, store your information the smart way.
New here? View our instructions for first-time users here.
Used ProjectPRO before? Click here to recall what features we have!
This guide explains how you can use ProjectPRO to add contacts and manage your groups of contacts effectively by using our commands.
Here are some annotations used in this guide:
We are happy to have you on board as a first-time user of ProjectPRO! To get started, visit our Quick Start to set up ProjectPRO. Once it's done, you can dive into the Features section to explore the full range of commands and learn more about what ProjectPRO has to offer. Refer to the image below to get acquainted with our user interface.
ProjectPRO user interface
Welcome back to ProjectPRO. Simply head over to our Features section to gain insights into our commands. If you are looking for a quick reference, click here for our table of contents.
Ensure you have Java 11 or above installed on your computer.
Download the latest ProjectPRO.jar from here.
Move the JAR file to a folder where you want to store your project details. For example, create a folder named ProjectPRO and place it on your desktop.
Launch ProjectPRO.
cd Desktop
, followed by cd ProjectPro
.java -jar ProjectPRO.jar
to run the application.Definitions
Written below are the definitions of the terminology used throughout the User Guide:
Term | Definition |
---|---|
Parameter | Parameter indicates the type of information required for a particular command. |
Command | A special word used together with parameters to execute a particular action. E.g. find . |
GUI | Graphical User Interface, the visual display of ProjectPRO. |
Parameter Information
Written below are some commonly used parameters, what they represent, and examples:
Parameter | Description | Constraints | Valid Examples | Invalid Examples |
---|---|---|---|---|
n/ | Contact name of the student | Alphanumeric characters (a to z, A to Z, 0 to 9) | John Doe, David Li 2 | Kishen s/o Kasinathan, ナルト, அசிங்கமான |
p/ | Phone number of the student | Positive integer with 3 or more digits | 999, 98765432, 18003569377 | 1-800-356-9377, 0, -1, 98431234.5 |
e/ | Email of the student | Email prefix: Alphanumeric characters (a to z, A to Z, 0 to 9), @, Email Domain | example@gmail.com, example@moe.edu.sg | example@!.com, example@moed.edu.s |
g/ | Name of the group | Alphanumeric characters (a to z, A to Z, 0 to 9) | CS2103T, Group 3 | Group 3!, 1 |
r/ | Group remark | N/A | Zoom link: CS2101.zoom, 123!@#$#@ | N/A |
t/ | Time interval of student / group | timings are written with the first 3 letters of the day and time in 24 hour format, with a - between the timings. Start time cannot be after end time | mon 1300 - mon 1400, sat 1000 - sun 1300 | monday 1300 - tuesday 1200, wed 1300 - wed 1000 |
Command format
Written below are some extra information regarding our command formats:
Format | Explanation | Examples |
---|---|---|
Words in UPPER_CASE | These are values written by you | new g/GROUP_NAME can be written as new g/CS2103T |
Items in SQUARE_BRACKETS | These are optional values that can be left empty | add n/NAME p/PHONE e/EMAIL [g/GROUP_NAME] can be used as add n/John p/999 e/example@gmail.com and add n/John p/999 e/example@gmail.com g/CS2103 |
Items with ... after them | These are values that can be used multiple times | addtime n/NAME t/time... can be used as addtime n/John t/mon 1200 - mon 1300 t/tue 1400 - tue 1500 |
add
You can create a contact in your contact list.
Format: add n/NAME p/PHONE e/EMAIL [g/GROUP_NAME]
NAME
must be alphanumeric, cannot be blank and must not be an existing contact in the contact list.
PHONE
must be a positive integer with at least 3 digits and must not exist in the contact list.
EMAIL
must be alphanumeric with a @ domain, end with a domain label at least 2 characters long and must not exist in the contact list.
GROUP_NAME
must be alphanumeric. This is an optional parameter.
Example(s):
add n/John Doe p/98765432 e/johnd@example.com g/CS2103T
add n/John Doe p/98765432 e/johnd@example.com
You have added John Doe to your contacts, at contact number 7.
Potential error(s):
This person already exists in your contact list
.delete
You can delete a contact from your contact list.
Format: delete n/NAME
NAME
must be alphanumeric, cannot be blank, and must be an existing contact in the contact list.
Example(s):
delete n/John Doe
You have deleted John Doe, previously contact number 7, from your contacts.
Potential error(s):
No person with such name found. Please provide the person's full name as in the existing contact list
.find
You can find all the contacts from your contact list with the matching keywords.
Format: find n/KEYWORDS_IN_NAME
KEYWORDS_IN_NAME
must be alphanumeric and cannot be blank. It is not case-sensitive.
Example(s):
find n/alex bernice
This displays all the contacts with names containing Alex or Bernice.
You have found all your contacts with the name Alex or Bernice.
Potential error(s):
list
You can list all the contacts in your contact list.
Format: list
Example(s):
list
You have listed all the contacts in your contact list.
Potential error(s):
new
You can create a new group in your contact list.
Format: new g/GROUP_NAME
GROUP_NAME
must be alphanumeric, cannot be blank, and must not be an existing group in your contact list.
Example(s):
new g/CS2103T tp
You have created a new group called CS2103T tp.
Potential error(s):
This group already exists in the contact list
.delete
You can delete a group in your contact list.
Format: delete g/GROUP_NAME
GROUP_NAME
must be alphanumeric, cannot be blank and must be an existing group in your contact list.
Example(s):
delete g/CS2103T tp
You have deleted the group "CS2103T tp" from your contact list.
Potential error(s):
No group with such name found. Please provide the group's full name as in the existing contact list
.remark
You can add remarks to a group in your contact list.
Format: remark g/GROUP_NAME r/REMARK
GROUP_NAME
must be alphanumeric, cannot be blank and must be an existing group in your contact list.
REMARK
can take on any value.
Example(s):
remark g/CS2103T r/quiz tomorrow
You have added the group remark "quiz tomorrow" to the group "CS2103T" in your contact list.
Potential errors(s):
No group with such name found. Please provide the group's full name as in the existing contact list.
find
You can find a group in your contact list. This allows you to view the group's members and remarks.
Format: find g/GROUP_NAME
GROUP_NAME
must be alphanumeric, cannot be blank and must be an existing group in your contact list.
Example(s):
find g/CS2103T
You are now able to view all details regarding the group "CS2103T" in your contact list.
Potential error(s):
No group with such name found. Please provide the group's full name as in the existing contact list
.listgroup
You can list all the groups in your contact list.
Format: listgroup
Example(s):
listgroup
You have listed all the groups in your contact list.
Potential error(s):
group
You can add an existing contact to an existing group.
Format: group n/NAME g/GROUP_NAME
NAME
must be alphanumeric, cannot be blank, must be an existing contact in your contact list, and must not be a member of GROUP_NAME
.
GROUP_NAME
must be alphanumeric, cannot be blank, and must be an existing group in your contact list.
Example(s):
group n/Bernice Yu g/CS2103T
You have added "Bernice Yu" to the group "CS2103T" in your contact list.
Potential error(s):
Bernice Yu is already in this group: CS2103T
.ungroup
You can remove a contact from a group.
Format: ungroup n/NAME g/GROUP_NAME
NAME
must be alphanumeric, cannot be blank, must be an existing contact in your contact list, and must be a member of GROUP_NAME
.
GROUP_NAME
must be alphanumeric, cannot be blank, and must be an existing group in your contact list.
Example(s):
ungroup n/Alex Yeoh g/CS2103T
You have removed "Alex Yeoh" from the group "CS2103T".
Potential error(s):
Alex Yeoh is not in this group: CS2103T
.addtime
You can add time slots when your contacts are available.
Format: addtime n/NAME t/FREE_TIME
NAME
must be alphanumeric, cannot be blank and must be an existing contact in your contact list.
FREE_TIME
must be a time slot within the current weekly schedule. E.g. Sat 1000 - Mon 1000
is not allowed as the monday here refers to next week, violating the current weekly schedule pattern.
FREE_TIME
must be a time slot with some duration. E.g. Mon 1200 - Mon 1200
is not valid as there is no duration.Mon 1300- Mon 1400
is valid.
It is not case-sensitive.
FREE_TIME
must not clash with the other inputted/existing time slots of the contact. E.g. If time slot Mon 1200 - Mon 1300
has been added, then Mon 1300 - Mon 1400
can not be added.
Example(s):
addtime n/Alex Yeoh t/mon 1400 - mon 1600
You have added the Monday 2 pm - 4 pm timeslot to Alex Yeoh to indicate that he is free during that time.
Potential error(s):
deletetime
You can remove available time slots of your contacts.
Format: deletetime n/NAME t/FREE_TIME
NAME
must be alphanumeric, cannot be blank and must be an existing contact in your contact list.
FREE_TIME
must match the contact's existing time. It is not case-sensitive.
Example(s):
deletetime n/Alex Yeoh t/mon 1400 - mon 1600
You have deleted the Monday 2 pm - 4 pm time slot from Alex Yeoh to indicate that he is not free during that time anymore.
Potential error(s):
listtime
You list all available time slots of your contacts.
Format: listtime n/NAME
n/
prefix.NAME
must be alphanumeric, cannot be blank and must be an existing contact in your contact list.
Example(s):
listtime n/Alex Yeoh
You have listed Alex Yeoh's free times.
Potential error(s):
addmeeting
You can add a meeting time slot for your group.
Format: addmeeting g/GROUP_NAME t/MEETING_TIME
GROUP_NAME
must be alphanumeric, cannot be blank and must be an existing group in your contact list.
MEETING_TIME
must be a time slot within the weekly schedule and must not clash with the group's existing meeting times. It is not case-sensitive.
MEETING_TIME
can be added even if some members are not available for the time slot. Do coordinate with your group members on the most suitable time slots.
Example(s):
addmeeting g/CS2103T t/mon 1400 - mon 1600
You have added a Monday 2 pm - 4 pm meeting for the group "CS2103T".
Potential error(s):
deletetime
You can remove meeting times from your groups.
Format: deletetime g/GROUP_NAME t/MEETING_TIME
GROUP_NAME
must be alphanumeric, cannot be blank and must be an existing group in your contact list.
MEETING_TIME
must be a time slot within a weekly schedule and must be an existing meeting slot of the group. It is not case-sensitive.
Example(s):
deletetime g/CS2103T t/mon 1400 - mon 1600
You have deleted the Monday 2 pm - 4 pm meeting for the group "CS2103T".
Potential error(s):
listtime
You list meeting time for your groups.
Format: listtime g/GROUP_NAME
GROUP_NAME
must be alphanumeric, cannot be blank and must be an existing group in your contact list.
Example(s):
listtime g/CS2103T
You can see all the meetings you have for CS2103T/p>
Potential error(s):
findfreetime
You can find a meeting time slot for your group where everyone is available.
Format: findfreetime g/GROUP_NAME d/DURATION
GROUP_NAME
must be alphanumeric, cannot be blank and must be an existing group in your contact list.
DURATION
must be a whole number representing the meeting duration in minutes.
Example(s):
findfreetime g/CS2103T d/60
You are now able to view all possible meeting times of at least 60 minutes for the group "CS2103T".
Potential error(s):
help
You can view the link to our User Guide.
Format: help
Example(s):
help
This displays the link to the User Guide.
You are now able to copy the URL of the User Guide.
Potential error(s):
clear
Clears all entries from the contact list.
Format: clear
Example(s):
clear
This clears all the data in your contact list.
You have cleared all the data in your contact list.
Potential error(s):
exit
You can exit ProjectPRO.
Format: exit
Potential error(s):
ProjectPRO saves automatically after any command changes the data. There is no need to save manually.
ProjectPRO's data are saved automatically as a JSON file [JAR file location]/data/addressbook.json
. Advanced users are welcome to update data directly by editing that data file.
If your changes to the data file makes its format invalid, ProjectPRO will discard all data and start with a sample data file. Hence, it is recommended to take a backup of the file before editing it.