Skip to content

Commit f0d3f20

Browse files
committed
Merge remote-tracking branch 'upstream/master' into finalVersion
2 parents 38636f1 + b57cb4a commit f0d3f20

7 files changed

Lines changed: 215 additions & 121 deletions

File tree

docs/DeveloperGuide.md

Lines changed: 153 additions & 68 deletions
Large diffs are not rendered by default.

docs/UserGuide.md

Lines changed: 27 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,9 @@ their profile pictures.
3030

3131
* **`listp`** : Lists all contacts.
3232

33-
* **`add`**`n/John Doe ph/98765432 e/johnd@example.com a/John street, block 123, #01-01` : Adds a contact named `John Doe` to MeetBuddy.
33+
* **`addp`**`n/John Doe ph/98765432 e/johnd@example.com a/John street, block 123, #01-01` : Adds a contact named `John Doe` to MeetBuddy.
3434

35-
* **`delete`**`3` : Deletes the 3rd contact shown in the current list.
35+
* **`deletep`**`3` : Deletes the 3rd contact shown in the current list.
3636

3737
* **`exit`** : Exits the app.
3838

@@ -122,7 +122,7 @@ If your changes to the data file makes its format invalid, MeetBuddy will discar
122122

123123
Adds a person to MeetBuddy.
124124

125-
Format: `add n/NAME ph/PHONE_NUMBER e/EMAIL a/ADDRESS [g/GROUP]`
125+
Format: `addp n/NAME [ph/PHONE] [e/EMAIL] [a/ADDRESS] [g/GROUP]...`
126126

127127
<div markdown="span" class="alert alert-primary">:bulb: **Tip:**
128128
A person can have any number of groups (including 0)
@@ -132,8 +132,8 @@ In MeetBuddy we assume that all the persons in the contact list have different n
132132
</div>
133133

134134
Examples:
135-
* `add n/John Doe ph/98765432 e/johnd@example.com a/John street, block 123, #01-01`
136-
* `add n/Betsy Crowe g/CS2103 e/betsycrowe@example.com a/Newgate Prison ph/1234567 g/badminton`
135+
* `addp n/John Doe ph/98765432 e/johnd@example.com a/John street, block 123, #01-01`
136+
* `addp n/Betsy Crowe g/CS2103 e/betsycrowe@example.com a/Newgate Prison ph/1234567 g/badminton`
137137

138138
### Listing all persons : `listp`
139139

@@ -215,9 +215,11 @@ Format: `sortp by/FIELD d/DIRECTION`
215215
* Sort by email : `EMAIL`
216216
* Sort by phone number : `PHONE`
217217
* Sort by address : `ADDRESS`
218+
* These are all case-insensitive
218219
* `DIRECTION` is only restricted to the following cases:
219220
* Sort by ascending alphabetical order : `ASC`
220221
* Sort by descending alphabetical order : `DESC`
222+
* These are all case-insensitive
221223

222224
Examples:
223225
* `sortp by/NAME d/ASC` sorts the persons by name and present the result in ascending alphabetical order.
@@ -282,13 +284,17 @@ Examples:
282284

283285
### Locating meetings: `findm`
284286

285-
Finds meetings whose information contain any of the given keywords.
287+
Finds meetings that satisfy all the given criteria.
286288

287-
Format: `findm [n/NAME] [time/TIME] [desc/DESCRIPTION] [pr/PRIORITY] [g/GROUP]...[p/INDEX OF PERSON RELATED]...`
289+
Format: `findm [n/NAME] [time/TIME]... [desc/DESCRIPTION] [pr/PRIORITY] [g/GROUP]... [p/INDEX OF PERSON RELATED]...`
288290

291+
* Though all fields are optional, we require the user to enter at least one.
289292
* The search is case-sensitive in name searching. e.g `CS2103` will not match `cs2103`
290293
* The order of the searching filed does not matter. e.g. `findm n/CS pr/3` will be the same as `findm pr/3 n/CS`.
291-
* Time field refers to a point of time, as long as this point of time is in between of a meeting's start time and ending time, the search will return this specific meeting.
294+
* Time field refers to a point of time, as long as this point of time is
295+
in between of a meeting's start time and ending time (inclusive),
296+
the search will return this specific meeting.
297+
* The user can enter many times. The meetings will have to satisfy all of them.
292298
* Time field must follow YYYY-MM-DD HH:MM format.
293299
* For other fields, the requirement is the same as addm (Adding a meeting). You can refer to the previous UG instruction.
294300

@@ -309,7 +315,6 @@ Format: `showm INDEX`
309315

310316
### Sorting of meetings : `sortm`
311317

