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-F10-2] BadMaths #46

Open
wants to merge 719 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
719 commits
Select commit Hold shift + click to select a range
89d5cf1
refactoring magic literals to improve readability
CVRP-SOLE Apr 6, 2023
8f6864d
Implement JUnit Tests for CommandHistory.java
WilsonLee2000 Apr 6, 2023
5f7e0e6
Merge pull request #229 from ZiqiuZeng/branch-NotesFileWriter-JUnit-Test
ZiqiuZeng Apr 6, 2023
355c4b1
update imports for NotesFileWriterTest
ZiqiuZeng Apr 6, 2023
fee543b
Merge pull request #237 from WilsonLee2000/TestJUnit
WilsonLee2000 Apr 6, 2023
1b80b65
Improve readability of UG
CVRP-SOLE Apr 6, 2023
8f9eb9d
Merge pull request #238 from ZiqiuZeng/branch-NotesFileWriterTest-Update
WilsonLee2000 Apr 6, 2023
54b3dfd
no message
CVRP-SOLE Apr 6, 2023
1704811
Merge remote-tracking branch 'origin/test'
CVRP-SOLE Apr 6, 2023
e8d1ef8
Merge pull request #234 from khooyourun/PPP
ZiqiuZeng Apr 6, 2023
377beb4
Merge pull request #240 from 0nandon/master
0nandon Apr 6, 2023
3a8d181
no message
CVRP-SOLE Apr 6, 2023
c4e26b7
Implement DeleteTest.java
WilsonLee2000 Apr 6, 2023
5976f10
removing comments that are private notes to me
CVRP-SOLE Apr 6, 2023
2b72547
Implement JUnit Tests for List.java
WilsonLee2000 Apr 6, 2023
6fffb2c
Merge pull request #243 from WilsonLee2000/TestJUnit
0nandon Apr 6, 2023
fc3c8ec
refactoring long methods
CVRP-SOLE Apr 6, 2023
683e833
Merge pull request #244 from 0nandon/master
WilsonLee2000 Apr 6, 2023
d461feb
Merge branch 'TestJUnit'
WilsonLee2000 Apr 6, 2023
eb53ad7
Update draft PPP
ZiqiuZeng Apr 6, 2023
43d46f9
Merge pull request #248 from ZiqiuZeng/branch-Draft-PPP
ZiqiuZeng Apr 6, 2023
46f1669
delete unused imports
ZiqiuZeng Apr 6, 2023
d02cf4f
refactor classes into corresponding packages
ZiqiuZeng Apr 6, 2023
c7b1455
handle redundant imports
ZiqiuZeng Apr 6, 2023
c0a6d3a
Create seungjun_lee.md
0nandon Apr 6, 2023
557bd87
Update seungjun_lee.md
0nandon Apr 6, 2023
7e57b24
Delete seungjun_lee.md
0nandon Apr 6, 2023
1c804df
Create seungjun_lee.md
0nandon Apr 6, 2023
c49bf6a
Merge pull request #249 from ZiqiuZeng/branch-tP-review-readability
0nandon Apr 6, 2023
3a3dde4
Merge pull request #250 from 0nandon/master
ZiqiuZeng Apr 6, 2023
2f11a3a
Change name of the PPP
CVRP-SOLE Apr 6, 2023
6239f16
Merge pull request #251 from 0nandon/master
ZiqiuZeng Apr 6, 2023
3ea091c
Merge remote-tracking branch 'origin/master'
WilsonLee2000 Apr 6, 2023
0067039
Implement PPP
WilsonLee2000 Apr 6, 2023
57f9c28
Further Enhancements towards PPP
WilsonLee2000 Apr 6, 2023
852ffc3
Addition of PPP content
WilsonLee2000 Apr 6, 2023
ea2190e
Finish up remaining PPP. PPP is ready to be merged.
WilsonLee2000 Apr 6, 2023
6831858
Merge pull request #252 from WilsonLee2000/PPP
WilsonLee2000 Apr 7, 2023
08e91d5
Merge branch 'PPP'
WilsonLee2000 Apr 7, 2023
81a7f8b
Merge branch 'AY2223S2-CS2113-F10-2:master' into master
WilsonLee2000 Apr 7, 2023
9fefef0
Delete unnecessary text files
ZiqiuZeng Apr 7, 2023
c32b2c4
Refactor loadFile() method in NotesFileParser
ZiqiuZeng Apr 7, 2023
dcc4edd
Update JUnit test for NotesFileCleaner
ZiqiuZeng Apr 7, 2023
45e3d68
Update JUnit Test for NotesFileWriter
ZiqiuZeng Apr 7, 2023
a466230
Add JUnit Test for NotesFileHandler
ZiqiuZeng Apr 7, 2023
ada2687
Add JUnit Test for NoteParser
ZiqiuZeng Apr 7, 2023
e7e4b3b
Handle unused imports
ZiqiuZeng Apr 7, 2023
13428cd
Handle encoding issues
ZiqiuZeng Apr 7, 2023
9a0f544
handle encoding problems for "\n\n"
ZiqiuZeng Apr 7, 2023
2c5f3fb
modify expectedOutput with platform-independent line separators
ZiqiuZeng Apr 7, 2023
2084741
handle length problem
ZiqiuZeng Apr 7, 2023
1eb66ed
Further refined Developer's Guide and Added collapsible section for a…
WilsonLee2000 Apr 7, 2023
1bc9e92
Rectify issues on StoreTest.java
WilsonLee2000 Apr 7, 2023
7526ec5
Added Developer Guide Description for Store, List, Delete, and Comman…
WilsonLee2000 Apr 7, 2023
b0cc664
Refine Developer Guide for Command class
WilsonLee2000 Apr 7, 2023
87849aa
Merge pull request #255 from WilsonLee2000/DGPPP
WilsonLee2000 Apr 8, 2023
016cdd7
Update UML for graph
YC-Michael Apr 8, 2023
0346c76
Merge branch 'master' of https://github.com/AY2223S2-CS2113-F10-2/tp …
YC-Michael Apr 8, 2023
d40880e
Merge pull request #254 from ZiqiuZeng/branch-refactor-loadFile
ZiqiuZeng Apr 8, 2023
6a98ef2
Update UML for graph and organise file paths for docs folder.
YC-Michael Apr 8, 2023
598b753
Merge pull request #256 from YC-Michael/branch-uml-graph
YC-Michael Apr 8, 2023
773405b
Added class diagrams for Quadratic and interpretation of user input
khooyourun Apr 9, 2023
00831e6
Further edits to UG and DG
khooyourun Apr 9, 2023
18c1e3a
Merge pull request #257 from khooyourun/UML_diagrams
khooyourun Apr 9, 2023
91eec50
added architecture diagram
khooyourun Apr 9, 2023
d9067a7
edited UG and DG to fix TOC links
khooyourun Apr 9, 2023
f2e710c
Merge pull request #258 from khooyourun/UML_diagrams
khooyourun Apr 9, 2023
ba41834
Sequence Diagram DG for Store
WilsonLee2000 Apr 9, 2023
ffef03e
Add Ui.printAddNote for Sequence Diagram DG
WilsonLee2000 Apr 9, 2023
21fc161
Reflect updated Sequence Diagram on DG
WilsonLee2000 Apr 9, 2023
00bb7fb
Merge pull request #259 from WilsonLee2000/SequenceDiagramDG
WilsonLee2000 Apr 9, 2023
f155eab
Resolve activate store and deactivate store + remove duplicate images
WilsonLee2000 Apr 9, 2023
67b35bb
Implement Logging for Store.java
WilsonLee2000 Apr 9, 2023
ad5f292
Removed logging
WilsonLee2000 Apr 9, 2023
5312aa6
Merge pull request #260 from WilsonLee2000/SequenceDiagramDG
WilsonLee2000 Apr 9, 2023
373f635
Merge branch 'SequenceDiagramDG'
WilsonLee2000 Apr 9, 2023
61c96df
Merge branch 'master' of https://github.com/AY2223S2-CS2113-F10-2/tp
WilsonLee2000 Apr 9, 2023
748d79f
Merge branch 'AY2223S2-CS2113-F10-2:master' into master
WilsonLee2000 Apr 9, 2023
1d2deed
Merge branch 'master' of https://github.com/WilsonLee2000/tp
WilsonLee2000 Apr 9, 2023
67eaa81
Update UG and removed the . from "Prioritize a Note" section from UG
WilsonLee2000 Apr 9, 2023
2f9b64a
Remove .
WilsonLee2000 Apr 9, 2023
4d17726
Finish PPP
WilsonLee2000 Apr 9, 2023
2566718
Merge pull request #262 from WilsonLee2000/PPPFinal
WilsonLee2000 Apr 9, 2023
b4aa697
Merge branch 'PPPFinal'
WilsonLee2000 Apr 9, 2023
b620c48
Merge branch 'AY2223S2-CS2113-F10-2:master' into master
WilsonLee2000 Apr 9, 2023
5d0655e
Merge branch 'master' of https://github.com/AY2223S2-CS2113-F10-2/tp
WilsonLee2000 Apr 9, 2023
6f05e9e
Merge branch 'master' of https://github.com/WilsonLee2000/tp
WilsonLee2000 Apr 9, 2023
21f67f5
Fix the matrix bug reported from PED
CVRP-SOLE Apr 9, 2023
3fef76f
Fix PR error
CVRP-SOLE Apr 9, 2023
b3e69c1
Added documentations
WilsonLee2000 Apr 9, 2023
2c22682
update sequence diagram for NotesFileParser
ZiqiuZeng Apr 9, 2023
cd290e1
Remove additional line at HelpManual
WilsonLee2000 Apr 9, 2023
0592c82
Add activation bar for InvalidFormatException
ZiqiuZeng Apr 9, 2023
56af6b0
Merge pull request #266 from khooyourun/Additional_UG_DG_edits
khooyourun Apr 9, 2023
28613c4
Merge pull request #264 from WilsonLee2000/Documentations
WilsonLee2000 Apr 9, 2023
2543b88
Merge branch 'Documentations'
WilsonLee2000 Apr 9, 2023
a4c0aa6
Merge branch 'master' of https://github.com/AY2223S2-CS2113-F10-2/tp
WilsonLee2000 Apr 9, 2023
34196e7
Minor rectifications to better phrase developer guide
WilsonLee2000 Apr 9, 2023
568f637
Revert "Minor rectifications to better phrase developer guide"
WilsonLee2000 Apr 9, 2023
4b122a4
Removed Unecessary Working comments when implementing the features, a…
WilsonLee2000 Apr 9, 2023
28ced57
Delete functions that were flagged out as not needed at Command.java
WilsonLee2000 Apr 9, 2023
a428acc
Add more stuff for DG
WilsonLee2000 Apr 9, 2023
721ece4
Improve the DG
WilsonLee2000 Apr 9, 2023
ebf9859
Improve DG for historyCommand
WilsonLee2000 Apr 9, 2023
0f3484c
Formatting Test.java
WilsonLee2000 Apr 9, 2023
ad7b1a6
Format Tests.java
WilsonLee2000 Apr 9, 2023
faec2da
Merge pull request #263 from 0nandon/master
0nandon Apr 9, 2023
a334a59
update Rank Review Count in HelpManual.txt
ZiqiuZeng Apr 9, 2023
d1d62b4
handle index problem for printPriority()
ZiqiuZeng Apr 9, 2023
555d18f
correct information in ug
ZiqiuZeng Apr 9, 2023
538fb6f
update PPP-ziqiu
ZiqiuZeng Apr 9, 2023
838da54
update ToC
ZiqiuZeng Apr 9, 2023
97de1e5
Merge pull request #267 from WilsonLee2000/DocumentationsEdit
WilsonLee2000 Apr 10, 2023
d12e8aa
Update PPP website
WilsonLee2000 Apr 10, 2023
21758c9
Merge pull request #269 from ZiqiuZeng/branch-ppp-final
ZiqiuZeng Apr 10, 2023
436c169
Merge pull request #268 from ZiqiuZeng/branch-proofread-ug
ZiqiuZeng Apr 10, 2023
e76bc92
Merge pull request #270 from WilsonLee2000/DocumentationsEdit
khooyourun Apr 10, 2023
64f6316
Merge branch 'DocumentationsEdit'
WilsonLee2000 Apr 10, 2023
b9e793d
Remove unused Sequence Diagram
WilsonLee2000 Apr 10, 2023
d07b437
Edit AboutUs
Apr 10, 2023
d6a75c6
Merge pull request #272 from YC-Michael/Edit_Admin_Stuff
WilsonLee2000 Apr 10, 2023
95cca58
Further refine to PPP
WilsonLee2000 Apr 10, 2023
83ee6e8
split long sequence diagram
ZiqiuZeng Apr 10, 2023
4bae805
update dg
ZiqiuZeng Apr 10, 2023
6d998f1
Merge pull request #271 from WilsonLee2000/DGDeletion
WilsonLee2000 Apr 10, 2023
4769b65
Merge branch 'DGDeletion'
WilsonLee2000 Apr 10, 2023
627c505
delete unused class
ZiqiuZeng Apr 10, 2023
92ecfde
toc edits for UG
khooyourun Apr 10, 2023
da76d45
refactor `Team` to `team`
ZiqiuZeng Apr 10, 2023
9bbad9d
Merge pull request #274 from ZiqiuZeng/renaming-team-folder
WilsonLee2000 Apr 10, 2023
6ca8002
Merge pull request #273 from ZiqiuZeng/branch-delete-unused-class
WilsonLee2000 Apr 10, 2023
c38ccbf
Edit StoreTest.java
WilsonLee2000 Apr 10, 2023
4142633
Merge pull request #276 from AY2223S2-CS2113-F10-2/UG_DG_edits
khooyourun Apr 10, 2023
afb5057
Edit AboutUs
Apr 10, 2023
f9d5897
Merge pull request #277 from YC-Michael/Edit_Admin_Stuff
khooyourun Apr 10, 2023
1fa7c85
Merge pull request #275 from WilsonLee2000/EditStoreTest
WilsonLee2000 Apr 10, 2023
ab8829d
Merge pull request #265 from ZiqiuZeng/branch-UML
ZiqiuZeng Apr 10, 2023
0693727
Added newline after commands and fixed DG TOC. Changed "Bye" to Syste…
khooyourun Apr 10, 2023
3da6820
Updated expected text file
khooyourun Apr 10, 2023
8270ff6
Edit README.md
Apr 10, 2023
831c837
Merge pull request #278 from AY2223S2-CS2113-F10-2/Newline_and_UG_TOC
khooyourun Apr 10, 2023
017f1cd
Merge pull request #279 from YC-Michael/Edit_Admin_Stuff
YC-Michael Apr 10, 2023
fed2a4c
Remove irrelevant lines in DG and updated release link in UG.
Apr 10, 2023
455a0a9
Resolve indentation issues
WilsonLee2000 Apr 10, 2023
f76f41f
Merge pull request #280 from YC-Michael/Edit_Admin_Stuff
khooyourun Apr 10, 2023
34f0330
Added profile pic in AboutUs.md
Apr 10, 2023
995f8d2
Merge pull request #281 from WilsonLee2000/EditStoreTest
WilsonLee2000 Apr 10, 2023
687239a
Merge branch 'EditStoreTest'
WilsonLee2000 Apr 10, 2023
e0d952f
added profile picture under AboutUs
khooyourun Apr 10, 2023
3ef8200
Merge branch 'AY2223S2-CS2113-F10-2:master' into master
WilsonLee2000 Apr 10, 2023
25292ea
Merge branch 'master' of https://github.com/AY2223S2-CS2113-F10-2/tp
WilsonLee2000 Apr 10, 2023
b11abe6
Merge branch 'master' of https://github.com/WilsonLee2000/tp
WilsonLee2000 Apr 10, 2023
4220d6c
Merge pull request #282 from YC-Michael/Edit_Admin_Stuff
khooyourun Apr 10, 2023
be22905
Merge branch 'master' into Profile_Photo
khooyourun Apr 10, 2023
521cdef
Merge pull request #283 from AY2223S2-CS2113-F10-2/Profile_Photo
YC-Michael Apr 10, 2023
ff8c533
update dg for storage
ZiqiuZeng Apr 10, 2023
e5d0580
Added profile pic in AboutUs.md
Apr 10, 2023
652b4d0
Merge branch 'master' of https://github.com/AY2223S2-CS2113-F10-2/tp …
Apr 10, 2023
14abae2
Added profile pic in AboutUs.md
Apr 10, 2023
362a254
Merge pull request #285 from YC-Michael/Edit_Admin_Stuff
khooyourun Apr 10, 2023
b68d8d4
Merge pull request #284 from ZiqiuZeng/dg-final
ZiqiuZeng Apr 10, 2023
b18bdac
Fixed Quadratic sequence diagram
khooyourun Apr 10, 2023
343b5e4
Update link for reposense code
WilsonLee2000 Apr 10, 2023
2a3f0e0
Indentation for Test
WilsonLee2000 Apr 10, 2023
eb96956
Edit PPP
WilsonLee2000 Apr 10, 2023
3c9335c
Delete unused NotesTest
WilsonLee2000 Apr 10, 2023
07b02b7
added pics to AboutUs
khooyourun Apr 10, 2023
a9cd961
Merge pull request #286 from AY2223S2-CS2113-F10-2/sequence_diagram_e…
khooyourun Apr 10, 2023
6d66f0a
update acknowledgement
ZiqiuZeng Apr 10, 2023
8c64613
Merge pull request #287 from WilsonLee2000/EditPPP
WilsonLee2000 Apr 10, 2023
bac4701
Merge pull request #288 from ZiqiuZeng/master
ZiqiuZeng Apr 10, 2023
acd614b
Merge branch 'EditPPP'
WilsonLee2000 Apr 10, 2023
8cd149a
Merge branch 'AY2223S2-CS2113-F10-2:master' into master
WilsonLee2000 Apr 10, 2023
96d0797
Merge branch 'master' of https://github.com/AY2223S2-CS2113-F10-2/tp
WilsonLee2000 Apr 10, 2023
173bc98
Merge branch 'master' of https://github.com/WilsonLee2000/tp
WilsonLee2000 Apr 10, 2023
49b7b53
Refine PPP
WilsonLee2000 Apr 10, 2023
63e5156
Singular to Plural
WilsonLee2000 Apr 10, 2023
967e0bb
Add class diagram in DG for the matrix part, and add some datails
CVRP-SOLE Apr 10, 2023
ae45285
Merge pull request #289 from WilsonLee2000/PPPFinalEdit
0nandon Apr 10, 2023
17bdd5c
Merge pull request #290 from 0nandon/master
0nandon Apr 10, 2023
b89eb09
Add seungjun profile
CVRP-SOLE Apr 10, 2023
305b46f
Update AboutUs.md
0nandon Apr 10, 2023
14b5a1e
Update sequence diagram for graph
YC-Michael Apr 10, 2023
8d49bb4
Update sequence diagram for graph
YC-Michael Apr 10, 2023
26b7abc
Update UG for Graph
YC-Michael Apr 10, 2023
8bdbb75
Merge pull request #291 from YC-Michael/master
YC-Michael Apr 10, 2023
6c3e850
fixed Quadratic sequence diagram and user stories formating
khooyourun Apr 10, 2023
16636bc
Merge pull request #292 from khooyourun/UG_DG_final_edits
khooyourun Apr 10, 2023
271077b
update acknowledgement
ZiqiuZeng Apr 10, 2023
38cc0de
Merge branch 'PPPFinalEdit'
WilsonLee2000 Apr 10, 2023
3c9ee23
Refine Seungjun's PPP
CVRP-SOLE Apr 10, 2023
791a143
Merge pull request #293 from ZiqiuZeng/update-acknowledgement
ZiqiuZeng Apr 10, 2023
b1c5a19
Refine Seungjun's PPP
CVRP-SOLE Apr 10, 2023
dafd829
Rectify DG Sequence Diagram
WilsonLee2000 Apr 10, 2023
dcc29cd
Resolve indentation issues
WilsonLee2000 Apr 10, 2023
f05d350
Rectify bugs
WilsonLee2000 Apr 10, 2023
d717b3f
editted user stories
khooyourun Apr 10, 2023
18da3ef
Delete redundant images
WilsonLee2000 Apr 10, 2023
69ce099
update sequence diagrams for file loading
ZiqiuZeng Apr 10, 2023
e7d38c6
Remove redundant images
WilsonLee2000 Apr 10, 2023
3b661a3
Merge pull request #295 from 0nandon/master
khooyourun Apr 10, 2023
f4cdc2a
Merge pull request #294 from WilsonLee2000/DGbug
WilsonLee2000 Apr 10, 2023
36e675d
Merge pull request #296 from khooyourun/final_final_DG_edits
khooyourun Apr 10, 2023
3743344
fixed sequence diagram not showing
khooyourun Apr 10, 2023
2b6f526
update profile pic
ZiqiuZeng Apr 10, 2023
851a8a2
Merge pull request #299 from ZiqiuZeng/add-profile
khooyourun Apr 10, 2023
f0e7bd0
Merge pull request #298 from khooyourun/Store_sequence_diagram
khooyourun Apr 10, 2023
b9995f0
Merge pull request #297 from ZiqiuZeng/update-sequence-diagram
khooyourun Apr 10, 2023
5d41923
fix activation bar problem
ZiqiuZeng Apr 10, 2023
bfa379a
Merge pull request #300 from ZiqiuZeng/handle-diagram-problem
khooyourun Apr 10, 2023
042fae6
Remove Store seq diagram for reimplementation
WilsonLee2000 Apr 10, 2023
42483f6
Add Sequence Diagram for Store
WilsonLee2000 Apr 10, 2023
092b43c
Merge pull request #301 from WilsonLee2000/fixstoreseqdiagram
WilsonLee2000 Apr 10, 2023
270bc43
Remove store seq diagram
WilsonLee2000 Apr 10, 2023
0745ec5
Fix bug for Parser
YC-Michael Apr 10, 2023
b504fe3
Merge pull request #302 from WilsonLee2000/fixstoreseqdiagram
WilsonLee2000 Apr 10, 2023
88b83f1
Fix bug for Parser
YC-Michael Apr 10, 2023
3ae966a
add header comment
ZiqiuZeng Apr 10, 2023
741201f
Added Store Sequence Diagram
WilsonLee2000 Apr 10, 2023
29b4596
Merge pull request #303 from YC-Michael/master
YC-Michael Apr 10, 2023
11ddfdb
Merge pull request #305 from WilsonLee2000/StoreSequenceDiagram
WilsonLee2000 Apr 10, 2023
6d7bf59
Merge pull request #304 from ZiqiuZeng/update-header-comment
ZiqiuZeng Apr 10, 2023
5ed0428
Merge branch 'StoreSequenceDiagram'
WilsonLee2000 Apr 10, 2023
028412e
Merge branch 'master' of https://github.com/AY2223S2-CS2113-F10-2/tp
WilsonLee2000 Apr 10, 2023
e7be577
Remove Store Seq Diagram
WilsonLee2000 Apr 10, 2023
446871d
Merge pull request #306 from WilsonLee2000/seqdiagramrectify
WilsonLee2000 Apr 10, 2023
d726cb4
Add Seq Diagram for Store
WilsonLee2000 Apr 10, 2023
eeac598
Merge pull request #307 from WilsonLee2000/SeqDiagramAdd
WilsonLee2000 Apr 10, 2023
f15b2ec
Merge branch 'SeqDiagramAdd'
WilsonLee2000 Apr 10, 2023
c99999a
Fix UI Naming Error
WilsonLee2000 Apr 10, 2023
c346fc1
Merge pull request #308 from WilsonLee2000/fixuibug
WilsonLee2000 Apr 10, 2023
477be31
Update UserGuide.md
0nandon Apr 10, 2023
43fc0f9
Merge pull request #309 from 0nandon/master
0nandon Apr 10, 2023
a0dddb0
Update 0nandon.md
0nandon Apr 10, 2023
187283a
Update 0nandon.md
0nandon Apr 10, 2023
8c1692e
Merge pull request #310 from 0nandon/master
0nandon Apr 10, 2023
a35469d
Update DeveloperGuide.md
0nandon Apr 10, 2023
1472079
Update DeveloperGuide.md
0nandon Apr 10, 2023
5041060
Fix format
YC-Michael Apr 10, 2023
9a629fd
Merge pull request #311 from 0nandon/master
0nandon Apr 10, 2023
989821c
handle indentation problem
ZiqiuZeng Apr 10, 2023
195b515
Merge pull request #312 from YC-Michael/master
YC-Michael Apr 10, 2023
42496d5
Merge pull request #313 from ZiqiuZeng/refine-dg
ZiqiuZeng Apr 10, 2023
c726548
Update DeveloperGuide.md
0nandon Apr 10, 2023
8105036
Update DeveloperGuide.md
0nandon Apr 10, 2023
4fb9cb4
Merge pull request #314 from 0nandon/master
0nandon Apr 10, 2023
7823156
Add JavaDoc comments for the matrix part
CVRP-SOLE Apr 10, 2023
7586d3f
Merge pull request #315 from 0nandon/master
0nandon Apr 10, 2023
c4bc080
change main README.md to BadMaths version
CVRP-SOLE Apr 10, 2023
db52353
Merge pull request #316 from 0nandon/master
0nandon Apr 11, 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 .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/
Empty file added Help
Empty file.
Empty file added Notes
Empty file.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,4 +61,4 @@ Steps for publishing documentation to the public:
1. Click on the `settings` tab.
1. Scroll down to the `GitHub Pages` section.
1. Set the `source` as `master branch /docs folder`.
1. Optionally, use the `choose a theme` button to choose a theme for your documentation.
1. Optionally, use the `choose a theme` button to choose a theme for your documentation.
19 changes: 17 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 = "seedu.badMaths.BadMaths"
}

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

