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

[v1.5][W11-B4] StardyTogether #82

Open
wants to merge 1,220 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 55 commits
Commits
Show all changes
1220 commits
Select commit Hold shift + click to select a range
1a3a4e6
Fix checkstyle
jingyinno Apr 14, 2018
306126e
Merge branch 'master' into alias-list-11Apr
jingyinno Apr 14, 2018
456957c
Modify test files to binary format
caijun7 Apr 14, 2018
56b484f
Remove encrypted file
caijun7 Apr 14, 2018
a767a64
Remove encrypted file
caijun7 Apr 14, 2018
65be8df
Merge branch 'master' of https://github.com/CS2103JAN2018-W11-B4/addr…
caijun7 Apr 14, 2018
ee15b1d
Modify checkstyle to ignore newline at EOF for XML files
caijun7 Apr 14, 2018
ab9338d
Change to binary file
caijun7 Apr 14, 2018
925dcf2
Remove files
caijun7 Apr 14, 2018
4a3ad84
Update test password
caijun7 Apr 14, 2018
22585cb
Improve code quality
caijun7 Apr 14, 2018
4b2804c
Add PersonDetailsCardTest
yeggasd Apr 14, 2018
b07fa4b
Improve Code Quality
yeggasd Apr 14, 2018
6f31153
Merge branch 'master' into alias-list-11Apr
jingyinno Apr 14, 2018
d51c236
fix codacy issues
jingyinno Apr 14, 2018
dbbc01f
remove unused imports
jingyinno Apr 14, 2018
5db70ef
Remove unused imports
yeggasd Apr 14, 2018
c8f5cb5
Create new event to refresh ui
jingyinno Apr 14, 2018
76d9e85
remove construct as codacy suggested
jingyinno Apr 14, 2018
976d2ec
Add Defensive Programming and Refactor
yeggasd Apr 14, 2018
b2486e7
Add Collate
yeggasd Apr 14, 2018
a9d0e42
Remove unused Lines
yeggasd Apr 14, 2018
409979b
Rename Variables used
yeggasd Apr 14, 2018
4aa7886
Add more sample data
yeggasd Apr 14, 2018
d16ea49
Change comment
yeggasd Apr 14, 2018
47b273d
Refactorof PasswordUImanager to take advantage of Polymorphism
yeggasd Apr 14, 2018
34cbda3
Merge pull request #231 from jingyinno/alias-list-11Apr
jingyinno Apr 14, 2018
da4def1
Merge pull request #28 from CS2103JAN2018-W11-B4/master
jingyinno Apr 14, 2018
efe47a8
Fix test cases error
caijun7 Apr 14, 2018
726898e
Merge branch 'master' of https://github.com/CS2103JAN2018-W11-B4/addr…
caijun7 Apr 14, 2018
7b04988
Fix errors due to merge conflicts
caijun7 Apr 14, 2018
e952804
Remove redundant clean up
caijun7 Apr 14, 2018
e76f08f
Fix checkstyle
caijun7 Apr 14, 2018
de72570
Improve code quality
caijun7 Apr 14, 2018
c8bbcc3
Refactor code
caijun7 Apr 14, 2018
784156f
Fix checkstyle
caijun7 Apr 14, 2018
22e34e8
alias sys test
jingyinno Apr 14, 2018
55b43c8
Remove redundant codes
caijun7 Apr 14, 2018
37d4308
fix undo redo test
jingyinno Apr 14, 2018
ba0c562
change assert design to take in alias object
jingyinno Apr 14, 2018
606ba27
fix infoPanel throwing error
jingyinno Apr 14, 2018
dceeba4
Add test cases for GoogleDriveStorage
caijun7 Apr 14, 2018
666089f
new gui alias list test
jingyinno Apr 14, 2018
8cee3ef
unalias system test skeleton
jingyinno Apr 14, 2018
a042d01
annotate test
jingyinno Apr 14, 2018
0995682
Add alias sys test
jingyinno Apr 14, 2018
f7b2c8b
rename method and change comments --> method clears both persons and …
jingyinno Apr 14, 2018
0d960c8
make sorted alias list
jingyinno Apr 14, 2018
2f3e567
fix check style
jingyinno Apr 14, 2018
683d83c
Add PasswordCommandSystemTest
yeggasd Apr 14, 2018
6fd48e9
Fix Import ordering
yeggasd Apr 14, 2018
59ccb00
Add RemovePasswordCommandSystemTest
yeggasd Apr 14, 2018
35508fd
Remove unused variable
yeggasd Apr 14, 2018
4ef7b92
Merge branch 'master' of https://github.com/CS2103JAN2018-W11-B4/main…
yeggasd Apr 14, 2018
71b7801
Add system tests for import, export, and upload commands
caijun7 Apr 14, 2018
a399cde
Fix Comments
yeggasd Apr 14, 2018
5802377
Fix checkstyle
caijun7 Apr 14, 2018
3c25363
Improve code quality
caijun7 Apr 14, 2018
50c403a
Remove redundant file
caijun7 Apr 14, 2018
ad91565
Merge pull request #230 from Caijun7/ExportCommand
caijun7 Apr 14, 2018
f1b7ad0
update unalias sys test skeleton
jingyinno Apr 15, 2018
4278a0b
Merge pull request #29 from jingyinno/alias-list-gui-test
jingyinno Apr 15, 2018
a240674
Merge pull request #30 from jingyinno/unalias-sys-test-skeleton
jingyinno Apr 15, 2018
c1a2720
Refactoring of code
Apr 15, 2018
262fc9b
Merge branch 'master' of https://github.com/CS2103JAN2018-W11-B4/main…
yeggasd Apr 15, 2018
320287e
Update Collate
yeggasd Apr 15, 2018
0ac43a9
unique alias list test
jingyinno Apr 15, 2018
bdae4ca
alias model test
jingyinno Apr 15, 2018
7c93c7a
update user guide
jingyinno Apr 15, 2018
1e4e96a
update alias command parser for new commands
jingyinno Apr 15, 2018
4c98e88
add alias command system tests
jingyinno Apr 15, 2018
29e8586
Merge branch 'master-with-failingRedo' of https://github.com/jingyinn…
jingyinno Apr 15, 2018
94b8f39
Fix alias sorting
jingyinno Apr 15, 2018
0e2bb4b
refactor sorting method
jingyinno Apr 15, 2018
0d66858
parserUtilTest
jingyinno Apr 15, 2018
2a81734
MapCommand Equals test
jingyinno Apr 15, 2018
ca9fd8c
Merge branch 'master-with-failingRedo' of https://github.com/jingyinn…
jingyinno Apr 15, 2018
3170bd2
alias list test
jingyinno Apr 15, 2018
bfa0115
Fix english
Apr 15, 2018
cdd655f
Refactoring of setStyle method
yeggasd Apr 15, 2018
d9a8614
Change conversion of OddEven to index
yeggasd Apr 15, 2018
aabd314
Fix collate
yeggasd Apr 15, 2018
8ef17ab
Update JavaDoc
yeggasd Apr 15, 2018
f5df6a8
Add collate
yeggasd Apr 15, 2018
60f7f29
Change birthday list to be scrollable
Apr 15, 2018
9c6e56e
add unalias system test
jingyinno Apr 15, 2018
06f1c6e
Refactor toBack()
yeggasd Apr 15, 2018
93bc64c
Make capitalize to only first letter Caps
yeggasd Apr 15, 2018
d8ef8a0
Add StringUtil test
yeggasd Apr 15, 2018
c3d57b1
Add ParserUtilTest
yeggasd Apr 15, 2018
8496b3f
Refactor Setstyle
yeggasd Apr 15, 2018
5d92579
move mapCommand parsing to parserUtil
jingyinno Apr 15, 2018
c66f132
Merge branch 'master-with-failingRedo' of https://github.com/jingyinn…
jingyinno Apr 15, 2018
8dd4ba2
Improve code quality
yeggasd Apr 15, 2018
fe819d4
Remove extra space
yeggasd Apr 15, 2018
170069a
Modify tests, correct wrong exception thrown, correct english
Apr 15, 2018
031bd99
fix check style
jingyinno Apr 15, 2018
b6bdcbc
Merge pull request #228 from yeggasd/Production
yeggasd Apr 15, 2018
a91842d
Merge pull request #31 from CS2103JAN2018-W11-B4/master
jingyinno Apr 15, 2018
0c51ca6
Rename AddressBook to StardyTogether
caijun7 Apr 15, 2018
2e1835a
Update collate
caijun7 Apr 15, 2018
40e55d2
Merge branch 'master' of https://github.com/CS2103JAN2018-W11-B4/addr…
Apr 15, 2018
bc3dbfa
Merge branch 'master' of https://github.com/jingyinno/addressbook-lev…
jingyinno Apr 15, 2018
29028d8
Update developer guide
jingyinno Apr 15, 2018
16dabbe
Merge pull request #234 from AzuraAiR/FinalImprovementVRC
Apr 15, 2018
bcb9552
Add new section, edit several commmands
Apr 15, 2018
3919538
Merge branch 'master' of https://github.com/CS2103JAN2018-W11-B4/addr…
Apr 15, 2018
5536072
Correct formatting
Apr 15, 2018
5922769
Add line
Apr 15, 2018
412afac
Attempt to correct table formatting
Apr 15, 2018
794e3e4
Update DeveloperGuide
yeggasd Apr 15, 2018
d1a9204
Add new sections, manual numbering in table
Apr 15, 2018
2c0229c
Fix White Text Yellow Background
yeggasd Apr 15, 2018
4f667c5
Merge branch 'master' into DeveloperGuide-update
yeggasd Apr 15, 2018
c21ddf5
Merge branch 'master' into Production
yeggasd Apr 15, 2018
b9fbae7
Merge branch 'master-with-failingRedo' of https://github.com/jingyinn…
jingyinno Apr 15, 2018
73c5f79
Merge pull request #235 from yeggasd/Production
yeggasd Apr 15, 2018
771b2af
Merge pull request #236 from yeggasd/master
yeggasd Apr 15, 2018
8d2e710
Merge branch 'master' into master
yeggasd Apr 15, 2018
88990a7
Update Developer guide
caijun7 Apr 15, 2018
9b93323
Merge branch 'master' of https://github.com/CS2103JAN2018-W11-B4/addr…
caijun7 Apr 15, 2018
abde8f7
Merge branch 'master' into DeveloperGuide-update
caijun7 Apr 15, 2018
00a40e1
Update Developer guide
caijun7 Apr 15, 2018
ecaf17a
Merge pull request #232 from Caijun7/DeveloperGuide-update
caijun7 Apr 15, 2018
0a5bad8
Merge branch 'master' of https://github.com/CS2103JAN2018-W11-B4/addr…
caijun7 Apr 15, 2018
fc05222
Merge pull request #237 from Caijun7/DeveloperGuide-update
caijun7 Apr 15, 2018
9a09713
refactor info panel method
jingyinno Apr 15, 2018
3839cad
Change commands to "You" wording
Apr 15, 2018
c809e7c
Correct formatting for warning dialogs
Apr 15, 2018
ead7680
Merge branch 'master' of https://github.com/CS2103JAN2018-W11-B4/addr…
Apr 15, 2018
6242fe0
Change all instances of person in UG to friend
Apr 15, 2018
a4de846
Failing tests
jingyinno Apr 15, 2018
047ab8e
Update birthdays images
Apr 15, 2018
496af9f
Correct typo
Apr 15, 2018
3522c6e
Merge branch 'master' into master-with-failingRedo
jingyinno Apr 15, 2018
f3ec2ac
Correct typo
Apr 15, 2018
84b1629
Fix checkstyle
jingyinno Apr 15, 2018
feaad71
Merge branch 'master-with-failingRedo' of https://github.com/jingyinn…
jingyinno Apr 15, 2018
677f0c0
Italize version numbers, added content to upcoming features
Apr 15, 2018
1737a21
Correct formatting
Apr 15, 2018
5861614
Improve english
Apr 15, 2018
46cac33
rename
jingyinno Apr 15, 2018
a178980
fix checkstyle
jingyinno Apr 15, 2018
b42a4e7
Fix checkstyle
jingyinno Apr 15, 2018
185e0bb
Fix checkstyle
jingyinno Apr 15, 2018
8ce1573
Merge pull request #238 from jingyinno/master-with-failingRedo
jingyinno Apr 15, 2018
a58da44
Update developer guide
jingyinno Apr 15, 2018
727714f
Merge branch 'master' into master
Apr 15, 2018
acbf5b7
Add diagrams
caijun7 Apr 15, 2018
dd3b3d1
Merge branch 'master' of https://github.com/CS2103JAN2018-W11-B4/addr…
caijun7 Apr 15, 2018
61f6821
Fix bug
caijun7 Apr 15, 2018
6f1e032
Add and modify test
Apr 15, 2018
581383c
Update ver number
Apr 15, 2018
3cfd398
Update collate
Apr 15, 2018
d1d9c66
Resolve merge conflict
Apr 15, 2018
e8a9846
Update collate
Apr 15, 2018
82b7306
Merge branch 'master' of https://github.com/CS2103JAN2018-W11-B4/addr…
Apr 15, 2018
ca13518
Merge branch 'master' of https://github.com/AzuraAiR/addressbook-level4
Apr 15, 2018
fbf4df2
Add sequence diagram
caijun7 Apr 15, 2018
2cdb43f
Update DG
jingyinno Apr 15, 2018
84c2b38
Merge branch 'master' into master-with-failingRedo
jingyinno Apr 15, 2018
ee6069f
Merge pull request #240 from Caijun7/DeveloperGuide-update
caijun7 Apr 15, 2018
c8692f1
Merge branch 'master' into master-with-failingRedo
jingyinno Apr 15, 2018
3633d56
Add code snippets
Apr 15, 2018
3b7dc54
Merge branch 'master' of https://github.com/CS2103JAN2018-W11-B4/addr…
Apr 15, 2018
9ff4c58
Merge branch 'master' into FinalImprovementVRC
Apr 15, 2018
a0ad363
Add tip
Apr 15, 2018
1c3b64b
Fix alias bug
jingyinno Apr 15, 2018
5755736
Merge branch 'master-with-failingRedo' of https://github.com/jingyinn…
jingyinno Apr 15, 2018
78864fc
Update user guide
caijun7 Apr 15, 2018
a2630dd
Fix checkstyle
jingyinno Apr 15, 2018
2174981
Modify diagrams
caijun7 Apr 15, 2018
9420eda
update main code comments
jingyinno Apr 15, 2018
5dd5efa
Merge branch 'master-with-failingRedo' of https://github.com/jingyinn…
jingyinno Apr 15, 2018
5a9c185
Update collated
caijun7 Apr 15, 2018
aa76682
Merge branch 'master' of https://github.com/CS2103JAN2018-W11-B4/addr…
caijun7 Apr 15, 2018
7c1a675
fix check style
jingyinno Apr 15, 2018
f768d14
Merge pull request #239 from AzuraAiR/master
Apr 15, 2018
e834417
Update developer guide
caijun7 Apr 15, 2018
347755e
Merge branch 'master' of https://github.com/CS2103JAN2018-W11-B4/addr…
caijun7 Apr 15, 2018
77efcbf
Merge branch 'master' into FinalImprovementVRC
Apr 15, 2018
15f1118
Merge pull request #243 from Caijun7/DeveloperGuide-update
caijun7 Apr 15, 2018
58cf73f
Merge branch 'master' into FinalImprovementVRC
Apr 15, 2018
c3be5a9
Merge branch 'master' into master-with-failingRedo
jingyinno Apr 15, 2018
009204c
Fix no labels
caijun7 Apr 15, 2018
6b325ab
Merge branch 'master' of https://github.com/CS2103JAN2018-W11-B4/addr…
caijun7 Apr 15, 2018
cb87db8
Update collate
Apr 15, 2018
786965e
Merge pull request #241 from AzuraAiR/FinalImprovementVRC
Apr 15, 2018
d08a1ca
Merge branch 'master' into master-with-failingRedo
jingyinno Apr 15, 2018
1250e60
Remove "more to be added" and update future feature
caijun7 Apr 15, 2018
e51f54f
Merge branch 'master' of https://github.com/CS2103JAN2018-W11-B4/addr…
caijun7 Apr 15, 2018
668cdad
Update dg
caijun7 Apr 15, 2018
d75c874
Merge branch 'master' of https://github.com/CS2103JAN2018-W11-B4/addr…
Apr 15, 2018
22f2b8d
Add diagram and update ppp.
Apr 15, 2018
bf257c6
update ui image
jingyinno Apr 15, 2018
0c24493
Merge pull request #242 from jingyinno/master-with-failingRedo
jingyinno Apr 15, 2018
3f862af
update comments in test components
jingyinno Apr 15, 2018
02365ca
Merge branch 'master-with-failingRedo' of https://github.com/jingyinn…
jingyinno Apr 15, 2018
177c3ce
Reupdate collate
Apr 15, 2018
6cdacc1
Merge branch 'master' into master
Apr 15, 2018
d2184fc
Merge branch 'master' into master-with-failingRedo
jingyinno Apr 15, 2018
d8a9420
Update DG
yeggasd Apr 15, 2018
966251b
Update dg
caijun7 Apr 15, 2018
4ec9b73
Update PPP
yeggasd Apr 15, 2018
e41885d
Merge branch 'master' of https://github.com/CS2103JAN2018-W11-B4/addr…
caijun7 Apr 15, 2018
d7d79b8
Reupdate collate
Apr 15, 2018
b9e6776
Merge branch 'master' of https://github.com/AzuraAiR/addressbook-level4
Apr 15, 2018
6642c92
fix userguide formatting
jingyinno Apr 15, 2018
a008ced
Merge branch 'master-with-failingRedo' of https://github.com/jingyinn…
jingyinno Apr 15, 2018
43e2122
Reupdate collate
Apr 15, 2018
a0d13b8
update dg
caijun7 Apr 15, 2018
7430786
Merge pull request #244 from Caijun7/DeveloperGuide-update
caijun7 Apr 15, 2018
1dfbc66
Merge branch 'master' into master-with-failingRedo
jingyinno Apr 15, 2018
a891526
Merge branch 'master' into master
Apr 15, 2018
6febb8a
Merge pull request #246 from jingyinno/master-with-failingRedo
jingyinno Apr 15, 2018
7b2cdfe
Merge branch 'master' into master
Apr 15, 2018
582c61c
Add Manual Testing for encrypt decrypt and select
yeggasd Apr 15, 2018
43fd51b
Merge pull request #245 from AzuraAiR/master
Apr 15, 2018
ae035af
Merge branch 'master' into Production
yeggasd Apr 15, 2018
200dabb
update dg
caijun7 Apr 15, 2018
02712eb
Merge branch 'master' of https://github.com/CS2103JAN2018-W11-B4/addr…
caijun7 Apr 15, 2018
f2798db
Merge pull request #247 from yeggasd/Production
yeggasd Apr 15, 2018
e80c6a7
Update dg
caijun7 Apr 15, 2018
564a1b0
Update dg
caijun7 Apr 15, 2018
0a1defc
Merge pull request #32 from CS2103JAN2018-W11-B4/master
jingyinno Apr 15, 2018
24ac62a
Merge pull request #248 from Caijun7/DeveloperGuide-update
caijun7 Apr 15, 2018
24658d4
Final collate
jingyinno Apr 15, 2018
6a134fb
Merge branch 'master' into master
jingyinno Apr 15, 2018
de27134
Add sections
Apr 15, 2018
a519b7d
Update DG
yeggasd Apr 15, 2018
40494cc
Merge branch 'master' into master
Apr 15, 2018
6cdbc0b
Update PPP
yeggasd Apr 15, 2018
ce03243
Remove trailing whitespace
Apr 15, 2018
a011769
Merge branch 'master' into master
yeggasd Apr 15, 2018
0b0943b
Merge pull request #251 from yeggasd/master
yeggasd Apr 15, 2018
8628b5e
Merge branch 'master' into master
yeggasd Apr 15, 2018
dd90c8b
Merge branch 'master' into master
Apr 15, 2018
a47f0be
Update UG
Apr 15, 2018
4b34348
Merge branch 'master' of https://github.com/AzuraAiR/addressbook-level4
Apr 15, 2018
32c4094
Merge pull request #250 from AzuraAiR/master
Apr 15, 2018
e147ab3
Merge branch 'master' into master
yeggasd Apr 15, 2018
c63d8f7
Merge pull request #249 from jingyinno/master
yeggasd Apr 15, 2018
23451c5
Fix broken link
Apr 15, 2018
11358c2
Merge branch 'master' into Production
yeggasd Apr 15, 2018
6bf72e4
Merge pull request #252 from yeggasd/Production
yeggasd Apr 15, 2018
2c0792b
Merge branch 'master' of https://github.com/CS2103JAN2018-W11-B4/main
Apr 15, 2018
a67ac3c
Merge pull request #253 from AzuraAiR/master
Apr 15, 2018
692fd0a
Merge pull request #33 from CS2103JAN2018-W11-B4/master
jingyinno Apr 15, 2018
8bb43fb
update dg
jingyinno Apr 15, 2018
1a86375
Merge pull request #259 from jingyinno/master
jingyinno Apr 15, 2018
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
4 changes: 2 additions & 2 deletions README.adoc
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
= Address Book (Level 4)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remember to update the product name here as well!