312-
313318
Sorts the meetings displayed according to a specified field.
314319

315320
Format: `sortm by/FIELD d/DIRECTION`
@@ -321,9 +326,11 @@ Format: `sortm by/FIELD d/DIRECTION`
321326
* Sort by end time : `END`
322327
* Sort by priority : `PRIORITY`
323328
* Sort by description : `DESCRIPTION`
329+
* These are all case-insensitive
324330
* `DIRECTION` is only restricted to the following cases:
325331
* Sort by ascending order : `ASC`
326332
* Sort by descending order : `DESC`
333+
* These are all case-insensitive
327334
Examples:
328335
* `sortm by/PRIORITY d/ASC` sorts the meetings by priority and present the result in ascending order.
329336

@@ -334,16 +341,16 @@ Shows a list of all persons and meetings in MeetBuddy.
334341

335342
Format: `list`
336343

337-
## Timetable feature
338-
=======
339344
### Adding persons related for a meeting: `addptm`
340345

341346
Adds persons related to a meeting in MeetBuddy.
342347

343348
Format: `addptm INDEX p/PERSON RELATED INDEX1 [p/PERSON RELATED INDEX2]… ​`
344349
* The index refers to the meeting index, and it **must be a positive integer** 1, 2, 3, …​
345350
* The user must input at least one person related index field.
346-
* Person Related Index refers to the index of the contact list shown in the GUI. The index should be an integer and not out of bounds. If duplicated person index is in the input, the program will automatically remove the duplication.
351+
* Person Related Index refers to the index of the contact list shown in the GUI.
352+
The index should be an integer and not out of bounds. If duplicated person index is in the input,
353+
the program will automatically remove the duplication.
347354

348355
Examples:
349356
* `addptm 1 p/1 p/2 p/2` Adds the person on index 1 and 2 into the contacts related field in meeting 1.
@@ -389,7 +396,10 @@ Examples:
389396
setting a meeting
390397
to 6:44-7:01 might cause display issues from the 7 - 7.01 will not display the date or time. Also even though 15 minute
391398
meetings are allowed to be scheduled, the words will appear squished on the timetable. It is therefore highly
392-
recommended to set your meeting times to be `AT LEAST 30 MINS` and `AT MOST 24 characters` long.
399+
recommended to set your meeting times to be `AT LEAST 30 MINS` and meeting names`AT MOST 24 characters` long.
400+
It is recommended to avoid scheduling your meetings overlapping across 7am (for example, meetings ending at 7:01 am)
401+
to get optimum viewing functionality. A recommended way to schedule meetings is to choose a time between 7am - 5pm.
402+
393403

394404
![An Example of words being squished](images/SquishedTimetable.png)
395405

@@ -423,13 +433,13 @@ Examples:
423433