Expand All @@ -44,3 +44,18 @@ checkstyle {
run{
standardInput = System.in
}

run {
enableAssertions = true
}

jar {
manifest {
attributes 'Main-Class': 'seedu.badMaths.BadMaths'
}
duplicatesStrategy = 'exclude' // or 'fail', 'warn', 'preserve'
from sourceSets.main.output
from(sourceSets.main.resources) {
include '**/*.txt'
}
}
16 changes: 9 additions & 7 deletions docs/AboutUs.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
# 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) | Wilson Lee Jun Wei | [Github](https://github.com/WilsonLee2000) | [Portfolio](docs/team/johndoe.md)
![](https://via.placeholder.com/100.png?text=Photo) | Khoo You Run | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)
![](https://via.placeholder.com/100.png?text=Photo) | Hui Yu Cong | [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) | Zeng Ziqiu | [Github](https://github.com/ZiqiuZeng) | [Portfolio](docs/team/AboutUs.md)
![](https://via.placeholder.com/100.png?text=Photo) | Seungjun Lee | [Github](https://github.com/0nandon) | [Portfolio](docs/team/AboutUs.md)

230 changes: 228 additions & 2 deletions docs/DeveloperGuide.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,241 @@
# Developer Guide
This developer guide will help you to get started with our product, badMaths!

## Table of Contents

1. [Acknowledgements](#acknowledgements)
2. [Design & implementation](#design--implementation)
- [Store Notes](#store-notes)
- [Graph](#graph)
- [Matrix](#matrix)
2. [Product Scope](#product-scope)
- [Target user profile](#target-user-profile)
- [Value proposition](#value-proposition)
3. [User Stories](#user-stories)
4. [Non-Functional Requirements](#non-functional-requirements)
5. [Glossary](#glossary)
6. [Instructions for manual testing](#instructions-for-manual-testing)
## Acknowledgements

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


## Design & implementation

Choose a reason for hiding this comment

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

Concise and clear explanation of what your features does in this section! Consider explaining why you implemented your feature logic this way, maybe even describing some alternative implementations you considered but ultimately dropped, which would strengthen the appeal of your features to a developer.

### Solving Quadratic Equations
The Quadratic equation solver allows user to find the value of `x` in a simple quadratic equation.
The function is started when `solveQuadratic()` is called in the Command class.
Below is an example of how it would be called.
```
Quadratic. 2x^2 + 3x + 1
```
Step 1. Parser class would split the user input into 2 parts, command and toDo. Command would be `Quadratic`,
thus `executeCommand` would trigger `quadraticSolver`. toDo would be `2x^2 + 3x + 1`.

Step 2. The general formula of quadratic equations is `ax^2 + bx + c`, thus `findA`, `findB`, `findC`
would identify a, b and c from toDo.

Step 3. To solve the quadratic equation, `quadraticFormula` is called with a, b and c as parameters. The output would be
a ArrayList of Doubles that contain 2 values, the possible values of x.

Step 4. `printAnswer` is then called which would call upon the `UI` class's method: `printQuadraticAnswer`. This would output
the two x values.

Step 5. If any exceptions are caught in the above steps, `printQuadraticFormulaError` would be called from UI to show an error message
to the user.

![img_3.png](img_3.png)
Copy link

Choose a reason for hiding this comment

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

DG for the line quadraticFormula(), I think it would be better to include the variables to become something like
quadraticFormula(a,b,c)

Copy link

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 also add return statements, such as the variables names the functions are returning for such as the findA(), findB(), and findC() fuctions


### Store and Display Notes
The Store and Display Notes functionality allows users to input notes
which will be stored in a list, and to display a list of all notes
stored by users. This functionality is achieved through the `Store.` and `List.` commands.

![img_2.png](img_2.png)
Copy link

Choose a reason for hiding this comment

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

I think getCommand and getToDo for the DG at the top, the arrow should be the other way round cause it is badmaths that is calling parser's function, and the calls should have a separate activation bar

Copy link

Choose a reason for hiding this comment

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

for trigoGraph(), Calculator() and Quadratic(), they are constructors which make a new object, would it be better to show it in the Sequence Diagram by linking it straight to the bar instead of those objects already existing?


The syntax for the commands of this functionality is as follows:
1. `Store. <item>` For storing of notes into the list, where `<item>` represents the note that
users would like to store.
Example: `Store. addition`
2. `List.` For displaying of a list of all notes stored by users.
Example: `List.`

Below is an illustration of how the `Store.` and `List.` are used to allow
users to input notes to a list and to display a list of all notes that are
stored inside the list.
1. This is step 1.
2. This is step 2.

### Help
The Help feature allows users to view possible options by calling `Help.` which reads the content stored in the HelpManual.txt.

The feature implemented involves reading the content from HelpManual.txt file and logging the result of read operation using the Java Logging API.

#### HelpManual text:
`HelpManual.txt` is a text file that contains the help manual for the application. It is located in the `src/main/resources` directory of the project.
The purpose of this file is to provide users with helpful information on how to use the application.

#### HelpManual class:
Step 1. Define the HelpManual class: The HelpManual class is defined as a public class with two static fields: filePath and logFilePath.
These fields contain the file path of the HelpManual.txt file and the name of the log file, respectively.

Step 2. Setting up the Logger: The Logger is set up in the HelpManual class using the Java Logging API.
The `setUpLogger()` method resets the LogManager, sets the logger's level to ALL, and creates a log file if it does not already exist.
This method is called before the `readHelpManual()` method to ensure that the logger is properly configured.

Step 3. Reading the file:
The `readHelpManual()` method is implemented to read the content from the HelpManual.txt file.
It first calls the setUpLogger() method to configure the logger. Then it obtains an InputStream object that reads the content from the
file using the `getResourceAsStream()` method. Before reading the file, the `readHelpManual()` method asserts that the input stream is not null to ensure that the file exists and is readable.
The file is then read line by line using a BufferedReader object, and each line is appended to a StringBuilder object. Otherwise,
the `getResourceAsStream()` method will return a null value, and an `AssertionError` will be thrown.

Step 4. Logging the result: After reading the file, the `readHelpManual()` method closes the BufferedReader and InputStream
objects and logs the success or failure of the read operation using the logger. If the read operation is successful, a message
is logged to the console and log file indicating that the HelpManual file was successfully read. If an exception occurs during
the read operation, an error message is logged to the console and log file.


### Graph
The Graph feature allows users to analyse basic Trigonometry signals by calling `startGraphAnalysis()` which
creates a new instance of `TrigoGraphAnalyser` named `analyser`.

Below is an example usage scenario and how the `Graph` feature behaves at each step.

When user enters an input:
```
Graph. 2*sin(2*x+5)-1
```
#### Parser class, Command class:
Step 1. Parser class will split the input into `Graph.` and `2*sin(2*x+5)-1`, which are `command` and `toDo` respectively.
The command class creates a new instance of `TrigoGraph` and pass in `toDo` as a parameter for the constructor. It
then executes `trigoGraph.startGraphAnalysis()`based on `command` using switch-case statements.

#### TrigoGraph class:
![img_1.png](img_1.png)
Step 2. Constructor for the TrigoGraph class takes in `2*sin(2*x+5)-1` and assigns it to `trigoEqn` of type String. When `startGraphAnalysis()`

Choose a reason for hiding this comment

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

I think you need to insert another newline before Step 2. because the Step 2. line currently begins beside the UML diagram

is called from the command class, a new instance of `TrigoGraphAnalyser` called `analyser` is created in TrigoGraph, which accepts `trigoEqn`
as the parameter.

Step 3. When `analyser.canStartAnalyser()` is true, it will print out the amplitude, frequency, phase and vertical shift
to the user using the Ui class. Each of the method calls to the Ui class requires an input of type double which can
be achieved by calling `analyser.getAmplitude()`, `analyser.getFreq()` and so on.

#### TrigoGraphAnalyser class:
Step 4. In the `canStartAnalyser()` method, the trigo equation is split into various parts, and there
is a method call to create `setUpLogger()` to log exceptions when user enters
invalid trigo equation. `canStartAnalyser()` returns false if an exception is reached, else it returns true.

Step 5. `canStartAnalyser()` calls `splitAmplitudeFromTrigoEqn()`. This method will split
the input into `2` and `sin(2*x+5)-1` using `*` as the regex.

Step 6. 2 tests are ran within `splitAmplitudeFromTrigoEqn()` to check for negative amplitude and multiple asterisk.
In this case, both checks will return false.

Step 7. The separated String is passed into `String[] amplitudeAndEqn`. The string is then passed into `findAmplitude`
to determine the amplitude. In `findAmplitude(eqn)`, `isAmplitudeEqualsToOne(eqn[0])` will check if the input string
starts with `cos`, `sin` or `tan`, where `eqn[0]` is `2` and `eqn[1]` is `sin(2*x+5)-1`.
If this is true, 1.0 will be assigned to `amplitude`. Else, string `2` will be converted to double `2.0` and assigned to
`amplitude`.

Step 8. After finding `amplitude`, `canStartAnalyser()` calls `splitTrigoAndVerticalShift(amplitudeAndEqn[1])`, where
`amplitudeAndEqn[1]` is `sin(2*x+5)-1`. `splitTrigoAndVerticalShift` splits `sin(2*x+5)-1` into `sin(2*x+5` and `-1`
based on `)` and returns the separated string to `trigoAndVerticalShift`.

Step 9. `canStartAnalyser()` calls `findVerticalShift()` which takes in `sin(2*x+5` and `-1` as a string [] parameter.
In `findVerticalShift()`, method call to `isVerticalShiftZero(-1)` is false and thus,
`-1` is converted to double `-1.0` and assigned to `vertricalShift`.

Step 10. In `canStartAnalyser()`, string `trigo` is assigned `sin(2*x+5`.

Step 11. `canStartAnalyser()` calls `splitTrigoIntoPhasors()` and takes in `trigo` as the parameter. In `splitTrigoIntoPhasors()`,
`startPosOfPhase` is 4 while `endPosOfPhase` is 9. A new String variable `phase` is assigned the substring of trigo from
4 to 9, resulting in `2*x+5`. `splitPhasorsIntoFreq()` is called and it accepts string `2*x+5` as input.

Step 12. In `splitPhasorsIntoFreq()`, `findFreqForPlus()` is called which takes in string `2*x+5` as input.

Step 13. In `findFreqForPlus()`, `2*x+5` is split into `2*x` and `5` using the split function with `+` as the regex.
`findPhase()` which accepts `5` and a boolean `false` as parameters, and `findFreq()` which accepts `2*x` and a boolean `false` are called.

Step 14. In `findPhase()`, `phase` is assigned the double of `5` and in `findFreq()`, `2*x` is substring into `2` and converted
to double `2.0`. `Freq` is assigned the double value of `2.0 / (2 * Math.PI)`.

Step 15. Finally, `canStartAnalyser()` reaches the end and returns true.

#### TrigoGraphVisualiser class:
Step 16. The `TrigoGraphVisualiser` extends JPanel and overrides the `paintComponent()` method in JComponent.

Step 17. A new instance of `TrigoGraphVisualiser` is created in `startGraphAnalysis` to assign corresponding values to the amplitude, phase, frequency,
vertical shift, and the trigonometric function in `TrigoGraphVisualiser`. Next, `startVisualiser()` is called to create the frame
for the graph.


Step 18. The frame is set half of the screen size using `setSize()` and `getScreenSize()`.

Step 19. When the frame is created, `paintComponent` will be called. It sets up the scale factors which will scale the values
generated by the trigo function to that of the frame. It the sets up the x and y axis using `g.drawLine()`.

Step 20. Using the switch-case statements. `drawSinCurve()` will be executed and amplitudes will be labelled on the axis.
The for loop will run from `xMin` to `xMax`, which are the negative frequency and positive frequency for one period respectively.
After getting the y value, both x and y are scaled to xPixel and yPixel respectively. A horizontal line is drawn at every pixel, which
eventually forms the sine graph.

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

### Matrix

The Matrix feature supports various basic matrix calculations below:
* Matrix multiplication
* Matrix element wise product
* Matrix addition
* Matrix subtraction

With calling `calculator.run()`, BadMaths parses the user's input and conducts the given command.

Below is an example usage scenario and how the `Matrix` feature behaves at each step.

When user enters an input:
```
Matrix. [1,2;3,4] .* [5,6;7,8]
```
#### Calculator class

step 1. `run()` function in `Calculator.class` firstly get `toDo` as the argument which is `[1,2;3,4] .* [5,6;7,8]` in the above example.
This `run()` function sequentially parses this string, executes the command and shows the result matrix to users.

#### Parser class

step 2. Firstly, `run()` function pass the `toDo` string to `parse()` function defined in `Parser.class`.
This `parse()` function firstly identifies the type of the operator of this command with referring `toDo` string.
And then, it divides the cases with this identified type with using `switch` statement.

#### Execute class

step 3. According to each case divided by operator types in the previous step,
`parse()` function calls corresponding function defined in `Execute.class` for conducting calculation.
In the case of the above example, `parse()` function calls `executeMul()` defined in `Execute.class` since the type of the
operator is matrix multiplication. Finally, it passes the `toDo` string to `executeMul()` function as the argument.

step4. `executeMul()` function firstly extracts two operands from `toDo` string. And pass these two operands to `executeTranspose()`
in `Execute.class` respectively.

step 5. In this `executeTranspose()` function, function checks whether there is transpose mark in the given operand, and parses this
operand which is string type into `Tensor2D` type so that this operand could be internally calculated. In this parsing phase,
`parseMatrix()` function defined in `Parser.class` is used. This function finally outputs this `Tensor2D` type operand to
`executeMatrix()` function.

step 6. Regarding these two operands with `Tensor2D` type, `executeMul` function calls `mul()` function defined in `calculate.class`.

#### Calculate class

step 7. `mul()` function defined in `Calculate.class` internally conducts matrix multiplication with nested for-loop
and outputs the result which is `Tensor2D` type.

{Describe the design and implementation of the product. Use UML diagrams and short code snippets where applicable.}
step 8. This result is sequentially returned to `executeMul()`, `parse()` and `run()` function. Finally in the `run()` function,
the result is printed in terminal.


## Product scope
## Product Scope
### Target user profile

{Describe the target user profile}
Copy link

Choose a reason for hiding this comment

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

Perhaps include target user profile

Expand Down
Loading