By: Team CS2103T-AY1819S1-W17-3 Since: Aug 2018 Licence: MIT
- 1. Introduction
- 2. Quick Start
- 3. User Interface
- 4. Features
- 4.1. Viewing help :
help - 4.2. Adding a new member:
addMember - 4.3. Editing a person :
edit - 4.4. Deleting a person:
delete/del - 4.5. Adding a new group:
addGroup - 4.6. Deleting a group:
deleteGroup - 4.7. Sorting the list of displayed persons:
sort - 4.8. Finding a group / person / meeting:
find - 4.9. Selecting a group / person / meeting:
select - 4.10. Schedule meetings:
meet - 4.11. Cancel meetings:
cancel - 4.12. Joining a person to group:
join - 4.13. Removing a person from group:
leave - 4.14. Listing all groups / meetings / persons :
list - 4.15. Importing data :
import - 4.16. Exporting data :
export - 4.17. Changing Storage Location:
filepath - 4.18. Saving the data
- 4.19. Autocomplete
[coming in v2.0] - 4.20. Encrypting data files
[coming in v2.0]
- 4.1. Viewing help :
- 5. FAQ
- 6. Command Summary
MeetingBook is for those who prefer to use a desktop app to manage their meetings for university. MeetingBook is designed for those who prefer to work with a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). Users who can type fast can navigate and use the meeting planner faster than traditional GUI apps. Makes your hand itchy and want to try out? Go to Section 2, “Quick Start” to get started!
-
Ensure you have Java version
9or later installed in your computer. -
Download the latest
meetingbook.jarhere. -
Copy the file to the folder you want to use as the home folder for your MeetingBook.
-
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. typinghelpand pressing Enter will open the help window. -
Some example commands you can try:
-
list: Display all existing members on the display. -
addMembern/<name> p/<phone> e/<email> a/<address>: adds a member with the parameters specified to the MeetingBook. -
delete3: deletes the 3rd person shown in the current person list. -
exit: exits the app.
-
-
Refer to Section 4, “Features” for details of each command.
This section will explain the user interface of the application.
-
Menu bar
-
Group list: displays a list of groups
-
Meeting list: displays a list of meetings
-
Person list: displays a list of person
-
Command box: receives command from user and execute
-
Result display: displays the result of command executed
-
Update status: displays the update status of current session
-
Save path: displays current data save path
Command Format
-
Words in
UPPER_CASEare the parameters to be supplied by the user e.g. inedit 1 e/EMAIL p/PHONE,EMAILandPHONEare parameters which can be used asedit 1 e/email@email.com p/12345678. -
Words in square brackets are optional. e.g.
n/NAME [t/TAG]can be used asn/Derek t/Groupmateorn/Derek. -
Words in arrow brackets separated by
|are the parameter options that require user to supply exactly one e.g.list <person|group|meeting>,person,groupandmeetingare parameter options that can be used aslist group,list personorlist meeting, and each of them execute different operations. -
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/classmate,t/classmate t/projectetc. -
Parameters can be in any order e.g. if the command specifies `n/NAME p/PHONE, p/PHONE n/NAME is also acceptable.
Add a new person named NAME with parameters described in [Person Parameters] to the MeetingBook.
Format: addMember n/NAME p/PHONE e/EMAIL a/ADDRESS [t/TAG]…
Examples:
-
addMember n/Zheng Wei p/87654321 e/cs2103t@comp.nus.edu.sg a/NUS School of Computing -
addMember n/Ben p/12345678 e/hello@nus.edu.sg a/NUS School of Computing t/project -
addMember n/Pakorn p/24681357 e/cs2101@celc.nus.edu.sg a/NUS School of Computing t/TA t/project
Replace the person’s parameters with those described in this command (undescribed parameters will not be changed).
Format: edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [t/TAG]…
Examples:
-
edit 2 n/Benjamin
Edits the name of the second person in the person list to Benjamin. -
edit 1 p/12345678
Edits the phone number of the first person in the person list to 12345678.
Remove the selected person.
Format: delete INDEX, or the shorthand del INDEX
Examples:
-
delete 2
Deletes the second person in the person list. -
del 4
Deletes the fourth person in the person list.
Add a new group with user input title into MeetingBook.
Format: addGroup n/NAME
Examples:
-
addGroup n/CS2103T
Adds a new group with title 'CS2103T' into the MeetingBook. -
addGroup n/Discussion Group 1
Adds a new group with title 'Discussion Group 1' into the MeetingBook.
Remove the group that matches use input title.
Format: deleteGroup n/NAME
Examples:
-
deleteGroup n/CS2103T
Removes the group with title 'CS2103T', which is added previously, from MeetingBook. -
deleteGroup n/Discussion Group 1
Removes the group with title 'Discussion Group 1', which is added previously, from MeetingBook.
The sort command sorts the list in the display of persons.
The user can specify whether to sort by name, phone number, email address, or home address,
in lexicographical order or numerical order.
Format:
sort <name|phone|email|address>
-
<name|phone|email|address>: this parameter specifies whether to sort by name, phone, email address, or home address in lexicographical order or numerical order.
Examples:
-
sort name: Sorts the list of persons by name in lexicographical order. -
sort phone: Sorts the list of persons by phone number in numerical order. -
sort email: Sorts the list of persons by email address in lexicographical order. -
sort address: Sorts the list of persons by home address in lexicographical order.
The find command searches the MeetingBook for specified person, group, or meeting, and displays the results on
the panel.
Format:
Longhand: find <person|group|meeting> [a/KEYWORDS] [s/KEYWORDS] [n/KEYWORDS]
Shorthand: find <p|g|m> [KEYWORDS]
-
<person|group|meeting>,<p|g|m>: this parameter specifies whether to search for persons, groups, or meetings. This parameter is required to execute this command.-
person,p: specifies to search for persons. -
group,g: specifies to search for groups. -
meeting,m: specifies to search for meetings.
-
-
KEYWORDS: this tag contains any number of keywords separated by a space. -
[all],[a]: this parameter specifies that the results must contain every keyword specified in<keywords>. This parameter may be omitted. -
[some],[s]: this parameter specifies that the results must contain at least one keyword specified in<keywords>. This parameter may be omitted. -
[none],[n]: this parameter specifies that the results must not contain any keyword specified in<keywords>. This parameter may be omitted.
-
When the shorthand format is used, the keywords will be placed in the
a/parameter.
Examples:
-
find p Alex: finds all persons whose name containsAlex. (Refer to diagram above)
-
find p s/yu li: finds all persons whose name contains one ofyuorli. (Refer to diagram above)
-
find p n/Alex Bernice: finds all persons whose name does not containAlexorBernice(Refer to diagram above) -
find p Betty Charles: finds all persons whose name containsBettyandCharles. -
find p s/David Eric n/James: finds all persons whose name contains one ofDavidorEric, and whose name does not containJames. -
find group project: finds all groups whose title containsproject. -
find g a/team n/school: finds all groups whose title containsteamand whose title does not containschool. -
find meeting s/official important: finds all meetings whose title contains one ofofficialorimportant. -
find m a/urgent n/basketball: finds all meetings whose titles containsurgentand whose title does not containbasketball.
Format: select <p|g|m>/INDEX
-
If
select gis entered, the person list will be filtered to show only person who belong to the group, and the meeting list will be filtered to show only meeting scheduled for the group. -
If
select pis entered, only the person that is in the filtered person list will be selected. -
If
select mis entered, only the meeting that is in the filtered meeting list will be selected.
Examples:
-
select g/1: selects the first group in the filtered group list. Meetings and persons not related to the group selected will be hidden. -
select m/3: selects the third meeting in the filtered meeting list. -
select p/2: selects the second person in the filtered person list.
To schedule a meeting, use the meet command.
Format: meet GROUP_NAME n/MEETING_NAME t/MEETING_TIME l/MEETING_LOCATION d/MEETING_DESCRIPTION
-
Schedules a meeting with the group
GROUP_NAME -
Either all or none of the fields must be provided.
-
In case that none of the fields is provided, the command will cancel the meeting associated with the group.
-
Scheduling a new meeting to the same group overwrites the old meeting.
|
ℹ️
|
MEETING_TIME is specified in the format dd-mm-yyyy@hh:mm
|
Examples:
-
Example 1:
-
meet Presentation2101 n/Demo Rehearsal t/26-10-2018@12:30 l/COM1-0218 d/Meeting for Project Demo
(This schedules the meeting) -
list meeting
(This displays the list of meetings)
-
-
Example 2:
-
meet Presentation2101 n/Demo Rehearsal t/26-10-2018@12:30 l/COM1-0218 d/Meeting for Project Demo
(This schedules the meeting) -
list meeting
(This displaysDemo Rehearsalas the meeting associated withPresentation 2101) -
meet Presentation2101 n/Discussion on Slides t/26-10-2018@12:30 l/COM1-0218 d/Some slides are wrong
(This overwritesDemo RehearsalwithDiscussion on Slides) -
list meeting(Emergency Meetingis displayed instead ofDemo Rehearsal)
-
-
Example 3:
-
meet OtherGroup …
(This fails becauseOtherGroupis not in the MeetingBook)
-
|
ℹ️
|
It is assumed that the group Presentation2101 is present and is the only group in the MeetingBook and has no meeting as of the moment before each example starts.
|
To cancel a meeting, use the cancel command.
Format: cancel GROUP_NAME
Example:
-
cancel Project2103(This cancels the meeting withProject2103) -
cancel Project2103
cancel Project2103(This fails because the meeting is already cancelled)
|
ℹ️
|
It is assumed that the group Project2103 is present in the MeetingBook and has a meeting.
|
|
ℹ️
|
calling meet GROUP_NAME without argument is equivalent to calling cancel GROUP_NAME.
|
Add a person, specified by name, into a group, specified by the group title.
Format: join n/NAME g/GROUP
Example:
-
join n/Derek g/CS2103T
Makes the person 'Derek' to be a member of group 'CS2103T'.
|
ℹ️
|
Both the person and group should exist in the MeetingBook. |
Remove a person, specified by name, from a group, specified by the group title.
Format: leave n/NAME g/GROUP
Example:
-
leave n/Derek g/CS2101
Removes the person 'Derek' from the group 'CS2101'.
|
ℹ️
|
Both the person and group should exist in the MeetingBook. The person should also be an existing member of the group. |
Display all existing groups on the group list / meetings on the meeting list / persons on the person list display.
Format: list <group|meeting|person|all>
Shorthand: list <g|m|p|a>
|
ℹ️
|
If the list is unfiltered, the list will remain the same. If list command does not have parameters entered, it will execute list all by default. |
Examples:
-
list group: list all groups. -
list m: list all meetings. -
list person: list all persons. -
list a: list all groups, meetings and persons.
Import other MeetingBook data and integrate into the current MeetingBook.
Default behaviour is to ignore any conflicting Person/Group entries unless --force option is supplied.
Format: import [--force] f/FILEPATH
Example:
-
import f/backup.xml: Import backup.xml into MeetingBook -
import --force f/backup.xml: Import backup.xml into MeetingBook, overwriting all conflicting entries.
The image below shows the result after successfully executing the command.
Export MeetingBook data to store as backup elsewhere or send the data to other users of MeetingBook.
A XML file containing MeetingBook data will be created at the filepath indicated by the user.
Format: export f/FILEPATH
Example:
-
export f/backup.xml: Export MeetingBook asbackup.xml.
The image below shows the result after successfully executing the command.
Change the storage location of MeetingBook.
Format: filepath f/FILEPATH
Example:
-
filepath f/new_path.xml: Storage location of MeetingBook is now stored atnew_path.xml.
MeetingBook data are saved in the hard disk automatically after any command that changes the data.
To assist user to speed up typing of command, user can <TAB> to autocomplete the command.
Q: How do I transfer my data to another computer?
A: Install the app in the other computer and transfer the data file into the same folder.
Q: Is the app only for NUS student?
A: While this app is tailored to NUS students, it can be used for general day-to-day activities.
Q: Are there any plans to include other institutions?
A: We plan to include other institutions after implementing all core functionalities of the app.
Q: Are there any plans to build for mobile as well?
A: We might look into it if we receive enough requests from users.
-
Adding a new person:
addMember n/NAME p/PHONE e/EMAIL a/ADDRESS [t/TAG]…
e.g.addMember Derek p/87654321 e/cs2103t@comp.nus.edu.sg a/NUS School of Computing -
Editing a person :
edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [t/TAG]…
e.g.edit 2 n/Jeffrey -
Schedule a meeting :
meet GROUP_NAME n/MEETING_NAME t/MEETING_TIME l/MEETING_LOCATION d/MEETING_DESCRIPTION -
Cancel a meeting :
cancel GROUP_NAME -
Deleting a person :
delete INDEX -
Adding a new group :
addGroup n/NAME
e.g.addGroup n/CS2103T -
Deleting a new group :
deleteGroup n/NAME
e.g.deleteGroup n/CS2101 -
Joining a person to group :
join n/NAME g/GROUP
e.g.join n/Derek g/CS2103T -
Removing a person from group :
leave n/NAME g/GROUP
e.g.leave n/Derek g/CS2101 -
Find a person / group / meeting :
find <person|group|meeting> [all/KEYWORDS] [some/KEYWORDS] [none/KEYWORDS] -
Selecting a group / meeting / person :
select <g|m|p>/INDEX
e.g.select g/1 -
List all groups / meetings / person :
list <group|meeting|person|all>
e.g.list meeting -
Import data :
import [--force] f/FILEPATH -
Export data :
export f/FILEPATH -
Change storage location :
filepath f/FILEPATH