ifdef::env-github,env-browser[:relfileprefix: docs/]

https://travis-ci.org/se-edu/addressbook-level4[image:https://travis-ci.org/se-edu/addressbook-level4.svg?branch=master[Build Status]]
https://travis-ci.org/CS2103JAN2018-W11-B4/main[image:https://travis-ci.org/CS2103JAN2018-W11-B4/main.svg?branch=master[Build Status]]
https://ci.appveyor.com/project/damithc/addressbook-level4[image:https://ci.appveyor.com/api/projects/status/3boko2x2vr5cc3w2?svg=true[Build status]]
https://coveralls.io/github/se-edu/addressbook-level4?branch=master[image:https://coveralls.io/repos/github/se-edu/addressbook-level4/badge.svg?branch=master[Coverage Status]]
https://coveralls.io/github/CS2103JAN2018-W11-B4/addressbook-level4?branch=master[image:https://coveralls.io/repos/github/CS2103JAN2018-W11-B4/addressbook-level4/badge.svg?branch=master[Coverage Status]]
https://www.codacy.com/app/damith/addressbook-level4?utm_source=github.com&utm_medium=referral&utm_content=se-edu/addressbook-level4&utm_campaign=Badge_Grade[image:https://api.codacy.com/project/badge/Grade/fc0b7775cf7f4fdeaf08776f3d8e364a[Codacy Badge]]
https://gitter.im/se-edu/Lobby[image:https://badges.gitter.im/se-edu/Lobby.svg[Gitter chat]]