424434
Action | Format, Examples
425435
--------|------------------
426-
**Add** | `addp n/NAME ph/PHONE_NUMBER e/EMAIL a/ADDRESS [g/GROUP]…​` <br> e.g., `addp n/James Ho ph/22224444 e/jamesho@example.com a/123, Clementi Rd, 1234665 g/CS2106 g/badminton` <br> <br> `addm n/NAME st/START TIME ed/END TIME desc/DESCRIPTION pr/PRIORITY [g/GROUP]...[p/INDEX OF PERSON RELATED]...` <br> e.g., `addm n/CS2103 Lecture st/2021-03-12 14:00 ed/2021-03-12 16:00 desc/Week 7 pr/3 g/lectures g/SoC p/1 p/2`
436+
**Add** | `addp n/NAME [ph/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [g/GROUP]…​` <br> e.g., `addp n/James Ho ph/22224444 e/jamesho@example.com a/123, Clementi Rd, 1234665 g/CS2106 g/badminton` <br> <br> `addm n/NAME st/TIME ed/TIME [desc/DESCRIPTIONS] [pr/PRIORITY] [p/PERSON RELATED INDEX]… [g/GROUP]…` <br> e.g., `addm n/CS2103 Lecture st/2021-03-12 14:00 ed/2021-03-12 16:00 desc/Week 7 pr/3 g/lectures g/SoC p/1 p/2`
427437
**Delete** | `deletep INDEX`<br> e.g., `deletep 3` <br> <br> `deletem INDEX`<br> e.g., `deletem 3`
428438
**Edit** | `editp INDEX [n/NAME] [ph/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [g/GROUP]…​`<br> e.g.,`editp 2 n/James Lee e/jameslee@example.com` <br> <br> `editm INDEX [n/NAME] [st/START TIME] [ed/END TIME] [desc/DESCRIPTION] [pr/PRIORITY] [p/PERSON RELATED INDEX] [g/GROUP]...​`<br> e.g.,`editm 2 n/CS2103 Lecture`
429-
**Find** | `findp KEYWORD [MORE_KEYWORDS]`<br> e.g., `findp James Jake` <br> <br> `findpg KEYWORD [MORE_KEYWORDS]`<br> e.g., `findpg badminton` <br> <br> `findm [n/NAME] [time/TIME] [desc/DESCRIPTION] [pr/PRIORITY] [g/GROUP]...[p/INDEX OF PERSON RELATED]...`<br> e.g., `findm n/CS pr/3` <br>
439+
**Find** | `findp KEYWORD [MORE_KEYWORDS]`<br> e.g., `findp James Jake` <br> <br> `findpg KEYWORD [MORE_KEYWORDS]`<br> e.g., `findpg badminton` <br> <br> `findm [n/NAME] [time/TIME]... [desc/DESCRIPTION] [pr/PRIORITY] [g/GROUP]... [p/INDEX OF PERSON RELATED]...`<br> e.g., `findm n/CS pr/3` <br>
430440
**List** | `list`, `listm`, `listp`
431441
**Sort** | `sortp by/FIELD d/DIRECTION` <br> `sortm by/FIELD d/DIRECTION`
432442
**Help** | `help`
433443
**SetTimetable**| `setTimetable DATE`
434-
**AddPersonRelatedToAMeeting**|`addptm INDEX p/PERSON RELATED INDEX1 p/PERSON RELATED INDEX2… ​`
435-
**DeletePersonRelatedFromAMeeting**|`deletepfm INDEX p/PERSON RELATED INDEX1 p/PERSON RELATED INDEX2… ​`
444+
**AddPersonRelatedToAMeeting**|`addptm INDEX p/PERSON RELATED INDEX1 [p/PERSON RELATED INDEX2]… ​`
445+
**DeletePersonRelatedFromAMeeting**|`deletepfm INDEX p/PERSON RELATED INDEX1 [p/PERSON RELATED INDEX2]… ​`

docs/diagrams/DeleteSequenceDiagram.puml

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
box Logic LOGIC_COLOR_T1
77
participant ":LogicManager" as LogicManager LOGIC_COLOR
88
participant ":MeetBuddyParser" as MeetBuddyParser LOGIC_COLOR
9-
participant ":DeleteCommandParser" as DeleteCommandParser LOGIC_COLOR
10-
participant "d:DeleteCommand" as DeleteCommand LOGIC_COLOR
9+
participant ":DeletePersonCommandParser" as DeletePersonCommandParser LOGIC_COLOR
10+
participant "d:DeletePersonCommand" as DeletePersonCommand LOGIC_COLOR
1111
participant ":CommandResult" as CommandResult LOGIC_COLOR
1212
end box
1313

@@ -21,50 +21,50 @@ activate LogicManager
2121
LogicManager -> MeetBuddyParser : parseCommand("delete 1")
2222
activate MeetBuddyParser
2323

24-
create DeleteCommandParser
25-
MeetBuddyParser -> DeleteCommandParser
26-
activate DeleteCommandParser
24+
create DeletePersonCommandParser
25+
MeetBuddyParser -> DeletePersonCommandParser
26+
activate DeletePersonCommandParser
2727

28-
DeleteCommandParser --> MeetBuddyParser
29-
deactivate DeleteCommandParser
28+
DeletePersonCommandParser --> MeetBuddyParser
29+
deactivate DeletePersonCommandParser
3030

31-
MeetBuddyParser -> DeleteCommandParser : parse("1")
32-
activate DeleteCommandParser
31+
MeetBuddyParser -> DeletePersonCommandParser : parse("1")
32+
activate DeletePersonCommandParser
3333

34-
create DeleteCommand
35-
DeleteCommandParser -> DeleteCommand
36-
activate DeleteCommand
34+
create DeletePersonCommand
35+
DeletePersonCommandParser -> DeletePersonCommand
36+
activate DeletePersonCommand
3737

38-
DeleteCommand --> DeleteCommandParser : d
39-
deactivate DeleteCommand
38+
DeletePersonCommand --> DeletePersonCommandParser : d
39+
deactivate DeletePersonCommand
4040

41-
DeleteCommandParser --> MeetBuddyParser : d
42-
deactivate DeleteCommandParser
41+
DeletePersonCommandParser --> MeetBuddyParser : d
42+
deactivate DeletePersonCommandParser
4343
'Hidden arrow to position the destroy marker below the end of the activation bar.
44-
DeleteCommandParser -[hidden]-> MeetBuddyParser
45-
destroy DeleteCommandParser
44+
DeletePersonCommandParser -[hidden]-> MeetBuddyParser
45+
destroy DeletePersonCommandParser
4646

