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

[CS2113-T14-2] BagPacker #61

Open
wants to merge 378 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 96 commits
Commits
Show all changes
378 commits
Select commit Hold shift + click to select a range
85f5942
Remove redundant code from merge conflict
tangphi Apr 1, 2023
361a83b
Update UG with Mac Prompts
tangphi Apr 1, 2023
ae8f534
Resolve merge conflict
tangphi Apr 1, 2023
7fdeba0
Merge pull request #125 from tangphi/master
tangphi Apr 1, 2023
cf3ed33
Revert "Update developer guide"
coregano Apr 1, 2023
8382441
Edit help message to be more informative
tangphi Apr 1, 2023
aa5a3ab
Merge
coregano Apr 1, 2023
d612948
Update UG for list feature example output
tangphi Apr 1, 2023
b0b31f6
Merge pull request #126 from tangphi/master
tangphi Apr 1, 2023
27b8f81
Change error message
tangphi Apr 1, 2023
4a8a4c9
Merge pull request #127 from tangphi/master
tangphi Apr 1, 2023
885facc
Merge branch 'master' of https://github.com/coregano/tp
coregano Apr 1, 2023
c772bef
Merge branch 'master' of https://github.com/coregano/tp
coregano Apr 1, 2023
e72174d
Update User Guide
shannentan Apr 1, 2023
85d3e83
Create packall feature
tangphi Apr 1, 2023
adefc67
Merge pull request #132 from tangphi/pack_all_soph
tangphi Apr 1, 2023
d02a5ff
feature - automatic save and load added for users
coregano Apr 1, 2023
de4b199
Merge branch 'master' into save_load
coregano Apr 1, 2023
694a76f
Merge pull request #133 from coregano/save_load
coregano Apr 1, 2023
d5be78c
fix - improve load() function in Storage class to read quantities of …
coregano Apr 1, 2023
8a50b5f
Merge pull request #134 from coregano/master
coregano Apr 1, 2023
7974a60
Merge branch 'master' into fix-user-guide-bugs
shannentan Apr 2, 2023
dce0bbe
Merge pull request #129 from shannentan/fix-user-guide-bugs
shannentan Apr 2, 2023
6477103
Update the add function to deal with repeated items of same name
linuspuah Apr 2, 2023
6e617ca
Refactor code to fit checkstyle
linuspuah Apr 2, 2023
9710bb5
Merge branch 'Add_cmd_update'
linuspuah Apr 2, 2023
1cc74b5
Update parser class J-unit test
linuspuah Apr 2, 2023
e88c03a
Merge branch 'Junit_parser_v2'
linuspuah Apr 2, 2023
7251549
Merge pull request #137 from linuspuah/master
linuspuah Apr 3, 2023
316b797
Update DG for add command
linuspuah Apr 3, 2023
57e47a8
Merge pull request #138 from linuspuah/master
linuspuah Apr 3, 2023
e8ebcc4
feature - find command added for users to search for items containing…
coregano Apr 3, 2023
d18bae7
Add All Command Class J-Unit tests
linuspuah Apr 4, 2023
d20a18f
Merge branch 'master' of https://github.com/linuspuah/tp
linuspuah Apr 4, 2023
8bbc64a
Delete HTML reports
linuspuah Apr 4, 2023
5225b4e
Update runtest.bat expected output
linuspuah Apr 4, 2023
758b414
Update Unix expected test output
linuspuah Apr 4, 2023
3f23dd3
Empty input and expected text ui testing
linuspuah Apr 4, 2023
5c1f9ba
Revert "Empty input and expected text ui testing"
linuspuah Apr 4, 2023
333be3e
fix - code violations removed to pass checkstyle
coregano Apr 4, 2023
591b288
Merge pull request #142 from coregano/master
coregano Apr 4, 2023
cbe5d81
Update packall
tangphi Apr 4, 2023
db427d0
Merge pull request #143 from tangphi/master
tangphi Apr 4, 2023
af362e0
Work on [PE-D][Tester C] Suggestions for UG #117
tangphi Apr 4, 2023
d7357dc
Merge pull request #144 from tangphi/master
tangphi Apr 4, 2023
36307bd
Merge pull request #140 from linuspuah/master
coregano Apr 5, 2023
216139a
IO fix test
coregano Apr 5, 2023
7d1726a
Merge pull request #145 from coregano/master
coregano Apr 5, 2023
2df3681
Add feature EditQuantity to edit the total quantity of an item
shannentan Apr 5, 2023
6835838
Merge branch 'master' into feature-edit-total-quantity
linuspuah Apr 5, 2023
76547af
Merge pull request #146 from shannentan/feature-edit-total-quantity
linuspuah Apr 5, 2023
f2b4128
Merge branch 'master' of https://github.com/linuspuah/tp
linuspuah Apr 5, 2023
ebdd848
Refactor Parser and PackingList
linuspuah Apr 5, 2023
2c539df
Add J-unit tests for new commands
linuspuah Apr 5, 2023
3c20551
Add ListUnpacked Function
linuspuah Apr 5, 2023
6a77b72
Merge pull request #151 from linuspuah/master
coregano Apr 5, 2023
cf95ec9
Fix add item bug
linuspuah Apr 5, 2023
85f7761
Create unpackall command feature
tangphi Apr 5, 2023
5c8580d
Merge pull request #153 from tangphi/master
tangphi Apr 5, 2023
a2f4f30
Edit UG to include listunpacked and the max integer value supported
linuspuah Apr 5, 2023
9590621
Update UG
linuspuah Apr 5, 2023
0695481
Merge branch 'master' of https://github.com/linuspuah/tp
linuspuah Apr 5, 2023
7176bd5
Update help messages
linuspuah Apr 5, 2023
99867b4
Update user guide
linuspuah Apr 5, 2023
f1ac640
Merge pull request #154 from linuspuah/master
linuspuah Apr 5, 2023
4f565bb
Delete previous md file
linuspuah Apr 6, 2023
6d154b8
Add plantuml diagram for overarching app
linuspuah Apr 6, 2023
cf2396b
Add linus' PPP
linuspuah Apr 6, 2023
85bb9a1
feature - Storage J-Unit test completed
coregano Apr 6, 2023
d130f5c
fix - imports for storage test
coregano Apr 6, 2023
ff1659c
fix - bug fix
coregano Apr 6, 2023
0862107
Merge pull request #157 from coregano/master
coregano Apr 6, 2023
4af3061
Add developer guide main class diagram
linuspuah Apr 6, 2023
4af5a77
Merge branch 'master' of https://github.com/linuspuah/tp
linuspuah Apr 6, 2023
f623b7d
Split Class diagrams into 2 for better readability
linuspuah Apr 6, 2023
f42e3b2
Fix bug where wrong error message will be shown when integer overflow
linuspuah Apr 6, 2023
fc44af9
Refactor code to pass checkstyle
linuspuah Apr 6, 2023
c509128
Delete old java -jar file
linuspuah Apr 6, 2023
0d6175a
Merge pull request #158 from linuspuah/master
linuspuah Apr 6, 2023
70b4993
docs - add Javadocs for methods in ListUnpacked, parser and item
coregano Apr 6, 2023
8a0fd04
Merge branch 'master' into master
coregano Apr 6, 2023
ed04cb8
Merge pull request #159 from coregano/master
coregano Apr 6, 2023
d5e3e99
Add author tags for a segment of test code for add command
tangphi Apr 7, 2023
1ce08ba
Create and edit PPP
tangphi Apr 7, 2023
7bb6246
Update UG for unpackall
tangphi Apr 7, 2023
e0cc133
Add JUnit tests for packall and unpackall commands
tangphi Apr 7, 2023
cdb9ac3
Merge pull request #161 from tangphi/unpackall_ug_dg
tangphi Apr 7, 2023
a24dd50
Add all JavaDocs for classes in commands package
linuspuah Apr 7, 2023
cacc835
Add JavaDocs for Parser Class
linuspuah Apr 7, 2023
70927da
Merge pull request #163 from linuspuah/master
linuspuah Apr 7, 2023
bb05a19
Remove getVariable method
linuspuah Apr 8, 2023
d0da069
Fix unpackall and packall bugs
linuspuah Apr 8, 2023
96d4ce5
feature - Update runtest.bash
coregano Apr 8, 2023
4f3e0f2
Merge branch 'master' of https://github.com/coregano/tp
coregano Apr 8, 2023
e099deb
Merge pull request #164 from coregano/master
coregano Apr 8, 2023
e020059
Add InvalidQuantityException and fix EditQuantity errors
linuspuah Apr 8, 2023
9d86a8f
Fix bugs for pack unpack
linuspuah Apr 8, 2023
dac3ed3
Refactor code
linuspuah Apr 8, 2023
cf948a9
Merge pull request #165 from linuspuah/master
linuspuah Apr 8, 2023
5a06658
Update User Guide with information on find command
shannentan Apr 8, 2023
af540bf
Fix most bugs in Parser Class
linuspuah Apr 8, 2023
452f4ac
Merge pull request #167 from linuspuah/master
linuspuah Apr 8, 2023
a065726
Merge branch 'master' into master
linuspuah Apr 8, 2023
9749bd3
Merge pull request #166 from shannentan/master
linuspuah Apr 8, 2023
da33a85
Remove disfunctional parser test
linuspuah Apr 8, 2023
993cc48
Refactor code to pass checkstyle
linuspuah Apr 8, 2023
1f3a1d4
feature - update input.txt for io tests
coregano Apr 8, 2023
856e650
Merge pull request #168 from linuspuah/master
linuspuah Apr 8, 2023
a2653bb
Merge pull request #169 from coregano/master
coregano Apr 8, 2023
fb6e8e4
fix - trial io test
coregano Apr 8, 2023
c03c1ad
Update J-Unit test to increase coverage
linuspuah Apr 8, 2023
7fa6f3b
Merge pull request #170 from coregano/master
coregano Apr 8, 2023
f691231
Merge branch 'AY2223S2-CS2113-T14-2:master' into master
linuspuah Apr 8, 2023
16dea0f
docs - add packcommand in developer docs
coregano Apr 8, 2023
4a6d141
Update PPP
tangphi Apr 9, 2023
bb64508
Update PPP documentation
tangphi Apr 9, 2023
6eed896
Merge pull request #172 from tangphi/master
tangphi Apr 9, 2023
0ce0eb4
Edit formating of PPP
tangphi Apr 9, 2023
f480250
Edit PPP spacing
tangphi Apr 9, 2023
ddede05
Merge pull request #173 from tangphi/master
tangphi Apr 9, 2023
4277e97
Create UML sequence diagram for overall application
linuspuah Apr 9, 2023
ffd9ee9
Refactor command name in BagPacker Class
linuspuah Apr 9, 2023
0ae5782
Create UML image
linuspuah Apr 9, 2023
22505a8
Merge branch 'AY2223S2-CS2113-T14-2:master' into master
linuspuah Apr 9, 2023
b2f7780
Merge branch 'master' of https://github.com/linuspuah/tp
linuspuah Apr 9, 2023
e9649ea
Update User Guide
shannentan Apr 9, 2023
d633157
Update the help message to match the order of the commands in the Use…
shannentan Apr 9, 2023
0bae023
Add assert statements
shannentan Apr 9, 2023
5735b92
Add shannen's PPP
shannentan Apr 9, 2023
ff6cb4d
Merge branch 'master' into master
shannentan Apr 9, 2023
9ba9ec6
Merge pull request #174 from shannentan/master
shannentan Apr 9, 2023
9c57b47
Add Pack and Unpack Command into DG, including Sequence Diagrams
linuspuah Apr 9, 2023
ffffeff
Merge branch 'AY2223S2-CS2113-T14-2:master' into master
linuspuah Apr 9, 2023
272bb0f
Merge branch 'master' of https://github.com/linuspuah/tp
linuspuah Apr 9, 2023
4c99a75
Update Contents page
linuspuah Apr 9, 2023
8e2ba1e
Merge pull request #176 from linuspuah/master
linuspuah Apr 9, 2023
ae4fd89
Fix expected outcome code block not displayed correctly for help, lis…
shannentan Apr 9, 2023
5a011c2
Merge pull request #177 from shannentan/master
shannentan Apr 9, 2023
59ae4c2
Merge branch 'master' of https://github.com/coregano/tp
coregano Apr 9, 2023
ecc01b0
Fix User Guide bugs
shannentan Apr 9, 2023
63cdb17
Revert "Fix User Guide bugs"
shannentan Apr 9, 2023
1b98427
Merge branch 'master' of https://github.com/shannentan/tp
shannentan Apr 9, 2023
31a2ff2
Update DG to include Exceptions, and UML diagram for overall command …
linuspuah Apr 9, 2023
8b7e483
Fix User Guide bugs
shannentan Apr 9, 2023
54ed6f1
Merge pull request #178 from shannentan/master
shannentan Apr 9, 2023
060da8f
Merge branch 'master' of https://github.com/linuspuah/tp
linuspuah Apr 9, 2023
72abf8c
Merge pull request #179 from linuspuah/master
linuspuah Apr 9, 2023
73423a9
Merge branch 'AY2223S2-CS2113-T14-2:master' into master
coregano Apr 10, 2023
8e463a0
docs - Developer Guide updated
coregano Apr 10, 2023
92cf247
Merge branch 'master' of https://github.com/coregano/tp
coregano Apr 10, 2023
21d747e
docs - IncorrectCommand and Command added
coregano Apr 10, 2023
e80ffa6
Merge pull request #180 from coregano/master
coregano Apr 10, 2023
a32e526
Refactor developer guide
shannentan Apr 10, 2023
f0c0b7d
Rename folder containing diagrams
shannentan Apr 10, 2023
f1a912d
Merge pull request #181 from shannentan/developer-guide
linuspuah Apr 10, 2023
c3ea4d4
docs - storage added in developer docs
coregano Apr 10, 2023
92c8d7a
Merge branch 'master' of https://github.com/coregano/tp
coregano Apr 10, 2023
eae9edb
Refactor Developer Guide
linuspuah Apr 10, 2023
60535b2
Merge branch 'master' of https://github.com/linuspuah/tp
linuspuah Apr 10, 2023
3386590
Merge pull request #182 from linuspuah/master
linuspuah Apr 10, 2023
4128954
docs - Add self contribution docs
coregano Apr 10, 2023
398cf59
Merge branch 'master' of https://github.com/coregano/tp
coregano Apr 10, 2023
d292db8
Merge pull request #183 from coregano/master
coregano Apr 10, 2023
d72f25a
Add Parser Class to DG
linuspuah Apr 10, 2023
882dccc
Merge branch 'master' of https://github.com/linuspuah/tp
linuspuah Apr 10, 2023
d603023
Refactor DG
linuspuah Apr 10, 2023
41460b6
Merge pull request #184 from linuspuah/master
linuspuah Apr 10, 2023
4478813
docs - instructions for manual testing 50% complete
coregano Apr 10, 2023
74de3d3
Merge remote-tracking branch 'teamRepo/master'
coregano Apr 10, 2023
622f381
Update Linus' PPP
linuspuah Apr 10, 2023
a93e50f
Merge branch 'AY2223S2-CS2113-T14-2:master' into master
linuspuah Apr 10, 2023
2662c2e
Add UG FAQ's
linuspuah Apr 10, 2023
46d7152
Merge pull request #185 from linuspuah/master
linuspuah Apr 10, 2023
655f263
Update PPP
shannentan Apr 10, 2023
8153ed0
Format Developer Guide
shannentan Apr 10, 2023
9255f52
docs - add instructions for manual testing in developer docs
coregano Apr 10, 2023
d7076fa
Merge branch 'master' of https://github.com/coregano/tp
coregano Apr 10, 2023
c8d77e0
Merge branch 'master' of https://github.com/shannentan/tp
shannentan Apr 10, 2023
76dc857
Merge pull request #186 from shannentan/master
shannentan Apr 10, 2023
c4ed890
docs - item for dev guide
coregano Apr 10, 2023
1a99f54
Merge branch 'master' of https://github.com/coregano/tp
coregano Apr 10, 2023
d0f6894
Merge pull request #187 from coregano/master
linuspuah Apr 10, 2023
3f411ed
Recolour DG and PPP headers
linuspuah Apr 10, 2023
7fcb1e2
Merge branch 'master' of https://github.com/linuspuah/tp
linuspuah Apr 10, 2023
0b5e5aa
fix - delete command test
coregano Apr 10, 2023
3ac6145
io test
coregano Apr 10, 2023
6933d89
Update Developer Guide with edit quantity command
shannentan Apr 10, 2023
b90a9bb
Merge pull request #190 from shannentan/master
linuspuah Apr 10, 2023
58f1ec5
Merge branch 'AY2223S2-CS2113-T14-2:master' into master
linuspuah Apr 10, 2023
c6b97b7
Add PackAll and UnpackAll commands to DG
linuspuah Apr 10, 2023
dd921bf
Merge branch 'master' of https://github.com/linuspuah/tp
linuspuah Apr 10, 2023
db387da
Merge pull request #191 from linuspuah/master
linuspuah Apr 10, 2023
c832743
Merge branch 'AY2223S2-CS2113-T14-2:master' into master
coregano Apr 10, 2023
6773978
merge conflict resolve
coregano Apr 10, 2023
be61520
Update PPP
shannentan Apr 10, 2023
a6db58d
Merge pull request #192 from coregano/master
coregano Apr 10, 2023
3446496
Merge pull request #193 from shannentan/master
shannentan Apr 10, 2023
26e8c69
Fix typo in PPP
shannentan Apr 10, 2023
a57c8fe
Merge pull request #194 from shannentan/master
shannentan Apr 10, 2023
ef945a4
Update Developer guide with packingfunc
linuspuah Apr 10, 2023
200a318
Merge branch 'master' of https://github.com/linuspuah/tp
linuspuah Apr 10, 2023
da12fa3
Merge pull request #195 from linuspuah/master
linuspuah Apr 10, 2023
fd74f73
Update PPP
tangphi Apr 10, 2023
b81ffe6
Merge pull request #196 from tangphi/master
tangphi Apr 10, 2023
5bc7267
Final PPP upload
coregano Apr 10, 2023
9408258
Update naming of quantities in UG
tangphi Apr 10, 2023
c277df2
Refactor code and fix links in UG
linuspuah Apr 10, 2023
a42d370
Merge branch 'master' of https://github.com/linuspuah/tp
linuspuah Apr 10, 2023
0165064
Merge pull request #197 from tangphi/master
tangphi Apr 10, 2023
f0960b9
Merge branch 'master' of https://github.com/linuspuah/tp
linuspuah Apr 10, 2023
eab0201
Merge pull request #198 from linuspuah/master
linuspuah Apr 10, 2023
9043c8b
Fix DG bugs
shannentan Apr 10, 2023
ac02f60
Merge branch 'master' of https://github.com/shannentan/tp
shannentan Apr 10, 2023
fc8f2b6
Merge pull request #199 from shannentan/master
shannentan Apr 10, 2023
89f0c50
Update PPP
linuspuah Apr 10, 2023
576f39b
Merge branch 'AY2223S2-CS2113-T14-2:master' into master
linuspuah Apr 10, 2023
125a8f0
Fix UG table of contents links
shannentan Apr 10, 2023
419ab8d
Merge pull request #200 from shannentan/master
shannentan Apr 10, 2023
1ca2408
Merge pull request #201 from linuspuah/master
linuspuah Apr 10, 2023
9cf4006
Refactor Linus' PPP
linuspuah Apr 10, 2023
cddeb6a
Merge branch 'AY2223S2-CS2113-T14-2:master' into master
linuspuah Apr 10, 2023
e8057c3
Merge pull request #202 from linuspuah/master
linuspuah Apr 10, 2023
078b7c1
Merge branch 'AY2223S2-CS2113-T14-2:master' into master
coregano Apr 10, 2023
46d3685
Refactor PPP
linuspuah Apr 10, 2023
0e29781
Merge branch 'master' of https://github.com/linuspuah/tp
linuspuah Apr 10, 2023
df11cfc
Refactor PPP
linuspuah Apr 10, 2023
1066674
Merge branch 'AY2223S2-CS2113-T14-2:master' into master
linuspuah Apr 10, 2023
9d2ea03
Correct error message output
tangphi Apr 10, 2023
bbcfe00
Update README
tangphi Apr 10, 2023
a1c1540
Merge pull request #204 from tangphi/master
tangphi Apr 10, 2023
d157f87
Merge branch 'AY2223S2-CS2113-T14-2:master' into master
linuspuah Apr 10, 2023
7f5b495
Fix bug - characters get cut off in pdf
shannentan Apr 10, 2023
c6694bb
Merge pull request #205 from shannentan/master
shannentan Apr 10, 2023
6030645
Merge branch 'AY2223S2-CS2113-T14-2:master' into master
linuspuah Apr 10, 2023
e53f52c
Bug fix unpackall and packall
linuspuah Apr 10, 2023
0afc9ce
Merge pull request #203 from linuspuah/master
linuspuah Apr 10, 2023
7a8aae6
Add line break to PPP
shannentan Apr 10, 2023
e4f304c
Merge branch 'AY2223S2-CS2113-T14-2:master' into master
shannentan Apr 10, 2023
b5de0bd
Merge pull request #206 from shannentan/master
shannentan Apr 10, 2023
53c3759
Merge branch 'AY2223S2-CS2113-T14-2:master' into master
coregano Apr 10, 2023
c20417e
Fix DG broken link
shannentan Apr 10, 2023
dd746c6
Merge pull request #207 from shannentan/master
shannentan Apr 10, 2023
7258e4a
Merge branch 'AY2223S2-CS2113-T14-2:master' into master
coregano Apr 10, 2023
fbc4821
code block horizontal scroll fixed
coregano Apr 10, 2023
5e74f23
Merge pull request #208 from coregano/master
coregano Apr 10, 2023
b040234
handled test fix
coregano Apr 10, 2023
477950a
fix
coregano Apr 10, 2023
25fdb7a
Merge pull request #209 from coregano/master
linuspuah Apr 10, 2023
d320cd9
io test fix
coregano Apr 10, 2023
2d20bbb
Merge pull request #211 from coregano/master
coregano Apr 10, 2023
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
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,5 @@ src/main/resources/docs/
bin/