Expand Down
59 changes: 58 additions & 1 deletion docs/DeveloperGuide.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -787,8 +787,10 @@ See this https://github.com/se-edu/addressbook-level4/pull/599[PR] for the step-
* can type fast

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remember to update the application title for the developer guide as well!

* prefers typing over mouse input
* is reasonably comfortable using CLI apps
* is a student in National University of Singapore
* has many friends in the same course

*Value proposition*: manage contacts faster than a typical mouse/GUI driven app
*Value proposition*: share useful information with their friends who are taking the same modules and find a common studying time

[appendix]
== User Stories
Expand All @@ -800,6 +802,12 @@ Priorities: High (must have) - `* * \*`, Medium (nice to have) - `* \*`, Low (un
|Priority |As a ... |I want to ... |So that I can...
|`* * *` |new user |see usage instructions |refer to instructions when I forget how to use the App

|`* * *` |student with friends |search friends who have taken or are taking similar modules |know who I can group with or approach for help

|`* * *` |student with friends |find my friend’s timetables |can find common studying time with them

|`* * *` |user |add tasks |keep track of what I need to do

|`* * *` |user |add a new person |

|`* * *` |user |delete a person |remove entries that I no longer need
Expand All @@ -808,7 +816,11 @@ Priorities: High (must have) - `* * \*`, Medium (nice to have) - `* \*`, Low (un

|`* *` |user |hide <<private-contact-detail,private contact details>> by default |minimize chance of someone else seeing them by accident

|`* *` |student with friends |tag my friends in my tasks, so that we can share important information |

|`*` |user with many persons in the address book |sort persons by name |locate a person easily

|`*` |student |find venues in NUS |locate my tutorial rooms
|=======================================================================

_{More to be added}_
Expand Down Expand Up @@ -844,6 +856,44 @@ Use case ends.
+
Use case resumes at step 2.

[discrete]
=== Use case: Find venue

*MSS*

1. User requests to find an available venue
2. AddressBook prompts user to input a faculty
3. User requests venues near this faculty
4. AddressBook prints out a list of available venues near the specified faculty
+
Use case ends.

*Extensions*

[none]
* 2a. No location is available
+
[none]
** 2a1. AddressBook displays the empty result
+
Use case resumes at step 2

* 3a. The given location is invalid.
+
[none]
** 3a1. AddressBook shows an error message.
+
Use case resumes at step 2.

* 4a. AddressBook cannot retrieve the information online
+
[none]
** 4a1. AddressBook shows an error message
** 4a2. AddressBook attempts to reconnect
** 4a3. If problem persists, AddressBook directs User to troubleshooting
+
Use case ends

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good to see a new use case added :)

_{More to be added}_

[appendix]
Expand All @@ -852,6 +902,13 @@ _{More to be added}_
. Should work on any <<mainstream-os,mainstream OS>> as long as it has Java `1.8.0_60` or higher installed.
. Should be able to hold up to 1000 persons without a noticeable sluggishness in performance for typical usage.
. A user with above average typing speed for regular English text (i.e. not code, not system admin commands) should be able to accomplish most of the tasks faster using commands than using the mouse.
. Address book must be able to be picked up with 2 hours of usage.
. Color Scheme must be pleasing to the eyes.
. User guide must be clear and concise.
. Basic features must be intuitive to use.
. Should respond to user within 3 seconds.
. Should work in both 32-bit and 64-bit environments.
. Should be usable by a new user who has not used command line interface before.

_{More to be added}_

Expand Down
11 changes: 11 additions & 0 deletions docs/UserGuide.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ e.g. typing *`help`* and pressing kbd:[Enter] will open the help window.
====
*Command Format*

* Some commands have alias which can be used to execute the commands.
* Words in `UPPER_CASE` are the parameters to be supplied by the user e.g. in `add n/NAME`, `NAME` is a parameter which can be used as `add n/John Doe`.
* Items in square brackets are optional e.g `n/NAME [t/TAG]` can be used as `n/John Doe t/friend` or as `n/John Doe`.
* Items with `…`​ after them can be used multiple times including zero times e.g. `[t/TAG]...` can be used as `{nbsp}` (i.e. 0 times), `t/friend`, `t/friend t/family` etc.
Expand All @@ -63,6 +64,7 @@ Format: `help`
=== Adding a person: `add`

Adds a person to the address book +
Alias: `a` +
Format: `add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]...`

[TIP]
Expand All @@ -76,11 +78,13 @@ Examples:
=== Listing all persons : `list`

Shows a list of all persons in the address book. +
Alias: `l` +
Format: `list`

=== Editing a person : `edit`

Edits an existing person in the address book. +
Alias: `e` +
Format: `edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [t/TAG]...`

****
Expand All @@ -101,6 +105,7 @@ Edits the name of the 2nd person to be `Betsy Crower` and clears all existing ta
=== Locating persons by name: `find`

Finds persons whose names contain any of the given keywords. +
Alias: `f` +
Format: `find KEYWORD [MORE_KEYWORDS]`

****
Expand All @@ -121,6 +126,7 @@ Returns any person having names `Betsy`, `Tim`, or `John`
=== Deleting a person : `delete`

Deletes the specified person from the address book. +
Alias: `d` +
Format: `delete INDEX`

****
Expand All @@ -141,6 +147,7 @@ Deletes the 1st person in the results of the `find` command.
=== Selecting a person : `select`

Selects the person identified by the index number used in the last person listing. +
Alias: `s` +
Format: `select INDEX`

****
Expand All @@ -161,6 +168,7 @@ Selects the 1st person in the results of the `find` command.
=== Listing entered commands : `history`

Lists all the commands that you have entered in reverse chronological order. +
Alias: `h` +
Format: `history`

[NOTE]
Expand All @@ -172,6 +180,7 @@ Pressing the kbd:[&uarr;] and kbd:[&darr;] arrows will display the previous and
=== Undoing previous command : `undo`

Restores the address book to the state before the previous _undoable_ command was executed. +
Alias: `u` +
Format: `undo`

[NOTE]
Expand All @@ -198,6 +207,7 @@ The `undo` command fails as there are no undoable commands executed previously.
=== Redoing the previously undone command : `redo`

Reverses the most recent `undo` command. +
Alias: `r` +
Format: `redo`

Examples:
Expand All @@ -221,6 +231,7 @@ The `redo` command fails as there are no `undo` commands executed previously.
=== Clearing all entries : `clear`

Clears all entries from the address book. +
Alias: `c` +
Format: `clear`

=== Exiting the program : `exit`

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice to think about updating user guide (although it seems like only one person remembered...)

Expand Down
1 change: 1 addition & 0 deletions src/main/java/seedu/address/logic/commands/AddCommand.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
public class AddCommand extends UndoableCommand {

public static final String COMMAND_WORD = "add";
public static final String COMMAND_ALIAS = "a";

public static final String MESSAGE_USAGE = COMMAND_WORD + ": Adds a person to the address book. "
+ "Parameters: "
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
public class ClearCommand extends UndoableCommand {

public static final String COMMAND_WORD = "clear";
public static final String COMMAND_ALIAS = "c";
public static final String MESSAGE_SUCCESS = "Address book has been cleared!";


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
public class DeleteCommand extends UndoableCommand {

public static final String COMMAND_WORD = "delete";
public static final String COMMAND_ALIAS = "d";

public static final String MESSAGE_USAGE = COMMAND_WORD
+ ": Deletes the person identified by the index number used in the last person listing.\n"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
public class EditCommand extends UndoableCommand {

public static final String COMMAND_WORD = "edit";
public static final String COMMAND_ALIAS = "e";

public static final String MESSAGE_USAGE = COMMAND_WORD + ": Edits the details of the person identified "
+ "by the index number used in the last person listing. "
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
public class FindCommand extends Command {

public static final String COMMAND_WORD = "find";
public static final String COMMAND_ALIAS = "f";

public static final String MESSAGE_USAGE = COMMAND_WORD + ": Finds all persons whose names contain any of "
+ "the specified keywords (case-sensitive) and displays them as a list with index numbers.\n"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
public class HistoryCommand extends Command {

public static final String COMMAND_WORD = "history";
public static final String COMMAND_ALIAS = "h";
public static final String MESSAGE_SUCCESS = "Entered commands (from most recent to earliest):\n%1$s";
public static final String MESSAGE_NO_HISTORY = "You have not yet entered any commands.";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
public class ListCommand extends Command {

public static final String COMMAND_WORD = "list";
public static final String COMMAND_ALIAS = "l";

public static final String MESSAGE_SUCCESS = "Listed all persons";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
public class RedoCommand extends Command {

public static final String COMMAND_WORD = "redo";
public static final String COMMAND_ALIAS = "r";
public static final String MESSAGE_SUCCESS = "Redo success!";
public static final String MESSAGE_FAILURE = "No more commands to redo!";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
public class SelectCommand extends Command {

public static final String COMMAND_WORD = "select";
public static final String COMMAND_ALIAS = "s";

public static final String MESSAGE_USAGE = COMMAND_WORD
+ ": Selects the person identified by the index number used in the last person listing.\n"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
public class UndoCommand extends Command {

public static final String COMMAND_WORD = "undo";
public static final String COMMAND_ALIAS = "u";
public static final String MESSAGE_SUCCESS = "Undo success!";
public static final String MESSAGE_FAILURE = "No more commands to undo!";

Expand Down
10 changes: 10 additions & 0 deletions src/main/java/seedu/address/logic/parser/AddressBookParser.java
Original file line number Diff line number Diff line change
Expand Up @@ -49,27 +49,35 @@ public Command parseCommand(String userInput) throws ParseException {
switch (commandWord) {

case AddCommand.COMMAND_WORD:
case AddCommand.COMMAND_ALIAS:
return new AddCommandParser().parse(arguments);

case EditCommand.COMMAND_WORD:
case EditCommand.COMMAND_ALIAS:
return new EditCommandParser().parse(arguments);

case SelectCommand.COMMAND_WORD:
case SelectCommand.COMMAND_ALIAS:
return new SelectCommandParser().parse(arguments);

case DeleteCommand.COMMAND_WORD:
case DeleteCommand.COMMAND_ALIAS:
return new DeleteCommandParser().parse(arguments);

case ClearCommand.COMMAND_WORD:
case ClearCommand.COMMAND_ALIAS:
return new ClearCommand();

case FindCommand.COMMAND_WORD:
case FindCommand.COMMAND_ALIAS:
return new FindCommandParser().parse(arguments);

case ListCommand.COMMAND_WORD:
case ListCommand.COMMAND_ALIAS:
return new ListCommand();

case HistoryCommand.COMMAND_WORD:
case HistoryCommand.COMMAND_ALIAS:
return new HistoryCommand();

case ExitCommand.COMMAND_WORD:
Expand All @@ -79,9 +87,11 @@ public Command parseCommand(String userInput) throws ParseException {
return new HelpCommand();

case UndoCommand.COMMAND_WORD:
case UndoCommand.COMMAND_ALIAS:
return new UndoCommand();

case RedoCommand.COMMAND_WORD:
case RedoCommand.COMMAND_ALIAS:
return new RedoCommand();

default:
Expand Down
45 changes: 45 additions & 0 deletions src/main/java/seedu/address/model/AddressBook.java
Original file line number Diff line number Diff line change
Expand Up @@ -112,8 +112,21 @@ public void updatePerson(Person target, Person editedPerson)
// This can cause the tags master list to have additional tags that are not tagged to any person
// in the person list.
persons.setPerson(target, syncedEditedPerson);
removeUnusedTags();
}

/**
* Removes all {@code tag}s that are not used by any {@code person} in this {@code AddressBook}.
*/
private void removeUnusedTags() {
Set<Tag> tagsInPersons = persons.asObservableList().stream()
.map(Person::getTags)
.flatMap(Set::stream)
.collect(Collectors.toSet());
tags.setTags(tagsInPersons);
}


Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Redundant line here

/**
* Updates the master tag list to include tags in {@code person} that are not in the list.
* @return a copy of this {@code person} such that every tag in this person points to a Tag object in the master
Expand Down Expand Up @@ -153,6 +166,38 @@ public void addTag(Tag t) throws UniqueTagList.DuplicateTagException {
tags.add(t);
}

/**
* Removes {@code tag} from {@code person} in this {@code AddressBook}.
* @throws PersonNotFoundException if the {@code person} is not in this {@code AddressBook}.
*/
private void removeTagFromPerson(Tag tag, Person person) throws PersonNotFoundException {
Set<Tag> newTags = new HashSet<>(person.getTags());
if (!newTags.remove(tag)) {
return;
}
Person newPerson =
new Person(person.getName(), person.getPhone(), person.getEmail(), person.getAddress(), newTags);
try {
updatePerson(person, newPerson);
} catch (DuplicatePersonException dpe) {
throw new AssertionError("Modifying a person's tags only should not result in a duplicate. "
+ "See Person#equals(Object).");
}
}

/**
* Removes {@code tag} from all persons in this {@code AddressBook}.
*/
public void removeTag(Tag tag) {
try {
for (Person person : persons) {
removeTagFromPerson(tag, person);
}
} catch (PersonNotFoundException pnfe) {
throw new AssertionError("Impossible exception: person is obtained from the address book.");
}
}

//// util methods

@Override
Expand Down
Loading