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

[CS2113T-W11-2] ComputerComponentChooser #2

Open
wants to merge 416 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 246 commits
Commits
Show all changes
416 commits
Select commit Hold shift + click to select a range
1558569
Merge branch 'AY2223S1-CS2113T-W11-2:master' into master
P0tatoChips Oct 22, 2022
bb2f45b
Update Parser.java
P0tatoChips Oct 22, 2022
313328b
Merge branch 'master' of https://github.com/P0tatoChips/tp
P0tatoChips Oct 22, 2022
93dcdd3
Merge pull request #64 from P0tatoChips/master
P0tatoChips Oct 22, 2022
ccf2f99
Added JavaDocs to UI
GitPancaked Oct 23, 2022
f001425
Added JavaDocs to Parser
GitPancaked Oct 23, 2022
371c0d9
Added JavaDocs to ExportText and ExportCSV
GitPancaked Oct 23, 2022
d018835
Add JavaDocs to EditParser and made minor edits to JavaDocs in Parser
GitPancaked Oct 23, 2022
8de33a0
Added JavaDocs for LinkedHashMap2D
GitPancaked Oct 23, 2022
c0a7e5f
Added JavaDocs to Build
GitPancaked Oct 23, 2022
344834b
Added JavaDocs to ComputerComponentChooser
GitPancaked Oct 23, 2022
8df2f9d
Added description for throws as it was failing gradle tests
GitPancaked Oct 23, 2022
a807607
no message
GitPancaked Oct 23, 2022
9173177
Merge pull request #65 from GitPancaked/master
GitPancaked Oct 23, 2022
6534366
Added JavaDocs for BuildManager and Exception classes
P0tatoChips Oct 23, 2022
fac8898
Merge pull request #67 from P0tatoChips/master
P0tatoChips Oct 23, 2022
13ddf01
Added JavaDocs to Component
lcsroy Oct 23, 2022
dfb6dc9
Added JavaDocs to Case
lcsroy Oct 23, 2022
d9191ec
Added JavaDocs to Cooler
lcsroy Oct 23, 2022
7b9b0c9
Added JavaDocs to Cpu and minor changes to the methods in Cpu
lcsroy Oct 23, 2022
d50b50c
Added JavaDocs to Drive
lcsroy Oct 23, 2022
7075ccc
Added JavaDocs to Gpu
lcsroy Oct 23, 2022
f6a5a7a
Added JavaDocs to Memory
lcsroy Oct 23, 2022
f33ce86
Added JavaDocs to Monitor
lcsroy Oct 23, 2022
9b352b7
Added JavaDocs to Motherboard
lcsroy Oct 23, 2022
6797564
Added JavaDocs to Other
lcsroy Oct 23, 2022
fc4346f
Added JavaDocs to PowerSupply
lcsroy Oct 23, 2022
c47225c
Merge branch 'AY2223S1-CS2113T-W11-2:master' into master
lcsroy Oct 23, 2022
64638e8
Correction to indentation error in Case class
lcsroy Oct 23, 2022
4c9608f
Removed Don Roe from AboutUs and attempt fix of DG
P0tatoChips Oct 23, 2022
0f62be4
Merge pull request #69 from P0tatoChips/master
P0tatoChips Oct 23, 2022
1ef5ff4
Added JavaDocs to Storage
lcsroy Oct 23, 2022
8929dbd
Merge pull request #68 from lcsroy/master
lcsroy Oct 23, 2022
93c11e9
Add tests for Build and BuildManager
deveshl Oct 23, 2022
f16d567
fix code style error
deveshl Oct 23, 2022
2959968
Edited methods based on Devesh's suggestions
P0tatoChips Oct 24, 2022
4a79c14
Merge pull request #71 from P0tatoChips/master
P0tatoChips Oct 24, 2022
11c044b
Fixed logic for check socket compatibility
GitPancaked Oct 24, 2022
f49d1f5
Merge pull request #72 from GitPancaked/master
GitPancaked Oct 24, 2022
8139f37
Fixed logic of mainParseFilter
P0tatoChips Oct 24, 2022
0de3996
Added 3 assert for filter methods
P0tatoChips Oct 24, 2022
d9094a9
Exception Handling for Case component
P0tatoChips Oct 24, 2022
6794147
Exception Handling for Cooler Component
P0tatoChips Oct 24, 2022
29ce5aa
Fix code style issue
P0tatoChips Oct 24, 2022
5c44f57
Merge pull request #73 from P0tatoChips/master
P0tatoChips Oct 24, 2022
1a63e31
Exception handling for the rest of components
P0tatoChips Oct 24, 2022
20c3cae
Added try catch in tests because of gradle tests
P0tatoChips Oct 24, 2022
f9be832
Merge pull request #74 from P0tatoChips/master
P0tatoChips Oct 24, 2022
02c410b
DG with Table of Contents
GitPancaked Oct 24, 2022
6188025
Merge pull request #75 from GitPancaked/master
GitPancaked Oct 24, 2022
074cd3c
Basic Class Diagram for BuildManager
P0tatoChips Oct 24, 2022
aa706ae
Updated User Stories in DG
P0tatoChips Oct 24, 2022
1cf3773
Merge pull request #76 from P0tatoChips/master
P0tatoChips Oct 24, 2022
5be0964
Added exception handling for components
P0tatoChips Oct 24, 2022
1c513aa
Merge branch 'AY2223S1-CS2113T-W11-2:master' into master
P0tatoChips Oct 24, 2022
a72704f
Merge pull request #77 from P0tatoChips/master
P0tatoChips Oct 24, 2022
f1d93f4
Added Build to DG, also a short write up for export. Created images a…
GitPancaked Oct 24, 2022
a05fad3
Merge pull request #78 from GitPancaked/master
GitPancaked Oct 24, 2022
267cd8e
Added to DG
P0tatoChips Oct 24, 2022
79a00c6
Added Storage section to DG
lcsroy Oct 25, 2022
32e79d3
Merge pull request #80 from lcsroy/master
lcsroy Oct 25, 2022
0be8996
Merge branch 'AY2223S1-CS2113T-W11-2:master' into master
P0tatoChips Oct 25, 2022
9d068fa
Merge pull request #79 from P0tatoChips/master
P0tatoChips Oct 25, 2022
069e5f6
Merge branch 'master' into junit-tests
deveshl Oct 25, 2022
2313c29
don't parse resolution as integer
deveshl Oct 25, 2022
ae30876
Merge pull request #81 from deveshl/master
deveshl Oct 25, 2022
cbf885e
Fixed output when Listing with no builds stored
P0tatoChips Oct 25, 2022
85d9e6a
Create MANIFEST.MF
P0tatoChips Oct 25, 2022
f731fb5
fix existing tests, add storage test
deveshl Oct 25, 2022
732b950
Moved Storage.puml to the proper folder
P0tatoChips Oct 25, 2022
72db612
add /data to gitignore
deveshl Oct 25, 2022
91864c0
Merge pull request #70 from deveshl/junit-tests
deveshl Oct 25, 2022
c2e240f
Merge pull request #82 from P0tatoChips/master
P0tatoChips Oct 25, 2022
d95aca3
Added dank sequence diagram for add and delete in build
GitPancaked Oct 25, 2022
6f8598c
Merge branch 'AY2223S1-CS2113T-W11-2:master' into master
GitPancaked Oct 25, 2022
fbe24ae
Merge pull request #83 from GitPancaked/master
GitPancaked Oct 25, 2022
0a3db2a
Added Sequence Diagram for the adding of builds
P0tatoChips Oct 25, 2022
edd0d00
Merge pull request #84 from P0tatoChips/master
P0tatoChips Oct 25, 2022
33c1ba6
DG: add component section
deveshl Oct 25, 2022
edc06ef
Merge pull request #85 from deveshl/master
deveshl Oct 25, 2022
b509dcf
Some bug fix
P0tatoChips Nov 1, 2022
ae036b9
Merge branch 'master' of https://github.com/P0tatoChips/tp
P0tatoChips Nov 1, 2022
2fd7fa8
Minor bug fix
P0tatoChips Nov 1, 2022
c2cf232
Bug fix and change some parts of UG to reflect changes in code
P0tatoChips Nov 1, 2022
e9c8161
Merge pull request #123 from P0tatoChips/master
P0tatoChips Nov 1, 2022
e1fa4b3
Added creation of build's text file when the build is being added in …
lcsroy Nov 1, 2022
26cbabb
Minor bug fix
P0tatoChips Nov 1, 2022
13a3877
Merge pull request #124 from lcsroy/master
lcsroy Nov 1, 2022
b205665
Merge pull request #125 from P0tatoChips/master
P0tatoChips Nov 1, 2022
dba7d8e
Added Table of Contents
GitPancaked Nov 1, 2022
43c92d2
Merge pull request #126 from GitPancaked/master
GitPancaked Nov 1, 2022
1077cce
Fixed TOC
GitPancaked Nov 1, 2022
546cff4
Merge branch 'AY2223S1-CS2113T-W11-2:master' into master
GitPancaked Nov 1, 2022
3b76bc2
Merge pull request #127 from GitPancaked/master
GitPancaked Nov 1, 2022
dda5ec7
Fixed TOC and changed examples to example
GitPancaked Nov 1, 2022
802219e
Merge branch 'AY2223S1-CS2113T-W11-2:master' into master
GitPancaked Nov 1, 2022
a651db3
Merge pull request #128 from GitPancaked/master
GitPancaked Nov 1, 2022
23bc713
Removed acknowledgements and the circle for UML diagrams
P0tatoChips Nov 4, 2022
5c00089
Merge pull request #129 from P0tatoChips/master
P0tatoChips Nov 4, 2022
395c4a8
Fixed spelling of checking, added colons to BuildSequeince Diagram
GitPancaked Nov 4, 2022
7596b86
Merge pull request #130 from GitPancaked/master
GitPancaked Nov 4, 2022
d7ce8f9
Added colons to build sequence diagram and added some tests for Compo…
GitPancaked Nov 4, 2022
559f013
Merge branch 'AY2223S1-CS2113T-W11-2:master' into master
GitPancaked Nov 4, 2022
20e4e0f
Formatting
GitPancaked Nov 4, 2022
6d19355
Merge pull request #131 from GitPancaked/master
GitPancaked Nov 4, 2022
f623124
Added more tests to components
GitPancaked Nov 4, 2022
0306c61
Added more tests to ComponentsTest
GitPancaked Nov 4, 2022
1da1454
Merge branch 'AY2223S1-CS2113T-W11-2:master' into master
GitPancaked Nov 4, 2022
20ef7bc
Formatting
GitPancaked Nov 4, 2022
2dfe8b9
Merge pull request #132 from GitPancaked/master
GitPancaked Nov 4, 2022
6d3c6fe
Fixed inconsitency Motherboard getDetails formFactor -> Form Factor
GitPancaked Nov 4, 2022
6733524
Merge branch 'AY2223S1-CS2113T-W11-2:master' into master
GitPancaked Nov 4, 2022
7c1e4b3
Merge pull request #133 from GitPancaked/master
GitPancaked Nov 4, 2022
b622337
Edited UG and Sequence Diagram
P0tatoChips Nov 4, 2022
bc6807b
Merge branch 'AY2223S1-CS2113T-W11-2:master' into master
P0tatoChips Nov 4, 2022
79d0032
Update UserGuide.md
P0tatoChips Nov 4, 2022
01125e0
Merge pull request #134 from P0tatoChips/master
P0tatoChips Nov 4, 2022
e87e684
Added UnlistedComponentTypeException
GitPancaked Nov 4, 2022
9e98e80
Merge branch 'AY2223S1-CS2113T-W11-2:master' into master
GitPancaked Nov 4, 2022
8474b21
no message
GitPancaked Nov 4, 2022
cc20961
Merge pull request #135 from GitPancaked/master
GitPancaked Nov 4, 2022
9e73941
Change buildmanager from HashMap to LinkedHashMap
GitPancaked Nov 4, 2022
2e97838
Merge pull request #136 from GitPancaked/master
GitPancaked Nov 4, 2022
d6d59b8
Add Sequence Diagram for Storage
lcsroy Nov 4, 2022
aae7a51
Update the build file name
lcsroy Nov 4, 2022
c1b377c
Merge remote-tracking branch 'origin/master'
lcsroy Nov 4, 2022
085c04a
Merge pull request #137 from lcsroy/master
lcsroy Nov 4, 2022
a9ffaff
Hide circle in UML diagrams and added sequence diagrams for BuildMana…
P0tatoChips Nov 4, 2022
83ad19b
Merge branch 'AY2223S1-CS2113T-W11-2:master' into master
P0tatoChips Nov 4, 2022
46952ca
Update BuildManager.java
P0tatoChips Nov 4, 2022
0c7ef61
Merge pull request #138 from P0tatoChips/master
P0tatoChips Nov 4, 2022
6936e1b
Added Exception to handle Build name corner case
lcsroy Nov 5, 2022
04d2caf
no message
lcsroy Nov 5, 2022
bbd0a67
Merge pull request #139 from lcsroy/master
lcsroy Nov 5, 2022
20b8205
Added more puml files
GitPancaked Nov 5, 2022
1c4f6bf
Added export interface for better oop...
GitPancaked Nov 5, 2022
0cd9938
Merge branch 'AY2223S1-CS2113T-W11-2:master' into master
GitPancaked Nov 5, 2022
e704872
Reformat Filter feature in UG
lcsroy Nov 5, 2022
1809c5c
Merge pull request #140 from GitPancaked/master
GitPancaked Nov 5, 2022
24b715b
Merge pull request #141 from lcsroy/master
lcsroy Nov 5, 2022
dd35fcf
Updated Build section with diagrams and explanations
GitPancaked Nov 5, 2022
7103ac2
Minor naming fix in ExportCSV
GitPancaked Nov 5, 2022
4b45589
Reformatted the Add feature under Build Editing Mode
lcsroy Nov 5, 2022
187009b
Merge branch 'AY2223S1-CS2113T-W11-2:master' into master
lcsroy Nov 5, 2022
bce27a1
Merge pull request #142 from lcsroy/master
lcsroy Nov 5, 2022
88d6107
Added Bye feature to the UG
lcsroy Nov 5, 2022
76f806a
Merge branch 'AY2223S1-CS2113T-W11-2:master' into master
lcsroy Nov 5, 2022
3ca2191
Merge pull request #143 from lcsroy/master
lcsroy Nov 5, 2022
12abe78
Added to export in DG
GitPancaked Nov 5, 2022
239f279
Merge branch 'AY2223S1-CS2113T-W11-2:master' into master
GitPancaked Nov 5, 2022
fc68c0a
Merge pull request #144 from GitPancaked/master
GitPancaked Nov 5, 2022
5fabb3b
Update DeveloperGuide.md
P0tatoChips Nov 5, 2022
dd47be8
Merge branch 'AY2223S1-CS2113T-W11-2:master' into master
P0tatoChips Nov 5, 2022
15ec0fc
Add trim to methods
P0tatoChips Nov 5, 2022
c4fce43
Merge branch 'master' of https://github.com/P0tatoChips/tp
P0tatoChips Nov 5, 2022
5bf52ed
Added some hyperlinks to UG
lcsroy Nov 5, 2022
62f3745
Merge pull request #145 from P0tatoChips/master
P0tatoChips Nov 5, 2022
781c0b2
Merge pull request #146 from lcsroy/master
lcsroy Nov 5, 2022
b000e55
Added Architecture diagram, corrected Component Diagram to make it mo…
GitPancaked Nov 6, 2022
e26313c
Merge pull request #147 from GitPancaked/master
GitPancaked Nov 6, 2022
50b6180
Added more explanation for Storage feature in DG.
lcsroy Nov 6, 2022
813cd7e
Merge remote-tracking branch 'origin/master'
lcsroy Nov 6, 2022
b207304
added some tests for Parser and EditParser
P0tatoChips Nov 6, 2022
647299b
Merge branch 'AY2223S1-CS2113T-W11-2:master' into master
P0tatoChips Nov 6, 2022
1927806
Update EditParserTest.java
P0tatoChips Nov 6, 2022
2af7e7d
Added more explanation to Storage in DG and some spelling error
lcsroy Nov 6, 2022
224d6fc
Update EditParserTest.java
P0tatoChips Nov 6, 2022
fa786c0
Merge pull request #148 from P0tatoChips/master
P0tatoChips Nov 6, 2022
d821689
Merge pull request #149 from lcsroy/master
lcsroy Nov 6, 2022
0baf8da
Added testing main mode to DG
GitPancaked Nov 6, 2022
c51f0de
Merge pull request #150 from GitPancaked/master
GitPancaked Nov 6, 2022
dd1d69f
Added to Build Editing Mode manual testing
P0tatoChips Nov 6, 2022
7312600
Merge pull request #151 from P0tatoChips/master
P0tatoChips Nov 6, 2022
ef907f1
Added my PPP
GitPancaked Nov 6, 2022
0ca1296
Merge branch 'AY2223S1-CS2113T-W11-2:master' into master
GitPancaked Nov 6, 2022
ed2a6a0
no message
GitPancaked Nov 6, 2022
040cf86
Merge pull request #152 from GitPancaked/master
GitPancaked Nov 6, 2022
a8c8bc7
no message
GitPancaked Nov 6, 2022
1a895ac
PPP and hyperlink fixes
P0tatoChips Nov 6, 2022
19d4773
Merge branch 'AY2223S1-CS2113T-W11-2:master' into master
P0tatoChips Nov 6, 2022
52b1aa5
Merge branch 'AY2223S1-CS2113T-W11-2:master' into master
GitPancaked Nov 6, 2022
596c906
Merge pull request #154 from GitPancaked/master
GitPancaked Nov 6, 2022
48f1a09
Update p0tatochips.md
P0tatoChips Nov 6, 2022
7c58529
Merge branch 'master' of https://github.com/P0tatoChips/tp
P0tatoChips Nov 6, 2022
88c09af
Update AboutUs.md
P0tatoChips Nov 6, 2022
8615849
Added PPP
lcsroy Nov 6, 2022
9bacb58
Update DeveloperGuide.md
P0tatoChips Nov 6, 2022
601bb1a
Merge pull request #153 from P0tatoChips/master
P0tatoChips Nov 6, 2022
00900bf
Merge remote-tracking branch 'origin/master'
lcsroy Nov 6, 2022
39a3fb6
no message
GitPancaked Nov 6, 2022
103a4e9
Merge remote-tracking branch 'origin/master'
lcsroy Nov 6, 2022
7a33120
Merge pull request #155 from lcsroy/master
lcsroy Nov 6, 2022
fe02a35
Merge branch 'AY2223S1-CS2113T-W11-2:master' into master
GitPancaked Nov 6, 2022
3c1f5ad
Merge pull request #156 from GitPancaked/master
GitPancaked Nov 6, 2022
3bf4dea
Update README.md
P0tatoChips Nov 6, 2022
7c06077
Update p0tatochips.md
P0tatoChips Nov 6, 2022
6596b57
Merge pull request #157 from P0tatoChips/master
P0tatoChips Nov 6, 2022
824789e
Update p0tatochips.md
P0tatoChips Nov 6, 2022
c93301e
Reformat PPP
lcsroy Nov 6, 2022
ceda471
Merge remote-tracking branch 'origin/master'
lcsroy Nov 6, 2022
c0d39af
Merge pull request #158 from P0tatoChips/master
P0tatoChips Nov 6, 2022
aadb0a9
Merge pull request #159 from lcsroy/master
lcsroy Nov 6, 2022
b3d9a01
no message
GitPancaked Nov 6, 2022
ddba9a3
Merge branch 'AY2223S1-CS2113T-W11-2:master' into master
GitPancaked Nov 6, 2022
39a4c45
Merge pull request #160 from GitPancaked/master
GitPancaked Nov 6, 2022
8451379
Update _config.yml
P0tatoChips Nov 6, 2022
720b8f3
Merge branch 'AY2223S1-CS2113T-W11-2:master' into master
P0tatoChips Nov 6, 2022
c9df49b
Merge pull request #161 from P0tatoChips/master
P0tatoChips Nov 6, 2022
5e4c9be
Update p0tatochips.md
P0tatoChips Nov 6, 2022
a1329e0
Update p0tatochips.md
P0tatoChips Nov 6, 2022
58afb21
Merge branch 'AY2223S1-CS2113T-W11-2:master' into master
P0tatoChips Nov 6, 2022
a1afebc
Merge pull request #162 from P0tatoChips/master
P0tatoChips Nov 6, 2022
40422a5
Bug fixes for UG/DG/code
P0tatoChips Nov 7, 2022
4064229
Merge branch 'master' of https://github.com/P0tatoChips/tp
P0tatoChips Nov 7, 2022
30ce5d0
Merge branch 'AY2223S1-CS2113T-W11-2:master' into master
P0tatoChips Nov 7, 2022
b4e812e
Merge pull request #163 from P0tatoChips/master
P0tatoChips Nov 7, 2022
34f796b
Update UserGuide.md
P0tatoChips Nov 7, 2022
03e8b3a
Merge branch 'AY2223S1-CS2113T-W11-2:master' into master
P0tatoChips Nov 7, 2022
ebb400c
Merge pull request #164 from P0tatoChips/master
P0tatoChips Nov 7, 2022
da30de6
Update UserGuide.md
P0tatoChips Nov 7, 2022
f90cf47
Merge branch 'AY2223S1-CS2113T-W11-2:master' into master
P0tatoChips Nov 7, 2022
d09d174
Update DeveloperGuide.md
P0tatoChips Nov 7, 2022
b3d46c6
Update DeveloperGuide.md
P0tatoChips Nov 7, 2022
55edc65
Merge pull request #165 from P0tatoChips/master
P0tatoChips Nov 7, 2022
3e274b3
Update UserGuide.md
P0tatoChips Nov 7, 2022
d5bf650
Update UserGuide.md
P0tatoChips Nov 7, 2022
acaacf5
Merge pull request #166 from P0tatoChips/master
P0tatoChips Nov 7, 2022
51b6e3d
DG update
P0tatoChips Nov 7, 2022
5ba6815
Merge branch 'AY2223S1-CS2113T-W11-2:master' into master
P0tatoChips Nov 7, 2022
4a413f3
Update BuildManager.puml
P0tatoChips Nov 7, 2022
8d7dfc4
Merge branch 'master' of https://github.com/P0tatoChips/tp
P0tatoChips Nov 7, 2022
b90e7c3
Merge pull request #167 from P0tatoChips/master
P0tatoChips Nov 7, 2022
84abdfb
Update img
P0tatoChips Nov 7, 2022
32b95d3
Merge pull request #168 from P0tatoChips/master
P0tatoChips Nov 7, 2022
d0602c1
Update _config.yml
P0tatoChips Nov 7, 2022
e6cab59
Merge branch 'AY2223S1-CS2113T-W11-2:master' into master
P0tatoChips Nov 7, 2022
fc61cd3
Merge pull request #169 from P0tatoChips/master
P0tatoChips Nov 7, 2022
88cd68e
Update _config.yml
P0tatoChips Nov 7, 2022
6e2c0b0
Merge branch 'AY2223S1-CS2113T-W11-2:master' into master
P0tatoChips Nov 7, 2022
e9a5cc8
Merge pull request #170 from P0tatoChips/master
P0tatoChips Nov 7, 2022
0c55960
Update _config.yml
P0tatoChips Nov 7, 2022
29100f5
Merge branch 'master' of https://github.com/P0tatoChips/tp
P0tatoChips Nov 7, 2022
a7e5294
Merge pull request #171 from P0tatoChips/master
P0tatoChips Nov 7, 2022
580d5f1
add PPP
deveshl Nov 7, 2022
a706242
Merge pull request #172 from deveshl/master
deveshl Nov 7, 2022
b69d511
markdown fix
deveshl Nov 7, 2022
447eee5
Merge branch 'AY2223S1-CS2113T-W11-2:master' into master
deveshl Nov 7, 2022
694fd53
Merge pull request #173 from deveshl/master
deveshl Nov 7, 2022
6f56911
Edit user guide
deveshl Nov 10, 2022
81498d5
Merge pull request #174 from deveshl/master
deveshl Nov 10, 2022
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
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,4 @@ bin/

