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
1. Introduction
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!
2. Quick Start
-
Ensure you have Java version
9
or later installed in your computer. -
Download the latest
meetingbook.jar
here. -
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. typinghelp
and pressing Enter will open the help window. -
Some example commands you can try:
-
list
: Display all existing members on the display. -
addMember
n/<name> p/<phone> e/<email> a/<address>
: adds a member with the parameters specified to the MeetingBook. -
delete
3
: deletes the 3rd person shown in the current person list. -
exit
: exits the app.
-
-
Refer to Section 4, “Features” for details of each command.
3. User Interface
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
4. Features
Command Format
-
Words in
UPPER_CASE
are the parameters to be supplied by the user e.g. inedit 1 e/EMAIL p/PHONE
,EMAIL
andPHONE
are 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/Groupmate
orn/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
,group
andmeeting
are parameter options that can be used aslist group
,list person
orlist 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/project
etc. -
Parameters can be in any order e.g. if the command specifies `n/NAME p/PHONE, p/PHONE n/NAME is also acceptable.
4.1. Viewing help : help
Format: help
4.2. Adding a new member: addMember
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
4.3. Editing a person : edit
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.
4.4. Deleting a person: delete/del
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.
4.5. Adding a new group: addGroup
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.
4.6. Deleting a group: deleteGroup
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.
4.7. Sorting the list of displayed persons: sort
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>
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.
4.8. Finding a group / person / meeting: find
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]
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 ofyu
orli
. (Refer to diagram above)
-
find p n/Alex Bernice
: finds all persons whose name does not containAlex
orBernice
(Refer to diagram above) -
find p Betty Charles
: finds all persons whose name containsBetty
andCharles
. -
find p s/David Eric n/James
: finds all persons whose name contains one ofDavid
orEric
, 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 containsteam
and whose title does not containschool
. -
find meeting s/official important
: finds all meetings whose title contains one ofofficial
orimportant
. -
find m a/urgent n/basketball
: finds all meetings whose titles containsurgent
and whose title does not containbasketball
.
4.9. Selecting a group / person / meeting: select
Format: select <p|g|m>/INDEX
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.
4.10. Schedule meetings: meet
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)Figure 1. Result of the command, note the meeting 'Demo Rehearsal'.
-
-
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)Figure 2. Result of the command, note the meeting 'Demo Rehearsal'. -
meet Presentation2101 n/Emergency Meeting t/26-10-2018@12:30 l/COM1-0218 d/Some slides are wrong
(This overwritesDemo Rehearsal
withEmergency Meeting
)Figure 3. Result of the command, note the 'Emergency Meeting' now replaces 'Demo Rehearsal'.
-
-
Example 3:
-
meet OtherGroup n/Emergency Meeting t/26-10-2018@12:30 l/COM1-0218 d/Some slides are wrong
(This fails becauseOtherGroup
is not in the MeetingBook)Figure 4. Result of the command, note the error message'.
-
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.
|
4.11. Cancel meetings: cancel
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 .
|
4.12. Joining a person to group: join
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. |
4.13. Removing a person from group: leave
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. |
4.14. Listing all groups / meetings / persons : list
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.
4.15. Importing data : import
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.
4.16. Exporting data : export
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.
4.17. Changing Storage Location: filepath
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
.
4.18. Saving the data
MeetingBook data are saved in the hard disk automatically after any command that changes the data.
4.19. Autocomplete [coming in v2.0]
To assist user to speed up typing of command, user can <TAB> to autocomplete the command.
4.20. Encrypting data files [coming in v2.0]
{explain how the user can enable/disable data encryption}
5. FAQ
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.
6. Command Summary
-
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