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-1] SysLib CLI #6

Open
wants to merge 672 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 213 commits
Commits
Show all changes
672 commits
Select commit Hold shift + click to select a range
6854f6d
Merge pull request #174 from JoanneJo/JoanneAng-DeveloperGuide
yingx9 Nov 11, 2023
3312f69
Check Code Quality and Coding Standards
Nov 11, 2023
53e1fe9
Update EXPECTED.TXT
Nov 11, 2023
0bbbeee
Merge pull request #175 from JoanneJo/JoanneAng-CodeQualityStandards
yingx9 Nov 12, 2023
78762a9
Add Messages class specific to EditCommand and ListCommand
yingx9 Nov 12, 2023
dc4513d
Update EditCommand for minor change
yingx9 Nov 12, 2023
9b6f673
Fix checkstyle error
yingx9 Nov 12, 2023
e926aa0
Improve coding standard and quality
yingx9 Nov 12, 2023
f3fddd7
Update User Guide
yingx9 Nov 12, 2023
35e3122
Fix user guide images
yingx9 Nov 12, 2023
95d285d
Update DG
yingx9 Nov 12, 2023
77b5dac
Fix wrong argument message error for CD
yingx9 Nov 12, 2023
a3be979
Fix bugs in code and UG
000verflow Nov 12, 2023
c34bd03
Update PPP and code quality
yingx9 Nov 12, 2023
9b7653c
Improve code quality for Find Command
000verflow Nov 12, 2023
13206cc
Remove unused code
yingx9 Nov 12, 2023
d2f49f3
Fix checkstyle error
yingx9 Nov 12, 2023
5e47042
Update Code quality for storage
000verflow Nov 12, 2023
a61dcbe
Merge pull request #178 from 000verflow/Update-misc
yingx9 Nov 12, 2023
997c42c
Merge remote-tracking branch 'upstream/master'
yingx9 Nov 12, 2023
9469554
Update help message
yingx9 Nov 12, 2023
513a68d
Update editcommand help message
yingx9 Nov 12, 2023
7c7c016
Merge pull request #176 from yingx9/YingXia-UpdateDevelopersGuide
000verflow Nov 12, 2023
410b8fa
Update UG
bnjm2000 Nov 12, 2023
46b91c4
Update Storage with logging
000verflow Nov 12, 2023
0b178f7
Fix checkstyle
bnjm2000 Nov 12, 2023
cc3796b
Update Expected.txt
bnjm2000 Nov 12, 2023
3c8bcdd
Fix bug
000verflow Nov 12, 2023
9f0ebc0
Update PPP
bnjm2000 Nov 12, 2023
18d8187
Fix logger
bnjm2000 Nov 12, 2023
6874057
Update DeveloperGuide.md
000verflow Nov 12, 2023
89024db
Update checks
bnjm2000 Nov 12, 2023
e1b1f53
Adds more logs
bnjm2000 Nov 12, 2023
a9a6549
Add assertions
bnjm2000 Nov 12, 2023
2a0f589
Update DeveloperGuide.md
000verflow Nov 12, 2023
1d2a9e0
Update DG with content page
000verflow Nov 12, 2023
1684dab
Update DG
DavinciDelta Nov 12, 2023
2ba206b
change resourceList and eventList to plural form
bnjm2000 Nov 12, 2023
b777a5f
Add Component Diagram to Developer's Guide and update explanations
yingx9 Nov 12, 2023
d4ae0ca
Update tests
bnjm2000 Nov 12, 2023
5a78c6f
Merge pull request #181 from DavinciDelta/UpdateGuides
yingx9 Nov 12, 2023
2f3e44f
Update DG diagrams, and content
000verflow Nov 12, 2023
97cad21
Update 000verflow.md
000verflow Nov 12, 2023
2554009
Update DeveloperGuide.md
DavinciDelta Nov 12, 2023
14a3627
Merge pull request #184 from 000verflow/add-DGupdates
DavinciDelta Nov 12, 2023
63453fe
Merge pull request #182 from bnjm2000/BenjaminNg-FixLogsandConsistency
DavinciDelta Nov 12, 2023
d764d5c
Merge branch 'master' into UpdateGuides
000verflow Nov 12, 2023
3e76276
Add EventEdit and Summary to DG
bnjm2000 Nov 12, 2023
c1f2eb6
Merge pull request #185 from DavinciDelta/UpdateGuides
000verflow Nov 12, 2023
2ef1716
Merge branch 'master' into YingXia-UpdateDGSections
000verflow Nov 12, 2023
6ccd9e1
Add DG contributions
bnjm2000 Nov 12, 2023
06ea763
Merge branch 'master' of https://github.com/AY2324S1-CS2113T-W11-1/tp…
bnjm2000 Nov 12, 2023
c0d5e3c
Merge branch 'master' of https://github.com/AY2324S1-CS2113T-W11-1/tp…
bnjm2000 Nov 12, 2023
c821d30
Merge pull request #183 from yingx9/YingXia-UpdateDGSections
000verflow Nov 12, 2023
e867c3e
Merge branch 'master' of https://github.com/AY2324S1-CS2113T-W11-1/tp…
bnjm2000 Nov 12, 2023
c1e9cca
Update Diagram
000verflow Nov 12, 2023
9875519
Update DeveloperGuide.md
000verflow Nov 12, 2023
deabce1
Add Examples to Manual Testing
bnjm2000 Nov 12, 2023
72f7a03
Fix space before responds in ListCommand
bnjm2000 Nov 12, 2023
5bb5e16
Merge pull request #186 from 000verflow/update-dg-diagram
yingx9 Nov 12, 2023
7bc6433
Add example outputs
bnjm2000 Nov 12, 2023
d4409d5
Add manual testing for Events
bnjm2000 Nov 12, 2023
4a35813
Fix Conding Standard, Consistency and Quality
bnjm2000 Nov 12, 2023
aac1c2a
Merge branch 'master' of https://github.com/AY2324S1-CS2113T-W11-1/tp…
bnjm2000 Nov 12, 2023
f5f1ca5
Fix tests
bnjm2000 Nov 12, 2023
fb6d50b
Update Help Checks
bnjm2000 Nov 12, 2023
2e08a1f
Beautify help message and shorten URL to UG
bnjm2000 Nov 12, 2023
22db27b
Update test
bnjm2000 Nov 12, 2023
5f9c628
Update Test
bnjm2000 Nov 12, 2023
160f331
Fix Consistency
bnjm2000 Nov 12, 2023
b61d8ab
Fix checkstyle
bnjm2000 Nov 12, 2023
cf5d146
Fix checkstyle
bnjm2000 Nov 12, 2023
cd921d2
Fix IO test
bnjm2000 Nov 12, 2023
302c6e2
Merge branch 'master' of https://github.com/AY2324S1-CS2113T-W11-1/tp…
bnjm2000 Nov 12, 2023
4b94d65
Merge pull request #187 from bnjm2000/BenjaminNg-FixConsistency
JoanneJo Nov 12, 2023
f0d0091
Merge branch 'master' of https://github.com/AY2324S1-CS2113T-W11-1/tp…
bnjm2000 Nov 12, 2023
49ed028
Update DG
bnjm2000 Nov 12, 2023
45e9008
Update UG
bnjm2000 Nov 12, 2023
3e0964d
Update PPP
bnjm2000 Nov 12, 2023
70aa604
Fix errata
bnjm2000 Nov 12, 2023
05b1ae1
Merge branch 'master' of https://github.com/AY2324S1-CS2113T-W11-1/tp…
bnjm2000 Nov 12, 2023
745cfe6
Update PPP
bnjm2000 Nov 12, 2023
dab0180
Remove unused import
bnjm2000 Nov 12, 2023
606150e
Add Tests to DeleteCommand and EventEditCommand
bnjm2000 Nov 12, 2023
dbd0f6b
Merge branch 'master' into JoanneAng-ValidateAdd
Nov 12, 2023
05ac015
Merge pull request #180 from bnjm2000/BenjaminNg-UpdatePPP
yingx9 Nov 13, 2023
dcd821b
Merge pull request #188 from bnjm2000/BenjaminNg-UpdateUGandDG
yingx9 Nov 13, 2023
59fcfee
Merge branch 'master' of https://github.com/AY2324S1-CS2113T-W11-1/tp…
bnjm2000 Nov 13, 2023
dbe1892
Fix bugs in UG, update Target Users and PPP
yingx9 Nov 13, 2023
e4d5070
Merge remote-tracking branch 'upstream/master' into YingXia-UpdateDGS…
yingx9 Nov 13, 2023
bbda864
Update files after merge
yingx9 Nov 13, 2023
1536674
Merge pull request #189 from yingx9/YingXia-UpdateDGSections
DavinciDelta Nov 13, 2023
ce5bf36
Update UG and PPP
000verflow Nov 13, 2023
3c17566
Fix DG formatting bug and update PPP
yingx9 Nov 13, 2023
dfe146d
Add user centric language to UG
000verflow Nov 13, 2023
1415bea
Update 000verflow.md
000verflow Nov 13, 2023
9fd3fb8
Update EXPECTED.TXT
000verflow Nov 13, 2023
6b7d533
Merge pull request #191 from 000verflow/Update-UG-DG-PPP
yingx9 Nov 13, 2023
8a87a8b
Update ListCommand to ignore capitalization
yingx9 Nov 13, 2023
73d678f
Update hasGenre code quality
yingx9 Nov 13, 2023
1b05620
Merge remote-tracking branch 'upstream/master' into YingXia-UpdateLis…
yingx9 Nov 13, 2023
d3a4711
Merge branch 'YingXia-UpdateListFeatureGenre' into YingXia-UpdateDGSe…
yingx9 Nov 13, 2023
b8ff03f
Update UG
yingx9 Nov 13, 2023
aaf7280
Add Tests
bnjm2000 Nov 13, 2023
5f259df
Update example input in UG
yingx9 Nov 13, 2023
1b5f917
Merge branch 'master' of https://github.com/AY2324S1-CS2113T-W11-1/tp…
bnjm2000 Nov 13, 2023
d72a691
Update editcommand example inpu
yingx9 Nov 13, 2023
88f6029
Update DG UI component
000verflow Nov 13, 2023
d93abf1
Merge pull request #190 from yingx9/YingXia-UpdateDGSections
bnjm2000 Nov 13, 2023
051ebb5
Fix checkstyle
bnjm2000 Nov 13, 2023
099c89b
Merge branch 'master' of https://github.com/AY2324S1-CS2113T-W11-1/tp…
bnjm2000 Nov 13, 2023
f337022
Update DG
bnjm2000 Nov 13, 2023
d33bd3c
Fix lineseparator() error
bnjm2000 Nov 13, 2023
2d1b653
Update ppp
DavinciDelta Nov 13, 2023
f21df65
Fix bug with storage not working on mac
000verflow Nov 13, 2023
5a92bc9
Revert "Fix bug with storage not working on mac"
000verflow Nov 13, 2023
fc5e677
Revert "Update DG UI component"
000verflow Nov 13, 2023
f868706
Update PPP
bnjm2000 Nov 13, 2023
eb1a72f
Update DG
bnjm2000 Nov 13, 2023
fa79b5c
Update DG and Storage Bug
000verflow Nov 13, 2023
32a38eb
Merge pull request #193 from DavinciDelta/master
yingx9 Nov 13, 2023
f7bcd7b
Merge pull request #194 from bnjm2000/BenjaminNg-UpdatePPPandDG
yingx9 Nov 13, 2023
b98c3e8
Update find sequence diagram
000verflow Nov 13, 2023
d0cec53
Update DeveloperGuide.md
000verflow Nov 13, 2023
dcba2c9
Fix storage file check, with universal paths library
000verflow Nov 13, 2023
7e51f89
Update help command
DavinciDelta Nov 13, 2023
a9232da
Bug fix in storage
000verflow Nov 13, 2023
c1eb25b
Fix style
000verflow Nov 13, 2023
6f0bf8c
Update help command test
DavinciDelta Nov 13, 2023
f528d3e
Fix bug again
000verflow Nov 13, 2023
35ee966
Merge pull request #195 from 000verflow/update-dg-and-storage
DavinciDelta Nov 13, 2023
0e3e670
Merge pull request #196 from DavinciDelta/HelpUpdate
yingx9 Nov 13, 2023
7a4c870
Merge pull request #192 from bnjm2000/BenjaminNg-AddTests
yingx9 Nov 13, 2023
31fd45a
Update sample input and output and formats for DG
bnjm2000 Nov 13, 2023
ba1bb43
Add spacing for markdown on UG
bnjm2000 Nov 13, 2023
2013d2e
Update contributions on PPP
bnjm2000 Nov 13, 2023
8024f9e
Update display message
yingx9 Nov 13, 2023
0e54f86
Fix bar not appearing on Windows
bnjm2000 Nov 13, 2023
aca3072
Improve feedback
DavinciDelta Nov 13, 2023
655d82f
Merge branch 'master' of https://github.com/AY2324S1-CS2113T-W11-1/tp…
bnjm2000 Nov 13, 2023
88e67cf
Merge pull request #198 from yingx9/YingXia-UpdateArgsMessage
bnjm2000 Nov 13, 2023
e04e2ca
Update Command.java
DavinciDelta Nov 13, 2023
39da842
Removed unused import
bnjm2000 Nov 13, 2023
fb94951
Merge pull request #200 from DavinciDelta/ArgumentHandling
yingx9 Nov 13, 2023
251ac54
Merge branch 'master' of https://github.com/AY2324S1-CS2113T-W11-1/tp…
bnjm2000 Nov 13, 2023
72a62b3
Merge pull request #199 from bnjm2000/BenjaminNg-UpdatePPPandDG
yingx9 Nov 13, 2023
a5ea0fc
Improve Validation for Add Command
Nov 13, 2023
9dbf4d6
Merge branch 'master' into JoanneAng-ValidateAdd
JoanneJo Nov 13, 2023
edd09a7
Fix Checkstyle
Nov 13, 2023
a0556d0
Update CreateResource.java
JoanneJo Nov 13, 2023
c3afc84
Update EXPECTED.TXT
Nov 13, 2023
26b9de7
Update EXPECTED.TXT
JoanneJo Nov 13, 2023
eaef395
Merge branch 'JoanneAng-ValidateAdd' of https://github.com/JoanneJo/t…
Nov 13, 2023
b9dcbf8
Merge branch 'master' into JoanneAng-ValidateAdd
JoanneJo Nov 13, 2023
d455596
Update EXPECTED.TXT
Nov 13, 2023
27c9ea4
Update EXPECTED.TXT
JoanneJo Nov 13, 2023
24fc641
Merge pull request #201 from JoanneJo/JoanneAng-ValidateAdd
bnjm2000 Nov 13, 2023
d14f07e
Add CommandExceptionTesting
DavinciDelta Nov 13, 2023
f8c8186
Merge pull request #202 from DavinciDelta/ArgumentHandling
yingx9 Nov 13, 2023
ffc6804
Merge branch 'master' into JoanneAng-ValidateAdd
Nov 13, 2023
ba1ea27
Update readme.md
yingx9 Nov 13, 2023
49ef561
Update comments for suggestParser
DavinciDelta Nov 13, 2023
092b0ca
Merge pull request #203 from yingx9/YingXia-UpdateReadme.md
DavinciDelta Nov 13, 2023
075e9f4
Update greeting message
yingx9 Nov 13, 2023
d4cb6c7
Merge pull request #204 from DavinciDelta/master
yingx9 Nov 13, 2023
0c39ee6
Merge remote-tracking branch 'upstream/master' into YingXia-UpdateRea…
yingx9 Nov 13, 2023
5438f79
Fix Invalid First Word Bug for Add Command
Nov 13, 2023
af58f83
Update EXPECTED.TXT
Nov 13, 2023
51726b5
Merge branch 'JoanneAng-ValidateAdd' into JoanneAng-DeveloperGuide
Nov 13, 2023
87a07c4
Update List Screenshot
yingx9 Nov 13, 2023
fcca109
Merge pull request #205 from JoanneJo/JoanneAng-ValidateAdd
yingx9 Nov 13, 2023
623f10e
Merge remote-tracking branch 'upstream/master' into YingXia-UpdateUG
yingx9 Nov 13, 2023
650cd5a
Fix formatting
yingx9 Nov 13, 2023
3f39dcc
Update DG and UG
DavinciDelta Nov 13, 2023
5d61831
Merge branch 'master' of https://github.com/DavinciDelta/tp
DavinciDelta Nov 13, 2023
e21e8a3
Merge pull request #206 from yingx9/YingXia-UpdateUG
DavinciDelta Nov 13, 2023
8910c81
Update ppp
DavinciDelta Nov 13, 2023
8fc8096
Merge branch 'AY2324S1-CS2113T-W11-1:master' into master
DavinciDelta Nov 13, 2023
0d83344
Merge pull request #207 from DavinciDelta/master
yingx9 Nov 13, 2023
1252521
Update davincidelta.md
DavinciDelta Nov 13, 2023
0e43394
Fix bug to work on mac os as well
000verflow Nov 13, 2023
0049433
Hardcode date to pass test
000verflow Nov 13, 2023
c1c2232
Update UG
bnjm2000 Nov 13, 2023
b8cc87c
Merge branch 'master' of https://github.com/AY2324S1-CS2113T-W11-1/tp…
bnjm2000 Nov 13, 2023
79bf79f
Merge pull request #210 from 000verflow/update-storage-filecreation
bnjm2000 Nov 13, 2023
bc69c45
Merge pull request #208 from DavinciDelta/master
bnjm2000 Nov 13, 2023
702c212
Rearrange output of summaryCommand
bnjm2000 Nov 13, 2023
0def53b
Update DG
bnjm2000 Nov 13, 2023
72712af
Update PPP
bnjm2000 Nov 13, 2023
ffca526
Fix SummaryCommandTest
bnjm2000 Nov 13, 2023
6a555b5
Add checks and consistency
bnjm2000 Nov 13, 2023
437bed7
Update EXPECTED.txt
bnjm2000 Nov 13, 2023
72f4e36
Add tests
bnjm2000 Nov 13, 2023
a47792c
Fix EventDelete
bnjm2000 Nov 13, 2023
45297fb
Add EditCommandTests
bnjm2000 Nov 13, 2023
4527aff
Merge branch 'master' of https://github.com/AY2324S1-CS2113T-W11-1/tp…
bnjm2000 Nov 13, 2023
25ff4b5
Clear logs
bnjm2000 Nov 13, 2023
b244bef
Update Developer Guide
Nov 13, 2023
311896a
Update README with logo
bnjm2000 Nov 13, 2023
ee9f27c
Merge branch 'JoanneAng-DeveloperGuide' into JoanneAng-PPP
Nov 13, 2023
c97e9f2
Update DG
bnjm2000 Nov 13, 2023
54e3255
Update PPP
bnjm2000 Nov 13, 2023
37ec9c2
Merge pull request #214 from JoanneJo/JoanneAng-DeveloperGuide
bnjm2000 Nov 13, 2023
082aabf
Merge branch 'master' of https://github.com/AY2324S1-CS2113T-W11-1/tp…
bnjm2000 Nov 13, 2023
89ccff1
Update UG
bnjm2000 Nov 13, 2023
1eb1d61
Remove "CLI" from exit message
bnjm2000 Nov 13, 2023
0497539
Update Tests
bnjm2000 Nov 13, 2023
e613681
Fix more tests
bnjm2000 Nov 13, 2023
146d2fd
Format UG with breaks
bnjm2000 Nov 13, 2023
5ac83f1
Format DG with breaks for PDF
bnjm2000 Nov 13, 2023
a6be805
Update main README with logo
bnjm2000 Nov 13, 2023
8011bfe
Update Project Portfolio Page
Nov 13, 2023
428e73c
Merge branch 'JoanneAng-PPP' into JoanneAng-AddCommandJUnit
Nov 13, 2023
90e2b71
Add More JUnit Tests
Nov 13, 2023
1446e27
Fix Checkstyle
Nov 13, 2023
8943405
Merge pull request #211 from bnjm2000/BenjaminNg-UpdatePPPandDG
JoanneJo Nov 13, 2023
2afc778
Merge pull request #213 from bnjm2000/BenjaminNg-FixEventDelete
JoanneJo Nov 13, 2023
fbf63c6
Update DeveloperGuide.md
DavinciDelta Nov 14, 2023
8cb7119
Update davincidelta.md
DavinciDelta Nov 14, 2023
3958f80
Merge branch 'master' into JoanneAng-PPP
JoanneJo Nov 14, 2023
447388e
Update EXPECTED.TXT
DavinciDelta Nov 14, 2023
8a682db
Update EXPECTED.TXT
DavinciDelta Nov 14, 2023
2ce2014
Merge pull request #217 from DavinciDelta/master
yingx9 Nov 14, 2023
21003a1
Merge remote-tracking branch 'upstream/master' into JoanneAng-PPP
Nov 14, 2023
d2c5ffa
Update DG usecase and UG
000verflow Nov 14, 2023
d0c820d
Merge branch 'JoanneAng-PPP' of https://github.com/JoanneJo/tp into J…
Nov 14, 2023
a8b589e
Merge pull request #215 from JoanneJo/JoanneAng-PPP
yingx9 Nov 14, 2023
1bec5c7
Merge branch 'master' into Update-DG
000verflow Nov 14, 2023
2e1ae79
Merge branch 'JoanneAng-PPP' into JoanneAng-AddCommandJUnit
Nov 14, 2023
e1d3486
Merge pull request #218 from 000verflow/Update-DG
yingx9 Nov 14, 2023
274a634
Merge pull request #216 from JoanneJo/JoanneAng-AddCommandJUnit
yingx9 Nov 14, 2023
0d39e40
Fix logo link
yingx9 Nov 14, 2023
de188eb
Merge pull request #219 from yingx9/YingXia-FixLogoReadMe
bnjm2000 Nov 14, 2023
3fcb1d6
Fix logo formatting
yingx9 Nov 14, 2023
3e4b854
Merge remote-tracking branch 'upstream/master' into YingXia-FixLogoRe…
yingx9 Nov 14, 2023
4457e1b
Fix images and formatting error
yingx9 Nov 14, 2023
7cfd867
Fix formatting error
yingx9 Nov 14, 2023
026b4b9
Update DG and UG formatting
yingx9 Nov 14, 2023
09d40b6
Update Project Portfolio Page
Nov 14, 2023
f77ddfb
Prints Syslib version
bnjm2000 Nov 14, 2023
d09005f
Merge pull request #220 from yingx9/YingXia-FixReadme
bnjm2000 Nov 14, 2023
b9677d3
Merge pull request #221 from JoanneJo/JoanneAng-PPP
JoanneJo Nov 14, 2023
c886ae1
Update test
bnjm2000 Nov 14, 2023
657f857
Fix testp1
bnjm2000 Nov 14, 2023
0f84321
Fix testp2
bnjm2000 Nov 14, 2023
d857fbe
fix test
bnjm2000 Nov 14, 2023
3d0f6b3
Merge pull request #222 from bnjm2000/BenjaminNg-addVersion
yingx9 Nov 14, 2023
e2992e2
Merge remote-tracking branch 'upstream/master' into JoanneAng-UserGuide
Nov 14, 2023
4169708
Update UG
Nov 14, 2023
697c7ee
Merge pull request #223 from JoanneJo/JoanneAng-UserGuide
JoanneJo Nov 14, 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
1 change: 1 addition & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -43,4 +43,5 @@ checkstyle {

run{
standardInput = System.in
enableAssertions = true
}
15 changes: 7 additions & 8 deletions docs/AboutUs.md
Copy link
Member

Choose a reason for hiding this comment

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

The table is not displayed properly. Please try to add an empty line between the table and the # About us.

Copy link
Member

Choose a reason for hiding this comment

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

The avatars are too big! Maybe making the picture smaller will look better!

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 |
|-------------------------------------------------------------------------|:-------------:|:-----------------------------------------:|:--------------------------------:|
| ![yingxia_portfolio.jpg](team/pictures/yingxia_portfolio.jpg) | Loke Ying Xia | [Github](https://github.com/yingx9) | [Portfolio](team/YingXia.md) |
| ![benjaminng_portfolio.jpeg](team/pictures/benjaminng_portfolio.jpeg) | Benjamin Ng | [Github](https://github.com/bnjm2000) | [Portfolio](team/BenjaminNg.md) |
| ![joanneang_portfolio.jpg](team/pictures/joanneang_portfolio.jpg) | Joanne Ang | [Github](https://github.com/JoanneJo) | [Portfolio](team/JoanneAng.md) |
| ![ashokbalaji_portfolio.jpg](./team/pictures/ashokbalaji_portfolio.jpg) | Ashok Balaji | [Github](https://github.com/000verflow) | [Portfolio](team/ashokbalaji.md) |
| ![](https://via.placeholder.com/100.png?text=Photo) | Wu Xingyu | [Github](https://github.com/DavinciDelta) | [Portfolio](team/WuXingyu.md) |
324 changes: 314 additions & 10 deletions docs/DeveloperGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,26 +4,232 @@

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

## Design & implementation
## Setting Up & Getting Started

1. Fork the repo at https://github.com/AY2324S1-CS2113T-W11-1/tp.
Copy link
Member

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 use hyperlinks?

2. Clone the fork into your computer.

## Design & Implementation

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

### Architecture

<img src="images/ArchitectureDiagram.png" />


**Main components of SysLib Architecture**

SysLib currently consists of four main components:

- `UI`: User Interaction

Choose a reason for hiding this comment

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

UI should be User Interface?

- `Parser`: Parsing User Response
- `Command`: Command Executor
- `Data`: Holds the data of SysLib
Copy link
Member

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 indicate where other packages (e.g., storage, common, etc.) belong?



Choose a reason for hiding this comment

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

Consider adding class diagrams to show how the different classes are related to each other.


### UI Component

### Parser Component

### Command Component


### Data Component

Choose a reason for hiding this comment

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

Maybe can add some content after each title

Copy link
Member

Choose a reason for hiding this comment

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

Maybe can add some content after each title

I think they just have not started to write them… 😂


## Implementation
This section provides details on how certain features are implemented.

### Find Resource Feature

The `find` command allows users to search for resources based on specified filters such as author (`/a`), ISBN (`/i`), ID (`/id`), and title (`/t`). The results will show all resources that match any of the given filters.

`find` has the following options:
- `find /id [ID]`
- `find /t [TITLE]`
- `find /a [AUTHOR]`
- `find /i [ISBN]`
Copy link
Member

Choose a reason for hiding this comment

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

According to the textbook, we are suggested to use * instead of - for bullet-points, but it is optional to follow it.


Multiple filters can also be combined:

- `find /t [TITLE] /a [AUTHOR]`

#### Implementation

Upon receiving the `find` command, the system will:

1. Parse the filters and their associated values.
2. Filter the resources based on the given filters.
3. Display the matching resources.
Comment on lines +418 to +420
Copy link
Member

Choose a reason for hiding this comment

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

According to the textbook, we are suggested to use generic numbering for ordered lists, but it is optional to follow it.


#### Example Usage Scenario

**Step 1.** The user inputs the command: `find /a "F. Scott Fitzgerald"`

**Step 2.** The `UI` component forwards the input to `SYSLIB`, which then sends it to the `PARSER`.

**Step 3.** The `PARSER` processes the command, extracts the `author` filter, and retrieves all resources written by "F. Scott Fitzgerald".

**Step 4.** The matching resources are displayed to the user.

#### Sequence Diagram
A sequence diagram could be provided here to visually show how the `find` function works.

(Note: You would include the actual sequence diagram image, similar to the diagrams shown for other features.)

### Examples for Testing

Choose a reason for hiding this comment

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

Good use of examples!

1. **Find by Author**
- Test case: `find /a "F. Scott Fitzgerald"`

Expected: All resources written by F. Scott Fitzgerald are displayed.

2. **Find by ISBN**
- Test case: `find /i "9780061120084"`

Expected: The resource with ISBN "9780061120084" is displayed, which should be "To Kill a Mockingbird" by Harper Lee.

3. **Find by ID**
- Test case: `find /id 2`

Expected: The resource with ID "2" is displayed, which should be "To Kill a Mockingbird" by Harper Lee.

4. **Find by Title**
- Test case: `find /t "The Great Gatsby"`

Expected: The resource titled "The Great Gatsby" is displayed.

5. **Combining Filters**
- Test case: `find /a "F. Scott Fitzgerald" /t "The Great Gatsby"`

Expected: Only the resource that matches both the title "The Great Gatsby" and the author "F. Scott Fitzgerald" is displayed.


### Add Resource Feature

The `add` feature is responsible for processing user commands to add a new book to SysLib. It is facilitated by
the `AddCommand` component. It works with `Parser` and `Command` components to parse and validate the user input.
The new book is stored internally in `resourceList` as a `Book`.

`add` has seven options:
- add /id [id] /t [title] /a [author] /tag [tag] /i [isbn]
- add /id [id] /t [title] /a [author] /tag [tag] /i [isbn] _/g [genre] /s [status]_

Choose a reason for hiding this comment

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

What does the italics represent? Perhaps more explaination can be added to the DG to explain it. I am not sure if it is there to highlight the difference or to indicate that they are optional tags.

Choose a reason for hiding this comment

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

Can consider putting these commands in a code block for readability.


#### Implementation

It implements the following operations:

Choose a reason for hiding this comment

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

Is ADDCOMMAND needed for each operation? Might want to explicitly mention that each operation belongs to ADDCOMMAND once at the start instead

- `ADDCOMMAND#parseArgument(statement: String)` -- Parses the input command to extract relevant information.
- `ADDCOMMAND#validate(statement: String, values: String[])` -- Validates the input statement to ensure that it is valid.
- `ADDCOMMAND#createBook(values: String[])` -- Creates a new book based on the parsed and validated values.

#### Example Usage Scenario

Step 1. The user inputs the command: `add /id 0005 /t Frankenstein /a Mary Shelley /i FKS0001 /tag B /g Gothic, Fiction`
Copy link
Member

Choose a reason for hiding this comment

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

Why is "Step 1." in bold above but not here? Is it better to have a unified style?


Step 2. The `UI` component forwards the input to `SYSLIB`, which in turn passes it to the `PARSER`.

Step 3. The `PARSER` processes the command and determines that it contains a valid key (`add`). It then calls
`ADDCOMMAND#execute(statement: String, this: Parser)` with the input command.

Step 4. The `ADDCOMMMAND` component receives the command and performs the following operations:
- Calls `ADDCOMMAND#parseArgument(statement: String)` to extract values for ID, title, author, ISBN, tag, and genres.
- Calls `ADDCOMMAND#validate(statement: String, values: String[])` to ensure the validity of the input command.

Step 5. The `COMMAND` component processes the input command to ensure that it meets the required format and constraints.
It prepares the argument values for further processing.

Step 6. Since the `tag` argument in the input command indicates that it is a book, the `ADDCOMMAND` determines that the
key is equal to `b` (ignoring case). It then creates a new `Book` object using the parsed values (title, ISBN, author,
genres, ID).

Step 7. The newly created book is forwarded to the `PARSER` to be added to the `resourceList`.

Choose a reason for hiding this comment

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

A well-written, detailed explanation of the process. Great for a future developer!


#### Sequence Diagram
The following sequence diagram shows how the add function works:
<img src="images/AddSequenceDiagram.png"/>

Choose a reason for hiding this comment

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

It's a good diagram in many ways, however the size could be much more compact without low-level details such as exactly what method is called or what text is passed into each argument.


Choose a reason for hiding this comment

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

This diagram contains a repeated input string which is very long. Can consider mentioning the input outside of the diagram to make the diagram more compact and readable

### Listing Resources Feature

The `list` command works with the `Parser` and `Command` component to execute the correct action.

`list` has four options:
- list
- list _/tag [tag]_
- list _/g [genre]_
- list _/tag [tag]_ _/g [genre]_

When `list` is specified with both `tag` and `genre` filters, it is `AND` inclusive, listing only
Resources with the same tag and genre.

Sequence Diagram:

<img src="images/ListSequenceDiagram.png" />

When a user enters `list /tag B`, the Parser retrieves the parameters from the input and
calls the `execute` function of ListCommand.

ListCommand then calls `parseArg` and `validate` from `Command`, which checks if the parameters are valid. If it passes
the checks, `filterResources` is called to begin the filtering process. First it calls `hasFilters()` check if the user
selected any filters `[tag/genre/both]` or none.

If hasFilters returns `true`, it filters the `resourceList` with the given keywords and display the details
of the resources.

If hasFilters returns `false`, it skips the filtering process and displays the details of all the resources.

## Product scope

### Target user profile

{Describe the target user profile}
All librarians, not just system librarian!

### Value proposition
- Needs to manage inventory with significant number of resources e.g. books
- Is a fast typist

{Describe the value proposition: what problem does it solve?}
### Value Proposition

To provide a platform to help librarians to quickly find the information they need to assist patrons.

## 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 | librarian | view a list of books that the library has | have an overview of all the books |
| v1.0 | librarian | add new books to our inventory by entering their title, author, ISBN, and publication year | keep our collection up-to-date |
| v1.0 | librarian | delete books from the database | let the patrons know our library no longer carries it |
| v1.0 | librarian | tag a book as physical medium like newspapers, audio cds, books or online like eJournals | patrons can know what type are available |
| v1.0 | librarian | have a help function | know the commands of this programme |
| v1.0 | librarian | quickly find out how many books we have of a particular author and the names of the books | know how many books are related to the author |
| v2.0 | librarian | import/export our library's inventory data to a file format | easily share with other libraries to be used for backup and archival purposes. |
| v2.0 | librarian | find a to-do item by name | locate a to-do without having to go through the entire list |
| v2.0 | librarian | get the status of an item | know if it is available |
| v2.0 | librarian | update the details of a resource | fix any mistakes and maintain consistency |
| v2.0 | librarian | add in different types of resources | differentiate between resources such as magazines, cds... |

## Use Cases

(For all use cases below, the System is the SysLib and the Actor is the user, unless specified otherwise)

### Use case: Add a book

#### MSS
1. User requests to add a book
2. AddressBook adds the book

Use case ends.

#### Extensions
- 1a. The given ID is invalid.
- 1a1. SysLib shows an error message.

Use case ends.

- 1b. Insufficient data given.
- 1b1. SysLib shows an error message.

Use case ends.

## Non-Functional Requirements

Expand All @@ -33,6 +239,104 @@

* *glossary item* - Definition

## Instructions for manual testing
## Instructions for Manual Testing
Example input:
```
help
```
Example response:
```
Commands available:
add: adds a new resource to the library inventory.(e.g. add /id ID /t TITLE /a AUTHOR /tag TAG /i ISBN [/g GENRE])
delete: deletes the resource with the specified ID from the library inventory. (e.g. delete /id 123456789)
list: list all resources OR filter by certain tags or genre.(e.g. list /tag B /g Fiction
find: find a resource by title, author, ISBN or given id. (e.g. find /i 9780763630188)
edit: Edit a listing by entering its isbn to update its details. (e.g. edit /i 123 /t NEW_TITLE /a NEW_AUTHOR)
exit: displays a farewell message and exits the program (e.g. exit)
For more information, please refer to our user guide at:https://ay2324s1-cs2113t-w11-1.github.io/tp/UserGuide.html
____________________________________________________________
```

Choose a reason for hiding this comment

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

A bit hard to read

Example input:

```
add /id 1 /t The Great Gatsby /a F. Scott Fitzgerald /tag B /i 9780023381201 /g Novel, Fiction, Tragedy /s lost
```
Example response:
```
This book is added: The Great Gatsby
____________________________________________________________
```
Example input:
```
add /id 2 /t To Kill a Mockingbird /a Harper Lee /tag B /i 9780061120084 /g Novel, Bildungsroman, Southern Gothic, Domestic Fiction, Thriller, Legal Story
```
Example response:
```
This book is added: To Kill a Mockingbird
____________________________________________________________
```
Example input:
```
list
```
Example response:
```
Listing all resources in the Library:

1. [B] ID: 1 Title: The Great Gatsby ISBN: 9780023381201 Author: F. Scott Fitzgerald Genre: Novel, Fiction, Tragedy Status: LOST
2. [B] ID: 2 Title: To Kill a Mockingbird ISBN: 9780061120084 Author: Harper Lee Genre: Novel, Bildungsroman, Southern Gothic Status: AVAILABLE

There are currently 2 resource(s).
____________________________________________________________
```
Example input:
```
delete /id 1
```
Example response:
```
Looking for ID: 1...
This resource is removed:
[B] ID: 1 Title: The Great Gatsby ISBN: 9780023381201 Author: F. Scott Fitzgerald Genre: Novel, Fiction, Tragedy Status: LOST
____________________________________________________________
```
Example input:
```
exit
```
Example response:
```
Bye, hope to see you again soon!
____________________________________________________________
```
### Launch and Shutdown

1. Initial launch
1. Download the jar file and copy it into an empty folder.
2. Open the command prompt and run `java -jar SysLib.jar`.


### Adding a Book
1. Add a book
1. Test case: `add /id 0005 /t Frankenstein /a Mary Shelley /i FKS0001 /tag B`

Expected: A book with ID: 0005, Title: Frankenstein, Author: Mary Shelley, and ISBN: FKS0001 is created and added
into the list. A message is shown to acknowledge that the book has been added successfully.

2. Test case: `add /id 0005 /t Frankenstein /a Mary Shelley /i FKS0001 /tag B /g Gothic, Fiction`

Expected: A book with ID: 0005, Title: Frankenstein, Author: Mary Shelley, ISBN: FKS0001, and
Genres: Gothic, Fiction is created and added into the list. A message is shown to acknowledge that the book
has been added successfully.

3. Test case: `add /id abcd /t Frankenstein /a Mary Shelley /i FKS0001 /tag B /g Gothic, Fiction`

Expected: No book is added. An error message is shown to indicate that the id is invalid.

4. Test case: `add /id 0005 /t Frankenstein /a Mary Shelley /i FKS0001 /tag A /g Gothic, Fiction`

Expected: No book is added. An error message is shown to indicate that the tag is invalid.

{Give instructions on how to do a manual product testing e.g., how to load sample data to be used for testing}
5. Test case: `add /id 0005 /t Frankenstein`

Expected: No book is added. An error message is shown to indicate that the input is incomplete.
5 changes: 3 additions & 2 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Duke
# Syslib

SysLib CLI is a robust command-line tool designed for system librarians to efficiently handle inventory, events, and patron assistance. With quick command-based actions, manage your library's resources and events seamlessly. Simplify administrative tasks, so you can focus on serving patrons better.

{Give product intro here}

Useful links:
* [User Guide](UserGuide.md)
Expand Down
Loading