Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[CS2103T-W08-4] Socius #79

Open
wants to merge 777 commits into
base: master
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
777 commits
Select commit Hold shift + click to select a range
beb6729
Update images
hsiaotingluv Nov 3, 2021
b6a7777
Fix bugs concerning display of statistics pie chart
kevinmingtarja Nov 3, 2021
c8e07bb
Fix checkstyle
kevinmingtarja Nov 3, 2021
814bd03
Merge pull request #278 from e0543978/branch-FixBugs
kevinmingtarja Nov 3, 2021
5232f0f
Add more images
hsiaotingluv Nov 3, 2021
4b85cfb
Fix UG based on mock PE
kevinmingtarja Nov 3, 2021
3184240
Add export command usage to its error msg
kevinmingtarja Nov 3, 2021
c960615
Merge pull request #269 from bklimey/v1.4-fix-issues
bklimey Nov 3, 2021
902f379
Add export command to DG
kevinmingtarja Nov 3, 2021
d428755
Merge from ht/developer-guide
kevinmingtarja Nov 3, 2021
caebd86
Re-add export command in DG
kevinmingtarja Nov 3, 2021
7d88dce
Fix input suggestion in DG
kevinmingtarja Nov 3, 2021
21e1783
Merge branch 'AY2122S1-CS2103T-W08-4:master' into master
e0543978 Nov 4, 2021
7949c06
Merge pull request #270 from hsiaotingluv/developer-guide
hsiaotingluv Nov 4, 2021
7c2c788
Merge branch 'master' into user-guide
hsiaotingluv Nov 4, 2021
6d6a65c
Merge pull request #280 from hsiaotingluv/user-guide
hsiaotingluv Nov 4, 2021
00b5e32
Merge pull request #277 from choonyongchan/branch-prefix
choonyongchan Nov 4, 2021
6a20c46
Merge pull request #273 from choonyongchan/branch-duplicateNames
choonyongchan Nov 4, 2021
59f106d
Merge branch 'master' into fix/ug
kevinmingtarja Nov 4, 2021
5f5a93a
Fix Index's Integer.MAX_INT Bug
choonyongchan Nov 4, 2021
e2516e9
Add alias command in DG along with its diagrams
kevinmingtarja Nov 4, 2021
926a880
Update PPP
hsiaotingluv Nov 4, 2021
a415cd6
Merge branch 'master' into Branch-UpdateDG
e0543978 Nov 4, 2021
f486e90
Merge pull request #275 from e0543978/Branch-UpdateDG
e0543978 Nov 4, 2021
04f9aca
Merge branch 'AY2122S1-CS2103T-W08-4:master' into master
e0543978 Nov 4, 2021
7cc40ee
Adjust right column of GUI to better display "help" message
e0543978 Nov 4, 2021
1c8f2e7
Merge branch 'master' of https://github.com/e0543978/tp
e0543978 Nov 4, 2021
095018c
Merge branch 'master' into Branch-FixGUIBug
e0543978 Nov 4, 2021
77c5930
Fix indentation of help message
e0543978 Nov 4, 2021
eec5228
Merge pull request #265 from kevinmingtarja/fix/export
kevinmingtarja Nov 4, 2021
7235070
Merge branch 'AY2122S1-CS2103T-W08-4:master' into master
e0543978 Nov 4, 2021
416b0d6
Give credits for code reuse
e0543978 Nov 4, 2021
d941ea8
Fix checkstyle issue
e0543978 Nov 4, 2021
05225f6
Plenty of Small Bug Fixes
choonyongchan Nov 4, 2021
168f5e6
Merge branch 'master' into branch-maxIntFix
choonyongchan Nov 4, 2021
b72959b
Fix Invalid Tutorial Group Format Bug
choonyongchan Nov 4, 2021
1edadad
Update StatisticsCommandParser.java
choonyongchan Nov 4, 2021
a5e0ead
Merge branch 'master' into fix/bugs
choonyongchan Nov 4, 2021
522d7fc
Merge pull request #264 from kevinmingtarja/fix/bugs
choonyongchan Nov 4, 2021
2ab1580
Minor improvements
kevinmingtarja Nov 4, 2021
826c999
Merge pull request #282 from kevinmingtarja/edit/dg
kevinmingtarja Nov 4, 2021
609c420
Merge pull request #284 from hsiaotingluv/project-portfolio-page
choonyongchan Nov 4, 2021
731b1b3
Update UserGuide.md
kevinmingtarja Nov 4, 2021
fdc7b7d
Merge pull request #286 from e0543978/Branch-CodeReuse
e0543978 Nov 4, 2021
0bcd805
Support string tag colour input
e0543978 Nov 4, 2021
1e7fdba
Merge pull request #268 from kevinmingtarja/fix/stats
choonyongchan Nov 4, 2021
814cac2
Merge pull request #266 from kevinmingtarja/fix/suggest
choonyongchan Nov 4, 2021
da53b07
Merge pull request #285 from e0543978/Branch-FixGUIBug
choonyongchan Nov 4, 2021
f1d2174
Merge pull request #288 from e0543978/Branch-TagColourPatch
e0543978 Nov 5, 2021
6aa329c
Remove Sort for Tag and SocialHandle
bklimey Nov 5, 2021
cc9b46e
Merge branch 'master' into branch-maxIntFix
choonyongchan Nov 5, 2021
ac4c8a9
Update Find command message
bklimey Nov 5, 2021
82a430a
Fix multiplicity of SocialHandle in diagram
bklimey Nov 5, 2021
4bcd03e
Move ImageStorage from storage to commons package and rename to Image…
bklimey Nov 5, 2021
0230193
Update UserGuide
bklimey Nov 5, 2021
94a6d0b
Fix style issue
bklimey Nov 5, 2021
57441b8
Minor fix to UG
bklimey Nov 5, 2021
f3f38ff
Update message for each model
bklimey Nov 5, 2021
bea8f32
Inplement Specificity of Error Message
choonyongchan Nov 5, 2021
9deae84
Merge pull request #281 from kevinmingtarja/fix/ug
kevinmingtarja Nov 5, 2021
02529a9
Merge pull request #287 from choonyongchan/branch-maxIntFix
e0543978 Nov 5, 2021
8f68736
Merge branch 'master' into branch-specificError
kevinmingtarja Nov 5, 2021
d933238
Update DeveloperGuide.md
kevinmingtarja Nov 5, 2021
5b9a15b
Update chenhsiaoting.md
kevinmingtarja Nov 5, 2021
a4a9ad3
Update DeleteMultipleCommandParser.java
kevinmingtarja Nov 5, 2021
6d08232
Fix message formatting
bklimey Nov 5, 2021
0993cda
Fix Formatting Issues
choonyongchan Nov 5, 2021
5df5149
Merge branch 'master' into v1.4-fix-issues
bklimey Nov 5, 2021
b61f16e
Update test cases
bklimey Nov 5, 2021
84fa95a
Fix Gradle Errors
choonyongchan Nov 5, 2021
01bc224
Merge pull request #290 from choonyongchan/branch-specificError
choonyongchan Nov 5, 2021
2d51f2c
Merge branch 'master' into v1.4-fix-issues
bklimey Nov 5, 2021
e4c5255
Merge pull request #289 from bklimey/v1.4-fix-issues
bklimey Nov 5, 2021
bebc11e
Fix import export file directory
kevinmingtarja Nov 5, 2021
c7e9be5
Fix tests
kevinmingtarja Nov 5, 2021
7a077cb
Fix checkstyle
kevinmingtarja Nov 5, 2021
9c3607d
Fix paths for windows
kevinmingtarja Nov 5, 2021
4d0fb31
Fix paths for import export cmd
kevinmingtarja Nov 5, 2021
8b12c69
Use absolute paths
kevinmingtarja Nov 5, 2021
c1425f8
Edit import command picture in DG
kevinmingtarja Nov 5, 2021
b22c9a1
Fix alias command error msg
kevinmingtarja Nov 5, 2021
794f8ef
Merge remote-tracking branch 'origin/v1.4' into v1.4-fix-issues
bklimey Nov 5, 2021
5b00b27
Add stats command to DG
kevinmingtarja Nov 6, 2021
c7f1fb5
Minor fix
kevinmingtarja Nov 6, 2021
d3e696c
Merge pull request #313 from kevinmingtarja/fix/alias
choonyongchan Nov 6, 2021
2367da4
Change PPP file name
hsiaotingluv Nov 6, 2021
744d8cf
Merge github.com:AY2122S1-CS2103T-W08-4/tp into project-portfolio-page
hsiaotingluv Nov 6, 2021
93a2d6a
Help command message format
hsiaotingluv Nov 6, 2021
cd30de6
Help command message format
hsiaotingluv Nov 6, 2021
f626b08
Help command message format
hsiaotingluv Nov 6, 2021
af73bff
Make sort case insensitive
hsiaotingluv Nov 6, 2021
ff50f15
Sort null value at the back
hsiaotingluv Nov 6, 2021
3f39a16
Sort command error message
hsiaotingluv Nov 6, 2021
f6080cb
Update PPP Overview
e0543978 Nov 6, 2021
d77806a
Standardise command message usage
hsiaotingluv Nov 6, 2021
15aed0a
Checkstyle error
hsiaotingluv Nov 6, 2021
0cef45c
Add message each parameter to be on a new line
hsiaotingluv Nov 6, 2021
730fde7
Edit PPP
hsiaotingluv Nov 6, 2021
67dd8f4
Edit PPP
hsiaotingluv Nov 6, 2021
7292e7d
Disallow special character for import export filenames
kevinmingtarja Nov 6, 2021
f0c02b9
Refactor file name validation and add tests
kevinmingtarja Nov 6, 2021
06313e0
Merge pull request #324 from e0543978/Branch-DocumentationPPP
kevinmingtarja Nov 6, 2021
e5250dc
Edit PPP
kevinmingtarja Nov 6, 2021
c2b8fbb
Fix uml file
bklimey Nov 7, 2021
1f4649d
Update DG
bklimey Nov 7, 2021
cfa22da
Merge branch 'master' into v1.4-update-DG
bklimey Nov 7, 2021
91a3c6c
Merge pull request #322 from bklimey/v1.4-fix-issues
kevinmingtarja Nov 7, 2021
a8b3cc1
Update PPP
bklimey Nov 7, 2021
2ae9a2b
Merge branch 'master' into v1.4-ppp
bklimey Nov 7, 2021
390439b
Update limboonkee.md
bklimey Nov 7, 2021
72e578e
Remove trailing spaces
kevinmingtarja Nov 7, 2021
36761de
Fix bug
bklimey Nov 7, 2021
5a846b4
Merge pull request #325 from kevinmingtarja/add/ppp
e0543978 Nov 7, 2021
6139a4a
Merge pull request #312 from kevinmingtarja/edit/ug
e0543978 Nov 7, 2021
b1dfe4d
Update UserGuide.md
choonyongchan Nov 7, 2021
af07ce4
Update DeveloperGuide.md
bklimey Nov 7, 2021
48872a1
Update and rename PPP
bklimey Nov 7, 2021
b9dfb40
Resolve merge conflict
hsiaotingluv Nov 7, 2021
18d6125
Merge pull request #323 from hsiaotingluv/project-portfolio-page
hsiaotingluv Nov 7, 2021
a29b59c
Update PPP
hsiaotingluv Nov 7, 2021
f91e274
Merge branch 'master' into branch-UG
choonyongchan Nov 8, 2021
dd4589c
Merge pull request #326 from bklimey/v1.4-ppp
bklimey Nov 8, 2021
78bbd65
Update UserGuide.md
choonyongchan Nov 8, 2021
9ad7f9c
Merge pull request #330 from hsiaotingluv/master
choonyongchan Nov 8, 2021
6df2f75
Update nathanwonghungrui.md
e0543978 Nov 8, 2021
a611e19
Fix bug for social handle find
bklimey Nov 8, 2021
6acb45b
Update find message
bklimey Nov 8, 2021
ec1cccd
Merge branch 'master' into v1.4-fix-find-command-social-handle
bklimey Nov 8, 2021
32300fb
Fix style issue and test cases
bklimey Nov 8, 2021
41a94b3
Merge remote-tracking branch 'origin/v1.4-fix-find-command-social-han…
bklimey Nov 8, 2021
1e13ae4
Update PPP
hsiaotingluv Nov 8, 2021
4887987
Merge pull request #332 from bklimey/v1.4-fix-find-command-social-handle
bklimey Nov 8, 2021
b200fa2
Update nathanwonghungrui.md
e0543978 Nov 8, 2021
c6f3801
Update Help Command message
hsiaotingluv Nov 8, 2021
a390914
Merge pull request #272 from bklimey/v1.4-update-DG
kevinmingtarja Nov 8, 2021
f0feadc
Merge pull request #314 from kevinmingtarja/dg/stats
kevinmingtarja Nov 8, 2021
964a212
Added contributions to PPP, rename PPP file
kevinmingtarja Nov 8, 2021
9745f6c
Minor fix
kevinmingtarja Nov 8, 2021
9bcde2e
Update sort command error message and usage message
hsiaotingluv Nov 8, 2021
f20e4a3
Merge pull request #334 from hsiaotingluv/master
hsiaotingluv Nov 8, 2021
ded6bf9
Update PPP
hsiaotingluv Nov 8, 2021
c15789b
Merge github.com:AY2122S1-CS2103T-W08-4/tp
hsiaotingluv Nov 8, 2021
520024d
Remove screenshot in PPP and update formatting
bklimey Nov 8, 2021
ed0193f
Merge pull request #337 from hsiaotingluv/master
hsiaotingluv Nov 8, 2021
3f3fb49
Merge pull request #335 from kevinmingtarja/edit/ppp
kevinmingtarja Nov 8, 2021
0a16413
Merge branch 'master' into Branch-UpdatePPP
e0543978 Nov 8, 2021
d6f6a8b
Fix writing
bklimey Nov 8, 2021
3f75cc5
Fix writing
bklimey Nov 8, 2021
0b49bd9
Merge pull request #338 from bklimey/v1.4-fix-doc
bklimey Nov 8, 2021
6c58fec
Fix formatting
bklimey Nov 8, 2021
f4a23a4
Fix stat command with empty argument
kevinmingtarja Nov 8, 2021
136548c
Delete kevinnathanaelmingtarja.md
kevinmingtarja Nov 8, 2021
2e6ae62
Fix reposense link in PPP
kevinmingtarja Nov 8, 2021
8699f10
Modify error message
kevinmingtarja Nov 8, 2021
2b32e71
Merge branch 'fix/stat' of github.com:kevinmingtarja/tp into fix/stat
kevinmingtarja Nov 8, 2021
8b15afc
Update chanchoonyong.md
choonyongchan Nov 8, 2021
fb29866
Merge branch 'master' into branch-UG
choonyongchan Nov 8, 2021
3ff3b6e
Fix Some Bugs
choonyongchan Nov 8, 2021
806d5fa
Update UserGuide.md
choonyongchan Nov 8, 2021
8b295b1
Update nathanwonghungrui.md
e0543978 Nov 8, 2021
8919fb3
Rename PPP file
e0543978 Nov 8, 2021
1db16a7
Fix UI bug
e0543978 Nov 8, 2021
3835afb
Add label for person fields
e0543978 Nov 8, 2021
881a70b
Merge pull request #343 from e0543978/Branch-UpdatePPP
e0543978 Nov 8, 2021
d895a9b
Merge pull request #345 from e0543978/Branch-FixBugs
e0543978 Nov 8, 2021
8f61759
Merge pull request #340 from bklimey/v1.4-fix-doc
bklimey Nov 8, 2021
1385394
Merge pull request #339 from bklimey/v1.4-fix-dg
e0543978 Nov 8, 2021
99d9507
Merge pull request #342 from kevinmingtarja/fix/link
e0543978 Nov 8, 2021
5279e5e
Update DG
hsiaotingluv Nov 8, 2021
95b2ffe
Fix PPP issues
e0543978 Nov 8, 2021
1257285
Update Ui.png image
e0543978 Nov 8, 2021
133162f
Update chanchoonyong.md
choonyongchan Nov 8, 2021
23ce7ac
Update UserGuide.md
choonyongchan Nov 8, 2021
a94e674
Update message
bklimey Nov 8, 2021
cd09782
Merge pull request #350 from choonyongchan/branch-PPP
choonyongchan Nov 8, 2021
5378fb3
Merge pull request #349 from e0543978/Branch-ProductWebsiteEdits
choonyongchan Nov 8, 2021
bde0449
Merge pull request #347 from hsiaotingluv/master
choonyongchan Nov 8, 2021
e4981b1
Merge pull request #341 from kevinmingtarja/fix/stat
choonyongchan Nov 8, 2021
4f9ccab
Rename Choon Yong PPP
choonyongchan Nov 8, 2021
1fdd1f1
Update chanchoonyong.md
choonyongchan Nov 8, 2021
544b53a
Merge pull request #311 from kevinmingtarja/fix/import
choonyongchan Nov 8, 2021
6a84fee
Merge pull request #351 from choonyongchan/master
choonyongchan Nov 8, 2021
fddfa02
Merge branch 'master' into branch-PPP
choonyongchan Nov 8, 2021
47d4e78
Merge pull request #352 from choonyongchan/branch-PPP
choonyongchan Nov 8, 2021
a720926
Merge branch 'master' into branch-UG
choonyongchan Nov 8, 2021
7e70c83
Further Compact PPP
choonyongchan Nov 8, 2021
d9b95cf
Standardize message
bklimey Nov 8, 2021
ccc86ce
Fix style issue
bklimey Nov 8, 2021
a7b0db6
Fix style issue
bklimey Nov 8, 2021
5e24b2c
Standardize message
bklimey Nov 8, 2021
91af757
Merge pull request #353 from choonyongchan/branch-PPP
e0543978 Nov 8, 2021
fdbb3dd
Update UserGuide.md
choonyongchan Nov 8, 2021
e7d1734
Update choonyongchan.md
choonyongchan Nov 8, 2021
6ffc85e
Merge pull request #328 from choonyongchan/branch-UG
choonyongchan Nov 8, 2021
f0bafb8
Merge branch 'master' into branch-PPP
choonyongchan Nov 8, 2021
1894e2a
Update DeveloperGuide.md
choonyongchan Nov 8, 2021
68261b3
Update UserGuide.md
e0543978 Nov 8, 2021
3f6644c
Add Remark Done
choonyongchan Nov 8, 2021
ba55ce2
Include PR link
e0543978 Nov 8, 2021
77db085
Fix bugs with deleting multiple contacts with social handle
hsiaotingluv Nov 8, 2021
1279e74
Merge pull request #348 from e0543978/Branch-PPPUpdate
e0543978 Nov 8, 2021
cab7ee2
Add Tags (Left Diagram)
choonyongchan Nov 8, 2021
fd6b919
Edit Command {Left Diag}
choonyongchan Nov 8, 2021
ad4718c
Format Deletemultiple
hsiaotingluv Nov 8, 2021
8d2feca
Merge pull request #354 from bklimey/v1.4-standardize-message
bklimey Nov 8, 2021
7731e08
Merge pull request #355 from choonyongchan/branch-PPP
e0543978 Nov 8, 2021
674100f
Delete Command (Left Diag)
choonyongchan Nov 8, 2021
67e0aab
Merge pull request #346 from e0543978/Branch-UIPatch
e0543978 Nov 8, 2021
577d70e
Merge pull request #358 from hsiaotingluv/master
bklimey Nov 8, 2021
2b42d63
Merge pull request #356 from choonyongchan/branch-DG
e0543978 Nov 8, 2021
2fed973
Update deletem activity diagram
hsiaotingluv Nov 8, 2021
b58d322
Merge github.com:AY2122S1-CS2103T-W08-4/tp
hsiaotingluv Nov 8, 2021
8e796c3
Minor change
bklimey Nov 8, 2021
71a252c
Clear contacts (Left diagram)
choonyongchan Nov 8, 2021
f9eff2e
Include Delete Command UML Diagram
e0543978 Nov 8, 2021
734e3af
Minor fix
e0543978 Nov 8, 2021
54f4f3e
Update image
e0543978 Nov 8, 2021
edec23c
Merge pull request #360 from AY2122S1-CS2103T-W08-4/bklimey-UG-patch-1
bklimey Nov 8, 2021
84b7356
Merge pull request #362 from e0543978/Branch-MiscChanges
e0543978 Nov 8, 2021
a2badbd
Update UG screenshots
hsiaotingluv Nov 8, 2021
07a3531
Update DeveloperGuide.md
choonyongchan Nov 8, 2021
4f9032e
update readme
hsiaotingluv Nov 8, 2021
cb83e35
Update DeveloperGuide.md
choonyongchan Nov 8, 2021
e6d9600
Merge pull request #361 from choonyongchan/branch-bugFix
choonyongchan Nov 8, 2021
57dd295
Merge pull request #363 from hsiaotingluv/master
hsiaotingluv Nov 8, 2021
2b94f43
Merge pull request #359 from e0543978/Branch-EditUG
kevinmingtarja Nov 8, 2021
9a29be0
update UG
hsiaotingluv Nov 8, 2021
2760b84
Update choonyongchan.md
choonyongchan Nov 8, 2021
1dcef69
Merge pull request #364 from hsiaotingluv/master
choonyongchan Nov 8, 2021
706d9bc
Edits to DG
e0543978 Nov 8, 2021
9c33e30
Merge pull request #365 from choonyongchan/branch-PPP
e0543978 Nov 8, 2021
8dec2b3
Merge pull request #366 from e0543978/Branch-DocEditsa
e0543978 Nov 8, 2021
0a16507
update ug
hsiaotingluv Nov 8, 2021
5892fd7
Remove a few implementations
e0543978 Nov 8, 2021
13c3903
update ug
hsiaotingluv Nov 8, 2021
318f4a1
Merge pull request #368 from e0543978/Branch-DG
hsiaotingluv Nov 8, 2021
6e6fb10
Merge pull request #367 from hsiaotingluv/master
hsiaotingluv Nov 8, 2021
fbdfaa5
update ug
hsiaotingluv Nov 8, 2021
d484409
update dg
hsiaotingluv Nov 8, 2021
9471eac
update dg
hsiaotingluv Nov 8, 2021
6afd56c
Merge github.com:AY2122S1-CS2103T-W08-4/tp
hsiaotingluv Nov 8, 2021
1cd7e74
Fix import export for windows
kevinmingtarja Nov 8, 2021
e098bc9
Merge pull request #369 from hsiaotingluv/master
hsiaotingluv Nov 8, 2021
9533908
update link
hsiaotingluv Nov 8, 2021
5a6842a
Merge pull request #370 from kevinmingtarja/fix/file
kevinmingtarja Nov 8, 2021
96bb9cc
Merge pull request #371 from hsiaotingluv/master
hsiaotingluv Nov 8, 2021
bbc0d72
Fix import export for windows
kevinmingtarja Nov 8, 2021
0d3a53d
update link
hsiaotingluv Nov 8, 2021
55adf7a
Merge pull request #373 from kevinmingtarja/fix/file
kevinmingtarja Nov 8, 2021
4f4b4e6
Merge pull request #372 from hsiaotingluv/master
choonyongchan Nov 8, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Clear contacts (Left diagram)
  • Loading branch information