/text-ui-test/ACTUAL.TXT
text-ui-test/EXPECTED-UNIX.TXT
packList.txt
packingList.txt
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Duke project template
# BagPacker project template

This is a project template for a greenfield Java project. It's named after the Java mascot _Duke_. Given below are instructions on how to use it.

Expand Down
4 changes: 2 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,11 @@ test {
}

application {
mainClass = "seedu.duke.Duke"
mainClass = "bagpacker.BagPacker"
}

shadowJar {
archiveBaseName = "duke"
archiveBaseName = "BagPacker"
archiveClassifier = null
}

Expand Down
15 changes: 8 additions & 7 deletions docs/AboutUs.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
# About us

Display | Name | Github Profile | Portfolio
--------|:----:|:--------------:|:---------:
![](https://via.placeholder.com/100.png?text=Photo) | John Doe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)
![](https://via.placeholder.com/100.png?text=Photo) | Don Joe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)
![](https://via.placeholder.com/100.png?text=Photo) | Ron John | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)
![](https://via.placeholder.com/100.png?text=Photo) | John Roe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)
![](https://via.placeholder.com/100.png?text=Photo) | Don Roe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)
Display | Name | Github Profile | Portfolio
--------|:----------:|:--------------:|:---------:
![](https://via.placeholder.com/100.png?text=Photo) | Yinxuan (Sophie) Tang | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)
![](https://i.ibb.co/FHBJtW7/myface.png) | Linus Puah | [Github](https://github.com/linuspuah) | [Portfolio](docs/team/LinusPortfolio.md)
![](https://via.placeholder.com/100.png?text=Photo) | Ron John | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)
![](https://via.placeholder.com/100.png?text=Photo) | John Roe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)
![](https://via.placeholder.com/100.png?text=Photo) | Don Roe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)

102 changes: 94 additions & 8 deletions docs/DeveloperGuide.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,115 @@
[DeveloperGuide.md](DeveloperGuide.md)
# Developer Guide

Choose a reason for hiding this comment

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

Would be good to include table of contents in the top of the DG

## Acknowledgements

{list here sources of all reused/adapted ideas, code, documentation, and third-party libraries -- include links to the original source as well}
{list here sources of all reused/adapted ideas, code, documentation, and third-party libraries -- include links to the
original source as well}

Choose a reason for hiding this comment

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

It may be better to give a brief overview of how your application works ] at the beginning of the docs, including the main commands and components, before diving into each component individually.


## Design & implementation

Choose a reason for hiding this comment

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

One more idea would be to create a detailed class diagram of the Exception classes - this would greatly help developers with what to use when handling new exceptions for new functionality

Choose a reason for hiding this comment

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

Would be good to include Main architectural design and class diagram for each class to showcase the whole project design


Choose a reason for hiding this comment

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

Should be better to mention the main components of the app architecture to understand the overview of components used?

{Describe the design and implementation of the product. Use UML diagrams and short code snippets where applicable.}
### Command Mechanisms:
For all valid commands, the mechanism of implementation are as follows:

Choose a reason for hiding this comment

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

It would be better if you could try standardising whether to add the full stop at the end of the sentence.

1. Read input - ```runBagPacker()``` method in ```BagPacker``` calls the ```Parser``` class to read user input command
2. Create command object - The ```Parser``` class creates a corresponding command object of the relevant command
3. Execute command object - ```runBagPacker()``` method executes the ```.execute()``` method (overridden by child classes) of the command object
which runs the actual command function

Choose a reason for hiding this comment

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

Would be nice to see some class and sequence diagrams

#### Add Command

Add command is used to add a quantity of item(s) to the packing list.

Mechanism: ```AddCommand.execute()``` calls the ```PackingList.addItem()``` method from the ```PackingList``` class which executes the ```ArrayList.add()``` method to add the item to the ```PackingList``` ArrayList.
It then updates the ```quantity``` variable according to the quantity inputted by the user.


#### Preventing duplicate items

Choose a reason for hiding this comment

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

Preventing duplicate items and add command now are on the same layer which makes it ambiguous. Since preventing duplicate items is under add command then it should be one layer down


When using the `add` function, we have decided to implement a passive function that checks whether the item with the same name already exists in the packingList.

This is done through the `contains()` method in class `PackingList()`, which is called during `execute` in an `AddCommand` object.

Choose a reason for hiding this comment

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

Maybe class diagram would better clarify interactions between the classes rather than text description?


Below is the UML diagram showing what occurs during `add` function.

Choose a reason for hiding this comment

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

I think specifying the below diagram as Sequence Diagram would be a good idea

Choose a reason for hiding this comment

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

Maybe it is better to add the return of control in your diagram.

![img_1.png](img_1.png)

Choose a reason for hiding this comment

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

good use of UML diagram to understand workflow of the command.

Choose a reason for hiding this comment

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

Screenshot 2023-03-30 at 9 10 14 AM

Should contains(item) be referenced as an sd block rather than as the condition in the alt block?

Choose a reason for hiding this comment

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

Screenshot 2023-03-30 at 9 10 14 AM

Should there be an additional activation bar when packingList calls its add method?

Choose a reason for hiding this comment

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

Screenshot 2023-03-30 at 9 10 14 AM

Should the calls to ui be pointed at its lifeline rather than the entity, and be aligned to its activation bar? And, shouldn't the alt block contain the two possibilities of calls to the UI entity?

Choose a reason for hiding this comment

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

image
Maybe there should be two Ui entities instead of one, as the two possible calls does not call the same Ui object.

Choose a reason for hiding this comment

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

image

  1. Exception handling in Sequence Diagram is ambiguous.
  2. Missing self invocation activation bar for .add(item)
  3. Suggest to check out the correct method to showcase static method.(It should point to activation bar)
  4. Incorrect use of Reference frame, should check out module website( should have ref and sd frame)
  5. Return of true and false should be dashed line.
  6. As it is already in loop frame, there is no need to do self-invocate the whole activation bar.

When `execute()` is called in `a`(object of class `AddCommand`), the `addItem(item)` method is called in the object `packingList`. This method will see if method `contains()` will return `true`.

Choose a reason for hiding this comment

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

Would it be a good idea to give the AddCommand instance a more descriptive name?


The `contains()` method, which is shown as a reference on the right of the UML diagram, is a boolean method that loops through all items in the packingList, and returns `true` if any of the existing items have the same description as the item to be added in `toAdd`, and `false` otherwise.

When `contains()` returns `true`, method `addItem(item)` will be interrupted and a `DuplicateItemException` will be thrown from `packingList`, which will be caught by `a`. If `contains()` returns false, the item will be added onto `packingList`.

In both scenarios, `ui.printToUser` will be called to print a message to the user. In the former case, `ExistItemError` will be printed, while `AddSuccess` will be shown if the item was added with no issues.

Choose a reason for hiding this comment

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

good workflow explanation of the command

Choose a reason for hiding this comment

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

Would it be better to place this explanation in front of the diagram?

#### Delete Command

Delete command is used to delete an item from the packing list.

Mechanism: ```DeleteCommand.execute()``` calls the ```PackingList.deleteItem()``` method from the ```PackingList``` class which executes the ```ArrayList.remove()``` method to remove the item from the ```PackingList``` ArrayList.

Choose a reason for hiding this comment

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

Would be great to see the diagrams here!

Choose a reason for hiding this comment

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

Nice and concise explanation of mechanism



#### Help Command
Help command is used to exit the BagPacker application.

Execute: ```HelpCommand.execute()``` prints the following help message.

Choose a reason for hiding this comment

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

Would be nice to know what type of help commands are available.


```
All Commands:
1. add : Adds a quantity of items to the packing list.
Example: add 3 toothbrushes
2. delete : Deletes an item from the packing list.
Example: delete 1
3. list : List all items in packing list.
Example: list
4. pack : Marks an item as packed in the packing list.
Example: pack 2 of 3
Meaning: packs 2 quantities of the third item in the packing list
5. unpack : Marks an item as unpacked in the packing list.
Example: unpack 1 of 2
Meaning: unpacks 1 quantity of the second item in the packing list
6. bye : Stops the BagPacker Application
Example: bye
____________________________________________________________

```

#### Bye Command
```ByeCommand``` is used to exit the BagPacker application.

Mechanism: ```ByeCommand.execute()``` updates the static boolean ```isBagPackerRunning``` to be false.

Choose a reason for hiding this comment

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

In which class is the isBagPackerRunning static variable stored? Would it be a good idea to specify?

The ```runBagPacker()``` method will continually parse and execute relevant commands (refer to Command Mechanisms in DG) until
```isBagPackerRunning == false``` which occurs upon the execution of the ```byeCommand```.

#### DeleteList Command
```DeleteListCommand``` is used to delete a whole packing list in the BagPacker application.

Mechanism: ```DeleteListCommand.execute()``` reassigns the existing ```packingList``` to a new empty ArrayList of Items, thus deleting the ```packingList```.



## Product scope

### Target user profile

{Describe the target user profile}
BagPacker is for NUS students, in particular, exchange students who travel a lot and want a simple CLI to keep track of their packing.

### Value proposition

{Describe the value proposition: what problem does it solve?}
BagPacker aims to help busy students simplify their packing process by allowing easy adding of items to pack and record of the items they have already packed so that they can be organised and aboard their travels with ease.


## User Stories

|Version| As a ... | I want to ... | So that I can ...|
|--------|----------|---------------|------------------|
|v1.0|new user|see usage instructions|refer to them when I forget how to use the application|
|v2.0|user|find a to-do item by name|locate a to-do without having to go through the entire list|
| Version | As a ... | I want to ... | So that I can ... |

Choose a reason for hiding this comment

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

Good job with specifying the user stories by version! Gives a good understanding of the actual program and the progress made

|---------|----------|------------------------------------------------|------------------------------------------------------------------------------|
| v1 | user | Add an item to my packing list | update my packing list |
| v1 | user | Remove an item from my packing list | update my packing list |
| v1 | user | view a list of my packed and unpacked items | keep track of my packing list |
| v1 | user | mark an item as packed | keep track of what is packed |
| v1 | user | mark an item as unpacked | keep track of what is unpacked |
| v1 | new user | see usage instructions | refer to them when I forget how to use the application |
| v2a | user | find an item by name | find the pack status of an item without having to go through the entire list |
| v2a | user | remove my packing list | clear my list once I am done packing |
| v2a | user | Specify the quantity of an item I need to pack | keep track of individual item quantities being packed |
| v2b | user | Save my packing list | keep track of my packing list even after leaving the app |

Choose a reason for hiding this comment

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

very well-managed by specifying the version to be implemented and prioritizing the key features.


## Non-Functional Requirements

Choose a reason for hiding this comment

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

should be better to add in instructions for manual testing to get an overview of all commands?

Expand Down
18 changes: 18 additions & 0 deletions docs/DeveloperGuide.md.rej
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
diff a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md (rejected hunks)
@@ -83,7 +83,16 @@

Mechanism: ```DeleteListCommand.execute()``` reassigns the existing ```packingList``` to a new empty ArrayList of Items, thus deleting the ```packingList```.

+#### Pack Command
+```PackCommand``` is used to mark an item in the list as packed.

+Mechanism: ```PackCommand.execute()``` calls the ```PackingList.packItem()``` method from the ```PackingList``` class.
+This will execute the ```setPacked()``` method to set the value of the boolean ```isPacked``` to be ```true```, and mark the item as packed in the ```PackingList``` ArrayList.
+
+#### Unpack Command
+```Unpack Command``` is used to mark an item in the list as unpacked.
+Mechanism: ```UnpackCommand.execute()``` calls the ```PackingList.unpackItem()``` method from the ```PackingList``` class.
+This will execute the ```setPacked``` method to set the value of the boolean ```isPacked``` to be ```false```, and mark the item as unpacked in the ```PackingList``` ArrayList.

## Product scope

Binary file added docs/img_1.png

Choose a reason for hiding this comment

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

Nice decision to include the reference frame!

Choose a reason for hiding this comment

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

The getDescription calls get pretty confusing here - maybe try to create another activation bar for detaching them to clarify the functionality?

Choose a reason for hiding this comment

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

Does Exception thrown back statement mean actual throw or just showing the error to the user? Would be nice to have it more clearly stated or visualized!

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
11 changes: 11 additions & 0 deletions docs/team/LinusPortfolio.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
[LinusPortfolio.md](LinusPortfolio.md) # portfolio

# Linus Puah Jia He - Project Portfolio Page

## Overview

### Summary of Contributions




1 change: 0 additions & 1 deletion docs/team/johndoe.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
# John Doe - Project Portfolio Page

## Overview

Expand Down
Loading