4747
MeetBuddyParser --> LogicManager : d
4848
deactivate MeetBuddyParser
4949

50-
LogicManager -> DeleteCommand : execute()
51-
activate DeleteCommand
50+
LogicManager -> DeletePersonCommand : execute()
51+
activate DeletePersonCommand
5252

53-
DeleteCommand -> Model : deletePerson(1)
53+
DeletePersonCommand -> Model : deletePerson(1)
5454
activate Model
5555

56-
Model --> DeleteCommand
56+
Model --> DeletePersonCommand
5757
deactivate Model
5858

5959
create CommandResult
60-
DeleteCommand -> CommandResult
60+
DeletePersonCommand -> CommandResult
6161
activate CommandResult
6262

63-
CommandResult --> DeleteCommand
63+
CommandResult --> DeletePersonCommand
6464
deactivate CommandResult
6565

66-
DeleteCommand --> LogicManager : result
67-
deactivate DeleteCommand
66+
DeletePersonCommand --> LogicManager : result
67+
deactivate DeletePersonCommand
6868

6969
[<--LogicManager
7070
deactivate LogicManager
2.81 KB
Loading

src/main/java/seedu/address/logic/commands/meetings/AddMeetingCommand.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ public class AddMeetingCommand extends Command {
3131
+ PREFIX_NAME + "NAME "
3232
+ PREFIX_START_TIME + "START TIME "
3333
+ PREFIX_END_TIME + "END TIME "
34-
+ PREFIX_DESCRIPTION + "DESCRIPTION "
35-
+ PREFIX_PRIORITY + "PRIORITY "
34+
+ "[" + PREFIX_DESCRIPTION + "DESCRIPTION] "
35+
+ "[" + PREFIX_PRIORITY + "PRIORITY] "
3636
+ "[" + PREFIX_GROUP + "GROUP]..."
3737
+ "[" + PREFIX_PERSON_CONNECTION + "INDEX OF PERSON RELATED]...\n"
3838
+ "Example: " + COMMAND_WORD + " "
@@ -131,4 +131,3 @@ public boolean equals(Object other) {
131131
&& toAdd.equals(((AddMeetingCommand) other).toAdd));
132132
}
133133
}
134-

src/main/java/seedu/address/logic/commands/meetings/FindMeetingCommand.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,14 @@ public class FindMeetingCommand extends Command {
2828

2929
public static final String COMMAND_WORD = "findm";
3030

31-
public static final String MESSAGE_USAGE = COMMAND_WORD + ": Finds meetings with that has all the "
32-
+ "specified values.\n"
31+
public static final String MESSAGE_USAGE = COMMAND_WORD + ": Finds meetings that meet all the "
32+
+ "specified criteria.\n"
3333
+ "Parameters: "
3434
+ "[" + PREFIX_NAME + "NAME] "
35-
+ "[" + PREFIX_TIME + "TIME] "
35+
+ "[" + PREFIX_TIME + "TIME]... "
3636
+ "[" + PREFIX_DESCRIPTION + "DESCRIPTION] "
3737
+ "[" + PREFIX_PRIORITY + "PRIORITY] "
38-
+ "[" + PREFIX_GROUP + "GROUP]..."
38+
+ "[" + PREFIX_GROUP + "GROUP]... "
3939
+ "[" + PREFIX_PERSON_CONNECTION + "INDEX OF PERSON RELATED]...\n"
4040
+ "Example: " + COMMAND_WORD + " "
4141
+ PREFIX_NAME + "CS2103 Lecture "

src/main/java/seedu/address/logic/commands/persons/AddPersonCommand.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@ public class AddPersonCommand extends Command {
2323
public static final String MESSAGE_USAGE = COMMAND_WORD + ": Adds a person to the address book. "
2424
+ "Parameters: "
2525
+ PREFIX_NAME + "NAME "
26-
+ PREFIX_PHONE + "PHONE "
27-
+ PREFIX_EMAIL + "EMAIL "
28-
+ PREFIX_ADDRESS + "ADDRESS "
26+
+ "[" + PREFIX_PHONE + "PHONE] "
27+
+ "[" + PREFIX_EMAIL + "EMAIL] "
28+
+ "[" + PREFIX_ADDRESS + "ADDRESS] "
2929
+ "[" + PREFIX_GROUP + "GROUP]...\n"
3030
+ "Example: " + COMMAND_WORD + " "
3131
+ PREFIX_NAME + "John Doe "

0 commit comments

Comments
 (0)