choonyongchan committed Nov 8, 2021
commit 71a252c3a1dbbab3ea3aa1a3f5b8fe26cb11f078
184 changes: 126 additions & 58 deletions docs/DeveloperGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -193,29 +193,28 @@ Classes used by multiple components are in the `seedu.addressbook.commons` packa
This section describes some noteworthy details on how certain features are implemented.

The features mentioned are:
1. Getting help
2. [Modifying Contacts]((#adding-a-person-add))
1. [Modifying Contacts]((#adding-a-person-add))
1. [Adding a person](#adding-a-person-add) [done]
2. [Adding tags to people](#adding-tags-to-people-addt) [diag]
3. [Adding a remark to a person](#adding-a-remark-to-a-person-remark) [done]
4. [Editing a person](#editing-a-person-edit) [diag]
5. [Deleting a person](#deleting-a-person-delete) [diag]
6. [Deleting multiple person](#delete-multiple-persons)
7. Deleting tags from people
8. Clearing all contacts
3. Viewing contacts
1. Listing all contacts
6. [Deleting multiple person](#delete-multiple-persons-deletem) [done]
7. [Deleting tags from people](#deleting-tags-from-people-deletet) [diag]
8. [Clearing all contacts](#clearing-all-contacts-clear) [diag]
2. Viewing contacts
1. [Listing all contacts](#listing-all-contacts-list)
2. [Finding people](#finding-persons)
3. [Sorting people](#sorting-persons)
4. [Viewing statistics](#viewing-statistics)
4. Sharing contacts
3. Sharing contacts
1. [Importing contacts](#import-json-file)
2. [Exporting contacts](#export-json-file)
5. [Aliasing commands `alias`](#aliasing-commands-alias)
6. [Exiting Socius `exit`](#exiting-socius-exit)
7. [Saving contacts](#saving-the-data)
8. [Accessing command history](#command-history)
9. [Input Suggestion](#input-suggestion)
4. [Aliasing commands `alias`](#aliasing-commands-alias)
5. [Exiting Socius `exit`](#exiting-socius-exit)
6. [Saving contacts](#saving-the-data)
7. [Accessing command history](#command-history)
8. [Input Suggestion](#input-suggestion)

### Adding a person `add`

Expand Down Expand Up @@ -313,7 +312,7 @@ The following activity diagram summarizes what happens when a user executes a ed

![EditActivityDiagram](images/RemarkActivityDiagram.png)

The edit mechanism will edit any contact details of the person specified by a given index. If the edited person already exists, the edit command will throw an error.
The edit mechanism will edit any contact details of the person specified by a given index. If the edited person already exists, the edit command will throw an exception.

During `EditCommand#execute`, a new `Person` object will be created. The values will remain the same for all of a person contact details (e.g. `Name`) except for those which are specified for change.

Expand Down Expand Up @@ -425,97 +424,166 @@ The following sequence diagram shows how the RemarkCommand mechanism works:
* Pros: It uses less memory and thus may run faster.
* Cons: If the execution is stopped halfway, then the newly updated person will contain wrong information. It will also be difficult to debug.

### Finding Persons
### Delete multiple people `deletem`

#### Implementation

The find mechanism is facilitated by FindCommand and FindCommandParser. It allows users to find contacts using any of their contact details.
The delete multiple people mechanism will delete contacts specified by a given set of keywords. Any contacts containing **all** the specified keywords will be deleted.

It works by filtering for the contacts in the `model` and deleting them one by one.

#### Usage

Given below is an example usage scenario of how the findCommand mechanism behaves at each step.
The following activity diagram briefly summarizes what happens when a user executes the `DeleteMultipleCommand` to delete contacts by keywords:

1. The user first launches Socius. The user can see the details of his/her contacts once Socius starts.
![DeleteMultipleActivityDiagram](images/DeleteMultipleActivityDiagram.png)

2. The user finds a new contact by one or more contact details, for example, Name and Tag.
Given below is an example usage scenario and how the deleting multiple person mechanism behaves at each step.

3. The user executes the command "find n/[NAME] t/[TAG]" to find people with that Name and has that Tag.
Step 1. The user launches the application.

4. The `parse` function of FindCommandParse will parse the input and instantiate a new `Predicate` object for each
argument present. At the end, all `Predicate` objects are combined using the `MultiplePredicate` object.
Step 2. The user executes `deletem t/friends g/m` command to delete all contacts with the tag `friends` and gender `M`.

5. The command communicates with the `Model` to filter out the found person from the existing AddressBook.
Step 3. This will call `DeleteMultipleCommandParser#parse` which will then parse the arguments provided.
Within `DeleteMultipleCommandParser#parse`, `TagContainsKeywordsPredicate` and `GenderContainsKeywordsPredicate` will be created using the tags and gender. These will then be added into the list of predicates.

6. The result of the command execution is encapsulated as a `CommandResult` object which is returned back from `Logic`.
Step 4. A new `DeleteMultipleCommand` object will be created with its `predicate` set to the one defined in the previous step.
The following sequence diagram briefly shows how the parser operation works (`MultiplePredicates` not shown):

The following sequence diagram shows how the FindCommand function works:
![DeleteMultipleParserSequenceDiagram](images/DeleteMultipleParserSequenceDiagram.png)

![UpdatedAddCommandSeqDiagram](images/FindCommandDiagram.png)
Step 5. `DeleteMultipleCommand#execute` will filter the model with the provided list of predicates and get back the filtered list.

The following activity diagram summarizes what happens when a user executes a new command:
Step 6. It will then iterate through the list and call `deletePerson` to remove contact with matching keywords one by one.

![UpdatedAddCommand](images/UpdatedFindCommand.png)#
Step 7. After deleting contacts, it will call `updateFilteredPersonList` on model to list all the remaining contacts.

#### Design Considerations
The following sequence diagram shows how the deleting multiple person mechanism works:

**Aspect: How contacts are saved with multiple arguments:**
![DeleteMultipleSequenceDiagram](images/DeleteMultipleSequenceDiagram.png)

#### Design Considerations

* **Alternative 1 (current choice):** Only include people who contain all the specified contact details
* Pros: Intuitive feature. Similar to a Filter function in popular apps today.
* Cons: Requires you to be familiar of the people in your contact list.
* **Alternative 1 (current choice):** Deletes multiple contacts from the list given multiple keywords.
* Pros: Convenient for user to mass delete contacts with one command instead of removing one by one.
* Cons: Challenging to implement as it requires parsing and checking multiple dynamic parameters. It also may have performance issues in terms of memory usage.

* **Alternative 2:** Include people who contain at least one of the specified contact details.
* Pros: Good for users who want to broadly search for eligible friends
* Cons: Not very intuitive
* **Alternative 2:** Deletes multiple contacts from the list given a single keyword.
* Pros: Less overlapping and easier to debug. It also uses less memory and thus may run faster.
* Cons: Reduced flexibility for users when deleting contacts as they can only input one single keyword.

### Delete multiple persons
### Delete tags from people `deletet`

#### Implementation

The deleting multiple person mechanism will delete contacts specified by a given set of keywords. Any contacts containing **all** the specified keywords will be deleted.
The delete tag mechanism is facilitated by DeleteTagCommand and DeleteTagCommandParser. It allows users to delete tags from a person
in their contact list by specifying the person's index number and the tags to add.

It works by filtering for the contacts in the `model` and deleting them one by one.
#### Usage

Given below is an example usage scenario and how the delete tag mechanism behaves at each step.

Step 1. The user executes `deletet 1 t/friend` command to delete the 'friend' tag from the first person in the displayed contact list.
If the person does not has the 'friend' tag, the DeleteTagCommand throws an exception.

Step 1.1. Alternatively, the user may execute `deletet all t/friend` command to delete the 'friend' tag from everyone in the displayed
contact list. If no one has the 'friend' tag, the DeleteTagCommand throws an exception.

Step 2. `DeleteTagCommandParser#parse` will then parse the arguments provided. A new `DeleteTagCommand` object will be created after parsing.

The following sequence diagram briefly shows how the DeleteTagCommandParser operation works:

![RemarkParserSequenceDiagram](images/RemarkParserSequenceDiagram.png)

Step 3. The command communicates with the `Model` to delete the person from the existing AddressBook.

Step 4. The result of the command execution is encapsulated as a `CommandResult` object which is returned from `Logic`.

The following sequence diagram shows how the DeleteTagCommand mechanism works:

![UpdatedAddTagCommandSeqDiagram](images/AddCommandDiagram.png)

#### Design considerations:

**Aspect: How to support adding tags for one person and for everyone within AddTagCommand:**

* **Alternative 1 (current choice):** The `deletet all` command should fail only if no one has the specified tag to delete.
* Pros: Intuitive.
* Cons: May result in unintentional deletion of tags for the careless user.

* **Alternative 2:** The `deletet all` command should pass only if everyone has the specified tag to delete.
* Pros: Minimise unintentional deletion of tags.
* Cons: Less user-friendly, since the user have to make sure all users that are considered must carry that tag to delete.

### Clearing all contacts `clear`

#### Implementation

The clearing all contacts mechanism will delete all contacts from Socius.

#### Usage

The following activity diagram briefly summarizes what happens when a user executes the `DeleteMultipleCommand` to delete contacts by keywords:
The following activity diagram briefly summarizes what happens when a user executes the `ClearCommand` to clear all contacts:

![DeleteMultipleActivityDiagram](images/DeleteMultipleActivityDiagram.png)

Given below is an exmaple usage scenario and how the deleting multiple person mechanism behaves at each step.
Given below is an example usage scenario and how the clear all contacts mechanism behaves at each step.

Step 1. The user launches the application.

Step 2. The user executes `deletem t/friends g/m` command to delete all contacts with the tag `friends` and gender `M`.
Step 2. The user executes the `clear` command to clear all contacts.

Step 3. This will call `DeleteMultipleCommandParser#parse` which will then parse the arguments provided.
Within `DeleteMultipleCommandParser#parse`, `TagContainsKeywordsPredicate` and `GenderContainsKeywordsPredicate` will be created using the tags and gender. These will then be added into the list of predicates.
Step 3. `ClearCommand#execute` will replace the model with a blank contact list.

Step 4. A new `DeleteMultipleCommand` object will be created with its `predicate` set to the one defined in the previous step.
The following sequence diagram briefly shows how the parser operation works (`MultiplePredicates` not shown):
The following sequence diagram shows how the clearing all contacts mechanism works:

![DeleteMultipleParserSequenceDiagram](images/DeleteMultipleParserSequenceDiagram.png)
![DeleteMultipleSequenceDiagram](images/DeleteMultipleSequenceDiagram.png)

Step 5. `DeleteMultipleCommand#execute` will filter the model with the provided list of predicates and get back the filtered list.
### Finding Persons

Step 6. It will then iterate through the list and call `deletePerson` to remove contact with matching keywords one by one.
#### Implementation

Step 7. After deleting contacts, it will call `updateFilteredPersonList` on model to list all the remaining contacts.
The find mechanism is facilitated by FindCommand and FindCommandParser. It allows users to find contacts using any of their contact details.

The following sequence diagram shows how the deleting multiple person mechanism works:
#### Usage

![DeleteMultipleSequenceDiagram](images/DeleteMultipleSequenceDiagram.png)
Given below is an example usage scenario of how the findCommand mechanism behaves at each step.

1. The user first launches Socius. The user can see the details of his/her contacts once Socius starts.

2. The user finds a new contact by one or more contact details, for example, Name and Tag.

3. The user executes the command "find n/[NAME] t/[TAG]" to find people with that Name and has that Tag.

4. The `parse` function of FindCommandParse will parse the input and instantiate a new `Predicate` object for each
argument present. At the end, all `Predicate` objects are combined using the `MultiplePredicate` object.

5. The command communicates with the `Model` to filter out the found person from the existing AddressBook.

6. The result of the command execution is encapsulated as a `CommandResult` object which is returned back from `Logic`.

The following sequence diagram shows how the FindCommand function works:

![UpdatedAddCommandSeqDiagram](images/FindCommandDiagram.png)

The following activity diagram summarizes what happens when a user executes a new command:

![UpdatedAddCommand](images/UpdatedFindCommand.png)#

#### Design Considerations

* **Alternative 1 (current choice):** Deletes multiple contacts from the list given multiple keywords.
* Pros: Convenient for user to mass delete contacts with one command instead of removing one by one.
* Cons: Challenging to implement as it requires parsing and checking multiple dynamic parameters. It also may have performance issues in terms of memory usage.
**Aspect: How contacts are saved with multiple arguments:**


* **Alternative 1 (current choice):** Only include people who contain all the specified contact details
* Pros: Intuitive feature. Similar to a Filter function in popular apps today.
* Cons: Requires you to be familiar of the people in your contact list.

* **Alternative 2:** Include people who contain at least one of the specified contact details.
* Pros: Good for users who want to broadly search for eligible friends
* Cons: Not very intuitive


* **Alternative 2:** Deletes multiple contacts from the list given a single keyword.
* Pros: Less overlapping and easier to debug. It also uses less memory and thus may run faster.
* Cons: Reduced flexibility for users when deleting contacts as they can only input one single keyword.

### Sorting persons

Expand Down