/text-ui-test/ACTUAL.txt
text-ui-test/EXPECTED-UNIX.TXT
/data/
3 changes: 3 additions & 0 deletions META-INF/MANIFEST.MF
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Manifest-Version: 1.0
Main-Class: computercomponentchooser.ComputerComponentChooser

6 changes: 3 additions & 3 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -29,18 +29,18 @@ test {
}

application {
mainClassName = "seedu.duke.Duke"
mainClassName = "computercomponentchooser.ComputerComponentChooser"
}

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

checkstyle {
toolVersion = '8.23'
}

run{
run {
standardInput = System.in
}
8 changes: 8 additions & 0 deletions data/a.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
case/airflow/100.50/5/atx/3
cooler/noctua/250/25/am4/2500/5
other/mouse/20/1
powersupply/corsair/350/850
cpu/ryzen 9 5900X/550/105/am4/3.7
drive/ssd/150/5/1/ssd
monitor/prism/200/45/144/1/1080
motherboard/x570/300/25/am4/atx/2/2
6 changes: 6 additions & 0 deletions data/build1.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
motherboard/ASUS ROG/600/130/lga1511/Full ATX/4/4
case/Cooler Master/400/0/full ATX/2/3
cpu/intel 10990x/1200/80/lga1511/3.8
drive/Samsung EVO/500/35/500/ssd
drive/Samsung EVO 2/500/35/500/ssd
drive/Samsung EVO 3/500/35/500/ssd
3 changes: 3 additions & 0 deletions data/build2.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
cpu/AMD RYZEN/500/80/AM4/3.7
drive/Samsung EVO/500/35/500/ssd
gpu/nvidia3090x/2500/130/16/1395
4 changes: 4 additions & 0 deletions data/builds.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
a
build2
build1
testbuild
11 changes: 11 additions & 0 deletions data/exportAllBuildsCSV.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
Build Name, Component Name, Price, Power
build2,AMD RYZEN,500,80,AM4,3.7
build2,Samsung EVO,500,35,500,ssd
build2,nvidia3090x,2500,130,16,1395
build1,ASUS ROG,600,130,lga1511,Full ATX,4,4
build1,Cooler Master,400,0,full ATX,2
build1,intel 10990x,1200,80,lga1511,3.8
build1,noctuna,300,60,m4,1000,20
build1,Samsung EVO,500,35,500,ssd
build1,Samsung EVO 2,500,35,500,ssd
build1,Samsung EVO 3,500,35,500,ssd
35 changes: 35 additions & 0 deletions data/exportAllBuildsText.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
____________________________________________________________
Info:
Build name: build2
Total cost: 3500.0
Total power: 245
Compatibility: Not compatible

Components list:
1. AMD RYZEN [$500] [80 W] [AM4] [3.7 GHz]
2. Samsung EVO [$500] [35 W] [500 GB] [ssd]
3. nvidia3090x [$2500] [130 W] [16 GB] [1395 MHz]
________________________________________________________________________________________________________________________
Info:
Build name: build1
Total cost: 4000.0
Total power: 375
Compatibility: Not compatible

Components list:
1. ASUS ROG [$600] [130 W] [lga1511] [Full ATX] [4 RAM slots] [4 GPU slots]
2. Cooler Master [$400] [0 W] [full ATX] [2]
3. intel 10990x [$1200] [80 W] [lga1511] [3.8 GHz]
4. noctuna [$300] [60 W] [m4] [1000 RPM] [20 dB]
5. Samsung EVO [$500] [35 W] [500 GB] [ssd]
6. Samsung EVO 2 [$500] [35 W] [500 GB] [ssd]
7. Samsung EVO 3 [$500] [35 W] [500 GB] [ssd]
________________________________________________________________________________________________________________________
Info:
Build name: testbuild
Total cost: 0.0
Total power: 0
Compatibility: Not compatible

Components list:
____________________________________________________________
12 changes: 12 additions & 0 deletions data/export_build2.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
____________________________________________________________
Info:
Build name: build2
Total cost: 3500.0
Total power: 245
Compatibility: Not compatible

Components list:
1. AMD RYZEN [$500] [80 W] [AM4] [3.7 GHz]
2. Samsung EVO [$500] [35 W] [500 GB] [ssd]
3. nvidia3090x [$2500] [130 W] [16 GB] [1395 MHz]
____________________________________________________________
10 changes: 10 additions & 0 deletions data/export_testbuild.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
____________________________________________________________
Info:
Build name: testbuild
Total cost: 1200.0
Total power: 80
Compatibility: Not compatible

Components list:
1. intel 10990x [$1200] [80 W] [lga1511] [3.8 GHz]
____________________________________________________________
2 changes: 2 additions & 0 deletions data/testbuild.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
cpu/intel 10990x/1200/80/lga1511/3.8
powersupply/psu/123/123123
13 changes: 6 additions & 7 deletions docs/AboutUs.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
# 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) | Devesh Logendran | [Github](https://github.com/deveshl) | [Portfolio](docs/team/johndoe.md)
![](https://via.placeholder.com/100.png?text=Photo) | Shawn Tan | [Github](https://github.com/GitPancaked) | [Portfolio](docs/team/johndoe.md)
![](https://via.placeholder.com/100.png?text=Photo) | Roy Lim | [Github](https://github.com/lcsroy) | [Portfolio](docs/team/johndoe.md)
![](https://via.placeholder.com/100.png?text=Photo) | Heinrich koh | [Github](https://github.com/P0tatoChips) | [Portfolio](docs/team/johndoe.md)
199 changes: 192 additions & 7 deletions docs/DeveloperGuide.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,26 @@
# Developer Guide

Choose a reason for hiding this comment

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

Better have more examples to each command, users will not know how to invoke the method without method signature or example.

Choose a reason for hiding this comment

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

Better to have an simple demonstration to show how the program works overall.

Choose a reason for hiding this comment

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

Better try to simplify the sentences, and use more hierarchy within a section of code instead a chunk of code to improve readability.

## Table of Contents
* [Acknowledgements](#acknowledgements)
* [Design & Implementation](#design--implementation)
* [Main Mode](#main-mode)
* [Build Manager](#build-manager)
* [Edit Mode](#edit-mode)
* [Build](#build)
* [Components](#components)
* [Storage](#storage)
* [Export](#export)

* [Appendix](#appendix)
* [Product Scope](#product-scope)
* [Target User Profile](#target-user-profile)
* [Value Proposition](#value-proposition)
* [User Stories](#user-stories)
* [Non-Functional Requirements](#non-functional-requirements)
* [Glossary](#glossary)
* [Instructions for Manual Testing](#instructions-for-manual-testing)
Copy link

Choose a reason for hiding this comment

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

Good use of hyperlinks in table of contents!



## Acknowledgements

{list here sources of all reused/adapted ideas, code, documentation, and third-party libraries -- include links to the original source as well}
Expand All @@ -8,30 +29,194 @@

{Describe the design and implementation of the product. Use UML diagrams and short code snippets where applicable.}

### Main Mode

This section describes the implementation of Main Mode features.

Once the `main()` method of ComputerComponentChooser is called, objects for the `BuildManager`, `Parser`,
`editParser`, `Storage`, `Ui` are created.



#### BuildManager

![](/images/BuildManager.png)

Choose a reason for hiding this comment

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

Please kindly remove the c icon! otherwise, good work on the diagram!

image

Choose a reason for hiding this comment

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

You may do so by adding in 'hide circle'


The builds are managed by the BuildManager class. It contains a list of builds in a HashMap. The class also contains
methods to find and filter builds based on user requirements. The BuildManager class is a singleton class, meaning that
there is only one instance of the class in the program. This is to ensure that there is only one list of builds in the
program.

In our application, BuildManager is a class object that contains a HashMap of builds. The HashMap is used to store the
builds in the program. The key of the HashMap is the name of the build, and the value is the build object.

The BuildManager class is responsible for the following operations:
- Add a build to the list of builds
- Delete a build from the list of builds
- Get a particular build from the list of builds
- Get the list of builds
- Find build that contains a search term from the list of builds
- Filter builds based on user requirements

Choose a reason for hiding this comment

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

slightly confused by the idea of "getting a particular build" and "finding a build that contains a search term from the list of builds" - maybe the difference could be explained more distinctly.

##### Add a build to the list of builds

This feature allows users to add a build to the list.

When the user first inputs a command for the adding of a build, the `Parser` class will parse the command and call the
method `mainParseAdd()` in the Parser Class.

The 'mainParseAdd() will check if the provided name is valid or is blank or made up of white spaces. If the provided
name is valid, the method will create a build with the provided name and the method will call the method `addBuild()`
in the `BuildManager` class, passing `addBuild` the created build object with the provided name. If the provided name is
invalid, the `BlankStringException` exception will be thrown and an error message will be printed.

The `addBuild()` method will check if the provided name is already in the list of builds. If the provided name is not
in the list of builds, the method will add the build into the list of builds. If the provided name is already in the
list of builds, the `DuplicateBuildException` exception will be thrown and an error message will be printed.

After adding the build into the list, the program will return to the `mainParseAdd` method where the method will print
a message, telling the user the build has been added.

Finally, the `mainParseAdd` method will call the `saveBuilds()` method in the `Storage` class to save the list of builds
into the data file.

The following sequence diagram shows how the add build operation works:

Choose a reason for hiding this comment

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

All objects listed at the top row of the diagram should start with a colon to indicate it is an object.

![](/images/BuildManagerAddBuildSequence.png)

Choose a reason for hiding this comment

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

diagram was clean and easy to understand!

Choose a reason for hiding this comment

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

image
Do remember to deactivate the activation bar after return call


### Edit Mode

#### Build

![](/images/Build.png)

A build is a collection of components that are used to create a PC. A build can be saved and loaded from the storage.
The user can also export the build to a text file via the export functionality.

In our application build is a class object which contains a 2D linked hash map of components. LinkedHashMap2D is a class
representing a 2D linked hash map data structure. The keys of the outer map are the component types and the keys of the inner
are the component names. The values of the inner map are the components themselves.

The user can add, delete, and view the components in the build. The user can also
perform aggregate operations on the build such as viewing the total price of the build and viewing the total wattage of the build.
There are also check compatibility functions that check if the build's components are compatible with each other in different ways. Such as:
- Check if the power supply is compatible with the build's total power consumption
- Checking if the build's motherboard is compatible with the build's CPU and Cooler
- Checking if the form factor of the build's case is compatible with the build's motherboard
- Checking if the build's storage is compatible with the case expansion slots
- Checking if the number of the build's GPUs is compatible with the motherboard GPU slots
- Checking if the number of the build's RAM is compatible with the motherboard RAM slots

##### Add & delete component

The user can add and delete components from the build. When the user adds a component, the component is added to the 2D linked hash map.
When the user deletes a component, the component is removed from the 2D linked hash map. This is done by calling the `addComponent()` and `deleteComponent()` methods of the Build class.
Which in turn calls the `addElement()` and `removeElement()` methods of the LinkedHashMap2D class.

![](/images/BuildSequence.png)

Choose a reason for hiding this comment

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

sequence diagram is easy to understand

Choose a reason for hiding this comment

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

image

I think the activation bar should end after each return call here as well


### Storage

![](/images/Storage.png)

Note: Some methods are being left out to show the core functionality of the storage class.

Storage is used for loading and saving the user's builds. The user can save their builds to a text file and load them
from a text file.

The `Storage` class has private attributes `FILE_DIRECTORY`, `BUILD_FILE_PATH` and `COMPONENT_FILE_PATH`.
`FILE_DIRECTORY` is the directory where the text files are stored.
`BUILD_FILE_PATH` is the path to the text file where all the build names are stored.
`COMPONENT_FILE_PATH` is the path to the text file where the file is named after the build name. The components of the build
are stored in their respective build text file.

The `Storage` class has a constructor that takes in a `BuildManager` object. The `BuildManager` object is used to access the
builds in the `BuildManager` object. The `Storage` class has a `loadBuild()` method that loads the builds from the text file
a `saveBuild()` method that saves the builds from the `BuildManager` object into the text file. The `Storage` class also has
a `loadComponent()` and `saveComponent()` methods utilize the `BuildManager` object to access the `Build` object to load and save
the components of the build into their respective text files. The `deleteBuild()` method deletes the build from the text file with the path
`BUILD_FILE_PATH` and deletes the text file with the path `COMPONENT_FILE_PATH` that is named after the build name.


### Components

![](/images/Component.png)
Copy link

Choose a reason for hiding this comment

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

The default notation for classes in PlantUML are considered a bugs in DG. You should find a way to hide it
image
image
Same with other class diagrams

Choose a reason for hiding this comment

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

i think the icons can be omitted for all the diagrams


Each of the various components are represented by classes stored in the `components` package. The current components represented are the following:

Choose a reason for hiding this comment

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

For this diagram maybe consider using simplified class diagrams and omit the attributes to show an overview or an architecture diagram instead, then include the details later on

- `Cpu`
- `Gpu`
- `Motherboard`
- `Memory`
- `Drive`
- `Case`
- `Cooler`
- `PowerSupply`
- `Monitor`

An `Other` class is also included to represent any other components that are not currently represented in the application. All the classes inherit from the `Component` class, and any new components added should also inherit from the `Component` class.
All components have the attributes `name`, `price` and `power`, which represent the name of the component, the price of the component and the power consumption of the component respectively. These attributes hold the same meaning in all subclasses except for the `PowerSupply` class, where the `power` attribute represents the power output of the power supply instead.

In addition to the getters and setters for each of the class fields, the classes share the following methods:
- `toCsv()` - returns a string representation of the component in CSV format
- `saveAsString()` - returns a string representation of the component in a format that can be saved to a text file
- `getDetails()` - returns a string representation of the component in a format that can be displayed to the user
- `getType()` - returns the type of the component

### Export

In our application export is a utility class. The user can export all builds or a specific build to a text file. The user can also export
all builds to a CSV file.


## Product scope
### Target user profile

{Describe the target user profile}
This product is targeted towards PC building enthusiasts and professional System builds who have a need and want to
keep track of their PC builds. It is optimized for users to work with a Command Line Interface (CLI).

### Value proposition

{Describe the value proposition: what problem does it solve?}
This product helps builders to keep track of their PC builds and their components. It also helps them to keep track of
their total power consumption and the total cost of their builds. Compatibility of components is also checked to ensure
that the build is able to function properly..

## 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 ... |
|---------|----------|----------------------------|-------------------------------------------------------------|
| v1.0 | new user | see usage instructions | refer to them when I forget how to use the application |
| v1.0 | user | add a new build | refer to when I want to track my build |
| v1.0 | user | list all builds | get a list of all builds in one place |
| v1.0 | user | delete a build | remove builds that I do not need anymore |
| v2.0 | user | find a to-do item by name | locate a to-do without having to go through the entire list |
| v2.0 | user | add a component to a build | refer to when I want to track a component in my build |
| v2.0 | user | list all components | get a list of all components of a build in one place |
| v2.0 | user | delete a component | remove components that I do need anymore |
| v2.0 | user | delete a component | remove components that have mistakes |
| v2.0 | user | check a build | check the compatability of all components of a build |
| v2.0 | user | info | view the relevant information about a build |
| v2.0 | user | export a build | export a build to a text file |
| v2.0 | user | export a build | export a build to a csv file |
| v2.0 | user | find a build | locate a build without having to go through the entire list |
| v2.0 | user | filter builds | find all builds that are within a certain price range |

Choose a reason for hiding this comment

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

Should be considered the same users story?

| v2.0 | user | filter builds | find all builds that are within a certain power range |
| v2.0 | user | filter builds | find all builds that are compatible |

## Non-Functional Requirements

{Give non-functional requirements}
Product should work on any mainstream OS as long as it has Java 11 or above installed.

## Glossary

* *glossary item* - Definition
*
| Terms | Definition |
|-------------|----------------------------------------------------------------------------------------------------|
| CPU | The component of a computer system that controls the interpretation and execution of instructions. |
| GPU | Graphics processing unit, a specialized processor designed to accelerate graphics rendering. |
| Drive | Storage devices to store user information. |
| Memory | A computer's short-term memory, where the data that the processor is currently using is stored. |
| Motherboard | The main circuit board within a computer that the other components plug into to create a whole. |
| Powersupply | A power supply is a hardware component that supplies power to the computer. |

## Instructions for manual testing

Expand Down
Loading