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-W12-1] QuizHub #8

Open
wants to merge 511 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
511 commits
Select commit Hold shift + click to select a range
a532495
Merge pull request #134 from yeo-menghan/branch-CommandUGs
yeo-menghan Oct 31, 2023
7e61a4e
Update DG for version 2.0 release
lisizhuang-0121 Oct 31, 2023
f02392f
Merge pull request #136 from lisizhuang-0121/master
lisizhuang-0121 Oct 31, 2023
a348efe
Add commandShuffleTest
yeo-menghan Oct 31, 2023
a1460fe
Rectify formatting issues for markdiff implementation
yeo-menghan Oct 31, 2023
fa4c4c7
Deconflict merge
yeo-menghan Oct 31, 2023
4691120
Merge pull request #138 from yeo-menghan/branch-CommandUGs
yeo-menghan Oct 31, 2023
ea8a147
Merge branch 'master' of https://github.com/AY2324S1-CS2113-W12-1/tp …
yeo-menghan Oct 31, 2023
eba8681
Merge pull request #139 from yeo-menghan/branch-CommandShuffleTest
yeo-menghan Oct 31, 2023
066fd84
Add assertions for Parser class
lisizhuang-0121 Nov 1, 2023
9bf2ecf
Merge pull request #140 from lisizhuang-0121/master
lisizhuang-0121 Nov 1, 2023
a9796ed
Halfway implement MCQ feature
James-Hong-Jey Nov 1, 2023
603696c
Merge pull request #147 from James-Hong-Jey/master
James-Hong-Jey Nov 1, 2023
45822eb
UG Markdiff command format fix
spinoandraptos Nov 2, 2023
0ed9c6d
Merge pull request #148 from spinoandraptos/master
spinoandraptos Nov 2, 2023
2b08390
add MCQ class, command, edit and parse methods
StevenGX12 Nov 3, 2023
5932320
Merge pull request #185 from StevenGX12/branch-feature-mcq
StevenGX12 Nov 3, 2023
d4ff87c
Update user guide to resolve misinformation
lisizhuang-0121 Nov 3, 2023
fa92c42
Merge pull request #186 from lisizhuang-0121/master
lisizhuang-0121 Nov 3, 2023
e2360b0
Add escape sequence for illegal characters.
lisizhuang-0121 Nov 3, 2023
1f6fdd2
Merge pull request #187 from lisizhuang-0121/master
lisizhuang-0121 Nov 3, 2023
5dad37a
Fix case sensitivity when loading from file
lisizhuang-0121 Nov 3, 2023
aec0e76
Fix invalid difficulty handling when parsing from storage file.
lisizhuang-0121 Nov 3, 2023
91dfed7
Merge pull request #188 from lisizhuang-0121/master
lisizhuang-0121 Nov 3, 2023
e586295
Fix M shown as S when listed
yeo-menghan Nov 4, 2023
d43719b
Merge pull request #190 from yeo-menghan/branch-startMCQ
yeo-menghan Nov 4, 2023
83577fb
Integrated mcq and shortans into /start command
yeo-menghan Nov 4, 2023
ca52777
Remove commented code
yeo-menghan Nov 4, 2023
ee914ee
Merge pull request #191 from yeo-menghan/branch-startMCQ
yeo-menghan Nov 4, 2023
ae2708c
Add Ui elements
yeo-menghan Nov 4, 2023
3246aa2
Resolve issue #168 on shuffle command not having ui feedback
yeo-menghan Nov 4, 2023
d37a39d
Merge pull request #192 from yeo-menghan/branch-smallIncrements
yeo-menghan Nov 4, 2023
1639fd6
Fix some bugs related to mcq parsing and storage
StevenGX12 Nov 4, 2023
54a3925
Fix checkstyle errors
StevenGX12 Nov 4, 2023
827d1f9
Merge pull request #193 from StevenGX12/branch-code-refactor
StevenGX12 Nov 4, 2023
728db77
Updated PPP, fixed typo in parseEditCommand
spinoandraptos Nov 7, 2023
9f6b26e
Merge pull request #194 from spinoandraptos/PPP
spinoandraptos Nov 7, 2023
b39b553
Implement methods for converting questions to strings
lisizhuang-0121 Nov 7, 2023
99fb70f
Fix checkstyle violation
lisizhuang-0121 Nov 7, 2023
77b5b4a
Update tests
lisizhuang-0121 Nov 7, 2023
f1b069d
Merge pull request #195 from lisizhuang-0121/master
lisizhuang-0121 Nov 7, 2023
f2294e6
Fix styling issues in documentations
lisizhuang-0121 Nov 7, 2023
4a7f49d
Remove steven halim image
lisizhuang-0121 Nov 7, 2023
b5853d0
Update documentations
lisizhuang-0121 Nov 7, 2023
7200ca9
Merge pull request #196 from lisizhuang-0121/master
lisizhuang-0121 Nov 7, 2023
ee30932
Add Guan Xiao PPP
StevenGX12 Nov 7, 2023
abc2ea6
Merge pull request #197 from StevenGX12/master
StevenGX12 Nov 7, 2023
1054987
Merge branch 'master' of https://github.com/AY2324S1-CS2113-W12-1/tp …
yeo-menghan Nov 8, 2023
4c71e59
Add boundary checking for invalid int and out of array bounds for mcq
yeo-menghan Nov 8, 2023
395dd42
Ensure 'Your Answer' is replicated per wrong input when doing boundar…
yeo-menghan Nov 8, 2023
efdee7b
Add blank answer check
yeo-menghan Nov 8, 2023
1b0f0fa
Add exitquiz to exit in the middle of the quiz
yeo-menghan Nov 8, 2023
37d5a66
Merge pull request #199 from yeo-menghan/branch-startMCQ
yeo-menghan Nov 8, 2023
5fe6eb3
Integrate question type for StartCommand to filter /mix or /short or …
yeo-menghan Nov 8, 2023
212ef87
Init qntype
yeo-menghan Nov 8, 2023
2a427f6
Integrate /mix /mcq /short into start command
yeo-menghan Nov 8, 2023
d8a3d47
Merge pull request #200 from yeo-menghan/branch-startMCQ
yeo-menghan Nov 8, 2023
ceb4dda
Ui abstraction of print statements
spinoandraptos Nov 8, 2023
6e122fd
Merge branch 'master' of https://github.com/AY2324S1-CS2113-W12-1/tp …
spinoandraptos Nov 8, 2023
d8404f4
Refactor question and questionlist in displaying
lisizhuang-0121 Nov 8, 2023
6384a44
Merge pull request #201 from lisizhuang-0121/master
lisizhuang-0121 Nov 8, 2023
787cc56
UI Abstraction of print statements
spinoandraptos Nov 8, 2023
13c2ab3
Merge pull request #202 from spinoandraptos/UI_refactor
spinoandraptos Nov 8, 2023
ef01d2c
Improve code quality in questionlist
lisizhuang-0121 Nov 8, 2023
ac42cfe
Update question list
lisizhuang-0121 Nov 8, 2023
e9d748f
Merge pull request #203 from lisizhuang-0121/master
lisizhuang-0121 Nov 8, 2023
ca4949b
UI Abstractions to remove print statements
spinoandraptos Nov 8, 2023
a19fd62
Merge pull request #204 from spinoandraptos/UI_refactor
spinoandraptos Nov 8, 2023
0b9f8e9
Catch duplicate options in mcq
James-Hong-Jey Nov 8, 2023
44b57ca
Merge pull request #206 from James-Hong-Jey/master
James-Hong-Jey Nov 8, 2023
954d6a6
Fix bug for mcq indexing
yeo-menghan Nov 8, 2023
8329f2e
Merge pull request #207 from yeo-menghan/branch-StartCommandRefactor
yeo-menghan Nov 8, 2023
d772c7b
Update user guide
lisizhuang-0121 Nov 8, 2023
3657614
Code abstraction for CommandStart
spinoandraptos Nov 8, 2023
161dd82
Merge branch 'master' of https://github.com/AY2324S1-CS2113-W12-1/tp …
spinoandraptos Nov 8, 2023
e9699ac
Remove comments
yeo-menghan Nov 8, 2023
e153643
Merge pull request #210 from yeo-menghan/branch-StartCommandRefactor
yeo-menghan Nov 8, 2023
de67605
Start on ppp
James-Hong-Jey Nov 8, 2023
b79416e
Update ui displaymessage to include static method
spinoandraptos Nov 8, 2023
25709f0
Merge pull request #211 from spinoandraptos/UI_refactor
spinoandraptos Nov 8, 2023
b88ba14
Merge pull request #209 from lisizhuang-0121/master
lisizhuang-0121 Nov 8, 2023
2704980
Code abstraction for addQnFromFile
spinoandraptos Nov 8, 2023
3c3c47c
Merge branch 'master' of https://github.com/AY2324S1-CS2113-W12-1/tp …
spinoandraptos Nov 8, 2023
04f20aa
Add protection against \exitquiz for shortans
yeo-menghan Nov 8, 2023
eb9af66
Merge pull request #212 from yeo-menghan/branch-exitQuiz
yeo-menghan Nov 8, 2023
e38a27e
Update user guide with latest commands and features
lisizhuang-0121 Nov 8, 2023
de51cd3
Merge pull request #213 from lisizhuang-0121/master
lisizhuang-0121 Nov 8, 2023
76e05e2
Update tests
lisizhuang-0121 Nov 8, 2023
aa4381c
UI Abstraction to abstract out string literals and remove print state…
spinoandraptos Nov 8, 2023
44f5b33
Merge pull request #214 from lisizhuang-0121/master
lisizhuang-0121 Nov 8, 2023
1a9fc27
Refactor start command
yeo-menghan Nov 8, 2023
1bc4148
Merge branch 'master' of https://github.com/AY2324S1-CS2113-W12-1/tp …
spinoandraptos Nov 8, 2023
680cf6c
Merge pull request #215 from spinoandraptos/UI_refactor
spinoandraptos Nov 8, 2023
64b322d
Merge branch 'master' of https://github.com/AY2324S1-CS2113-W12-1/tp
yeo-menghan Nov 8, 2023
1229888
Fixed wrong abstraction
spinoandraptos Nov 8, 2023
f4c56f2
Merge pull request #216 from spinoandraptos/UI_refactor
spinoandraptos Nov 8, 2023
c4e899c
Merge branch 'master' of https://github.com/AY2324S1-CS2113-W12-1/tp
yeo-menghan Nov 8, 2023
c4a4d72
Revert refactoring of StartCommand
yeo-menghan Nov 8, 2023
8e09b8f
Change bracket for checkstyle
yeo-menghan Nov 8, 2023
17344a8
Merge pull request #217 from yeo-menghan/master
yeo-menghan Nov 8, 2023
22ce273
Edit tests
lisizhuang-0121 Nov 8, 2023
ef3f09c
Merge pull request #218 from lisizhuang-0121/master
lisizhuang-0121 Nov 8, 2023
bfab8ee
Fix bug on exitquiz
yeo-menghan Nov 8, 2023
fcb57ed
Merge pull request #219 from yeo-menghan/master
yeo-menghan Nov 8, 2023
277c14f
Refactor code related to start quiz command
lisizhuang-0121 Nov 8, 2023
70ea840
Merge pull request #221 from lisizhuang-0121/master
lisizhuang-0121 Nov 8, 2023
bcc7165
Add DG diagrams
James-Hong-Jey Nov 8, 2023
61ea56c
Merge pull request #223 from James-Hong-Jey/master
James-Hong-Jey Nov 8, 2023
b787495
Review user guide and fix bugs
lisizhuang-0121 Nov 8, 2023
5159ef7
Merge pull request #224 from lisizhuang-0121/master
lisizhuang-0121 Nov 8, 2023
5491129
DG Refactoring
spinoandraptos Nov 9, 2023
4ec25ac
Merge pull request #225 from spinoandraptos/master
spinoandraptos Nov 9, 2023
0c8ecf9
Add Meng Han's PPP
yeo-menghan Nov 9, 2023
e8915a8
Change Meng Han's Profile picture
yeo-menghan Nov 9, 2023
3814165
Merge pull request #226 from yeo-menghan/master
yeo-menghan Nov 9, 2023
a9fc8d1
Update DG Command Markdiff sequence diagram
yeo-menghan Nov 9, 2023
a310bcd
Update CommandMarkDiff class diagram
yeo-menghan Nov 9, 2023
c48ee0c
Update StartCommand details in accordance with the user guide's update
yeo-menghan Nov 9, 2023
4479fa3
Update command exit uml
yeo-menghan Nov 9, 2023
7752e81
Update command Start developer guide + command Start display score af…
yeo-menghan Nov 9, 2023
9728993
Update command markdiff developer guide
yeo-menghan Nov 9, 2023
940debf
Add comand Shuffle invalid commands developer guide
yeo-menghan Nov 9, 2023
43cb518
Update Invalid qn type in start parser
yeo-menghan Nov 9, 2023
42c5314
Reorganisation of UML diagrams and Implemented standardised styling a…
spinoandraptos Nov 9, 2023
a150ead
Merge pull request #228 from spinoandraptos/master
spinoandraptos Nov 9, 2023
43cba2c
Update DG for CommandEdit
StevenGX12 Nov 9, 2023
7095ff7
Merge pull request #229 from StevenGX12/branch-developer-guide
StevenGX12 Nov 9, 2023
8c24ba1
Add tolowercase() to parserStart to allow for non-case-sensitive comm…
yeo-menghan Nov 9, 2023
6927ab9
Add to startparser to prevent additional input after /qntype
yeo-menghan Nov 9, 2023
8a46b54
Update edit command DG along with potential bug fixes
yeo-menghan Nov 9, 2023
a4a27f4
Resolve merge conflicts
yeo-menghan Nov 9, 2023
57f049a
Merge pull request #230 from yeo-menghan/master
yeo-menghan Nov 9, 2023
ec344d6
Added overall class interactions UML diagram, updated overall archite…
spinoandraptos Nov 9, 2023
3fb5194
Merge branch 'master' of https://github.com/AY2324S1-CS2113-W12-1/tp
spinoandraptos Nov 9, 2023
09bf6b0
Remove Steven Halim again
James-Hong-Jey Nov 9, 2023
af7b14b
Add links to ppp, halfway implement
James-Hong-Jey Nov 9, 2023
9a9342d
Changed Overall architecture diagram, overall class diagram and appli…
spinoandraptos Nov 9, 2023
e46f908
Merge branch 'master' of https://github.com/spinoandraptos/tp
spinoandraptos Nov 9, 2023
e3df231
Fixed checkstyle error
spinoandraptos Nov 9, 2023
629bf9c
Merge pull request #231 from spinoandraptos/master
spinoandraptos Nov 9, 2023
8bb501a
Update class structures for start, markdiff and shuffle
yeo-menghan Nov 9, 2023
17554c5
Update class structure for edit command
yeo-menghan Nov 9, 2023
4380ac8
Update edit parser to reject \exitquiz as answer
yeo-menghan Nov 9, 2023
716a0ba
Merge branch 'master' of https://github.com/AY2324S1-CS2113-W12-1/tp
yeo-menghan Nov 9, 2023
d6d5231
Merge pull request #232 from yeo-menghan/master
yeo-menghan Nov 9, 2023
5787175
Updated parseCommand UML diagram to standardise style and add vaue
spinoandraptos Nov 9, 2023
6954a17
Merge branch 'master' of https://github.com/AY2324S1-CS2113-W12-1/tp
spinoandraptos Nov 9, 2023
afacef2
Merge pull request #233 from spinoandraptos/master
spinoandraptos Nov 9, 2023
c22ab1b
Updated addShortAns UML diagram to standardise style and changed to s…
spinoandraptos Nov 9, 2023
d1079be
Merge pull request #234 from spinoandraptos/master
spinoandraptos Nov 9, 2023
c11800b
Fixed formatting errors in DG Parser
spinoandraptos Nov 9, 2023
e6e28d1
Fixed diagram errors
spinoandraptos Nov 9, 2023
b12c2cd
Merge pull request #235 from spinoandraptos/master
spinoandraptos Nov 9, 2023
5ced9ae
update DG diagrams for storage and ui
StevenGX12 Nov 9, 2023
5c2cf16
Merge pull request #236 from StevenGX12/branch-developer-guide
StevenGX12 Nov 9, 2023
5fd5eac
Formatted UML diagrams
spinoandraptos Nov 10, 2023
60a9d9e
Merge pull request #238 from spinoandraptos/master
spinoandraptos Nov 10, 2023
7ad4046
Merge branch 'master' of https://github.com/James-Hong-Jey/tp
James-Hong-Jey Nov 11, 2023
c6b0d97
Change Edit and Reformat Diagram
James-Hong-Jey Nov 11, 2023
a850ad8
Complete James PPP
James-Hong-Jey Nov 11, 2023
e1a02f4
Merge pull request #239 from James-Hong-Jey/master
James-Hong-Jey Nov 11, 2023
e6486f4
Merge branch 'master' of https://github.com/AY2324S1-CS2113-W12-1/tp
yeo-menghan Nov 11, 2023
4128618
Remove sequence diagrams for command markdiff and exit. Add expected …
yeo-menghan Nov 11, 2023
85d49b4
Update DG for short command
yeo-menghan Nov 11, 2023
9888c96
Update DG for mcq command
yeo-menghan Nov 11, 2023
c1bb391
Resolve BUG: extra argument after difficulty for mcq command. Update …
yeo-menghan Nov 11, 2023
43561e3
Update DG for list command
yeo-menghan Nov 11, 2023
0194c6e
Update DG for delete command
yeo-menghan Nov 11, 2023
7834e80
Update DG for find command
yeo-menghan Nov 11, 2023
773adf2
Merge pull request #240 from yeo-menghan/branch-DGIncrement
yeo-menghan Nov 11, 2023
56a93a0
Complete lisizhuang-0121 project portfolio page
lisizhuang-0121 Nov 12, 2023
f54787f
Merge pull request #243 from lisizhuang-0121/master
lisizhuang-0121 Nov 12, 2023
25fa427
update DG for storage and ui
StevenGX12 Nov 12, 2023
1b44021
Merge pull request #244 from StevenGX12/branch-developer-guide
StevenGX12 Nov 12, 2023
22132c4
Assert duplicate
yeo-menghan Nov 12, 2023
86f07e3
Merge pull request #245 from yeo-menghan/master
yeo-menghan Nov 12, 2023
f28c92b
Updated DG UML diagram, updated Juncheng PPP, updated Juncheng AboutUs
spinoandraptos Nov 12, 2023
c071b09
Merge pull request #247 from spinoandraptos/master
spinoandraptos Nov 12, 2023
eb0df18
Juncheng PPP update
spinoandraptos Nov 12, 2023
4b85a90
Merge pull request #248 from spinoandraptos/master
spinoandraptos Nov 12, 2023
34200a8
Add FAQ to UG
James-Hong-Jey Nov 12, 2023
39f9c8f
Fix broken link in aboutus page.
lisizhuang-0121 Nov 12, 2023
9332ba7
Update aboutus.md
lisizhuang-0121 Nov 12, 2023
89ba36b
Merge pull request #250 from lisizhuang-0121/master
lisizhuang-0121 Nov 12, 2023
91e1fbd
Merge branch 'master' of https://github.com/AY2324S1-CS2113-W12-1/tp
James-Hong-Jey Nov 12, 2023
7cc304e
Merge pull request #251 from James-Hong-Jey/master
James-Hong-Jey Nov 12, 2023
22e1e1b
Update sizhuang PPP for submission with pagebreak
lisizhuang-0121 Nov 12, 2023
6a04700
Merge pull request #252 from lisizhuang-0121/master
lisizhuang-0121 Nov 12, 2023
d90f310
Update sizing of image
lisizhuang-0121 Nov 12, 2023
7d54cf6
Merge pull request #253 from lisizhuang-0121/master
lisizhuang-0121 Nov 12, 2023
944eff9
Update Juncheng PPP
spinoandraptos Nov 12, 2023
bb49546
Merge pull request #254 from spinoandraptos/master
spinoandraptos Nov 12, 2023
cef570f
Update Juncheng PPP
spinoandraptos Nov 12, 2023
650e49d
Merge pull request #255 from spinoandraptos/master
spinoandraptos Nov 12, 2023
0cfdb2d
update Guan Xiao PPP
StevenGX12 Nov 12, 2023
ea72f09
Merge pull request #256 from StevenGX12/master
StevenGX12 Nov 12, 2023
7b30af5
update Guan Xiao PPP
StevenGX12 Nov 12, 2023
af206cd
Merge pull request #257 from StevenGX12/master
StevenGX12 Nov 12, 2023
bf9e63e
no message
StevenGX12 Nov 12, 2023
70db269
Merge pull request #258 from StevenGX12/master
StevenGX12 Nov 12, 2023
9b510ac
Modify page break for li-sizhuang ppp
lisizhuang-0121 Nov 13, 2023
b546ab4
Merge pull request #259 from lisizhuang-0121/master
lisizhuang-0121 Nov 13, 2023
8b4db31
Update UG for pagination
lisizhuang-0121 Nov 13, 2023
7120e1b
Update developer guide
lisizhuang-0121 Nov 13, 2023
f6ea8d2
Merge pull request #260 from lisizhuang-0121/master
lisizhuang-0121 Nov 13, 2023
cff8fbf
Update UG pagination
lisizhuang-0121 Nov 13, 2023
7c23678
Merge pull request #261 from lisizhuang-0121/master
lisizhuang-0121 Nov 13, 2023
431598f
Update userguide formatting
lisizhuang-0121 Nov 13, 2023
ddbd9fb
Merge pull request #262 from lisizhuang-0121/master
lisizhuang-0121 Nov 13, 2023
b9a1c34
Change James PPP
James-Hong-Jey Nov 13, 2023
c35d4b4
Merge pull request #263 from James-Hong-Jey/master
James-Hong-Jey Nov 13, 2023
11ab1f3
Update DG on edit \exitquiz
yeo-menghan Nov 13, 2023
ab310f1
Fix bug for MCQ editing
lisizhuang-0121 Nov 13, 2023
c302492
Merge pull request #264 from lisizhuang-0121/master
lisizhuang-0121 Nov 13, 2023
6d4ee88
Merge branch 'master' of https://github.com/AY2324S1-CS2113-W12-1/tp
yeo-menghan Nov 13, 2023
45a9548
Update white space for Edit DG
yeo-menghan Nov 13, 2023
6737662
Merge pull request #265 from yeo-menghan/master
yeo-menghan Nov 13, 2023
0245a26
Edits to DG
yeo-menghan Nov 13, 2023
d8b77f6
Merge branch 'master' of https://github.com/AY2324S1-CS2113-W12-1/tp
yeo-menghan Nov 13, 2023
da1b912
Merge pull request #266 from yeo-menghan/master
yeo-menghan Nov 13, 2023
f246173
Edits to DG uml diagrams size
yeo-menghan Nov 13, 2023
abad8c3
Merge pull request #267 from yeo-menghan/master
yeo-menghan Nov 13, 2023
687dcdd
Edits to DG uml diagrams size for overall flows
yeo-menghan Nov 13, 2023
e211c16
Merge pull request #268 from yeo-menghan/master
yeo-menghan Nov 13, 2023
ea4ae78
Reformat size for Edit Command diagrams
yeo-menghan Nov 13, 2023
8aee65f
Merge pull request #269 from yeo-menghan/master
yeo-menghan Nov 13, 2023
59d3190
Add page breaks for DG
yeo-menghan Nov 13, 2023
86540e7
Merge branch 'master' of https://github.com/AY2324S1-CS2113-W12-1/tp
yeo-menghan Nov 13, 2023
7110fcb
Merge pull request #270 from yeo-menghan/master
yeo-menghan Nov 13, 2023
0a4327c
Reformat page breaks for DG
yeo-menghan Nov 13, 2023
b433780
Merge branch 'master' of https://github.com/AY2324S1-CS2113-W12-1/tp
yeo-menghan Nov 13, 2023
6dcefff
Merge pull request #271 from yeo-menghan/master
yeo-menghan Nov 13, 2023
030c95e
UG typo
spinoandraptos Nov 13, 2023
b59fa88
Merge branch 'master' of https://github.com/AY2324S1-CS2113-W12-1/tp
spinoandraptos Nov 13, 2023
43a89ff
Update DG and UG
spinoandraptos Nov 13, 2023
747d3b3
Merge pull request #272 from spinoandraptos/master
spinoandraptos Nov 13, 2023
375ab9a
Update UG and bug in parsing edit command
lisizhuang-0121 Nov 13, 2023
eddbf69
Merge pull request #273 from lisizhuang-0121/master
lisizhuang-0121 Nov 13, 2023
fe560ce
Fix bug in edit command to disallow forward slash
lisizhuang-0121 Nov 13, 2023
b97d0b4
Merge pull request #274 from lisizhuang-0121/master
lisizhuang-0121 Nov 13, 2023
f467a27
Fix bug in edit command again
lisizhuang-0121 Nov 13, 2023
aad0d75
Merge pull request #275 from lisizhuang-0121/master
lisizhuang-0121 Nov 13, 2023
f09efbd
Update CommandShuffle when array empty:
yeo-menghan Nov 13, 2023
8ce79e7
Merge pull request #276 from yeo-menghan/master
yeo-menghan Nov 13, 2023
dc417b6
Update broken link in userguide
lisizhuang-0121 Nov 13, 2023
709c71f
Merge pull request #277 from lisizhuang-0121/master
lisizhuang-0121 Nov 13, 2023
dee992d
update Guan Xiao PPP
StevenGX12 Nov 13, 2023
e412a47
Merge pull request #278 from StevenGX12/master
StevenGX12 Nov 13, 2023
0b6325c
Fix dead link JC PPP
spinoandraptos Nov 13, 2023
d5dcfbf
Merge pull request #279 from spinoandraptos/master
spinoandraptos Nov 13, 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
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
/.idea/
/out/
/*.iml
META-INF/MANIFEST.MF

# Gradle build files
/.gradle/
Expand All @@ -15,3 +16,8 @@ bin/

/text-ui-test/ACTUAL.TXT
text-ui-test/EXPECTED-UNIX.TXT

*.class

questionlist.txt
tasklist.txt
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Duke project template
# QuizHub project template

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

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

dependencies {
testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: '5.10.0'
testImplementation 'junit:junit:4.13.1'
testRuntimeOnly group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.10.0'
}

Expand All @@ -29,11 +30,11 @@ test {
}

application {
mainClass.set("seedu.duke.Duke")
mainClass.set("Quizhub")
}

shadowJar {
archiveBaseName.set("duke")
archiveBaseName.set("quizhub")
archiveClassifier.set("")
}

Expand All @@ -43,4 +44,5 @@ checkstyle {

run{
standardInput = System.in
enableAssertions = true
}
14 changes: 7 additions & 7 deletions docs/AboutUs.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# 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://www.comp.nus.edu.sg/~stevenha/images/sh7.jpg) | James Hong Jey | [Github](https://github.com/James-Hong-Jey) | [Portfolio](docs/team/jameshong.md)
![](https://via.placeholder.com/100.png?text=Photo) | Guan Xiao | [Github](https://github.com/StevenGX12) | [Portfolio](docs/team/guanxiao.md)
![](https://avatars.githubusercontent.com/u/111041948?s=400&u=6619a8328eba45edbc88fe01cf54efeb1f986d11&v=4) | Man Juncheng | [Github](https://github.com/spinoandraptos) | [Portfolio](docs/team/juncheng.md)
![](https://i.redd.it/6do158vk2ue61.png) | Li Sizhuang | [Github](https://github.com/lisizhuang-0121) | [Portfolio](docs/team/johndoe.md)
![](https://via.placeholder.com/100.png?text=Photo) | Yeo Meng Han | [Github](https://github.com/yeo-menghan) | [Portfolio](https://linkedin.com/in/yeo-meng-han/)
528 changes: 513 additions & 15 deletions docs/DeveloperGuide.md

Large diffs are not rendered by default.

114 changes: 114 additions & 0 deletions docs/DeveloperGuide.md.rej
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
diff a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md (rejected hunks)
@@ -1,29 +1,104 @@
# Developer Guide

+## Table of Contents
+* [Acknowledgements](#acknowledgements)
+* [Design and Implementation](#design--implementation)
+ * [Application Lifecycle](#application-lifecycle)
+* [Product Scope](#product-scope)
+* [Non Functional Requirements](#non-functional-requirements)
+* [Glossary](#glossary)
+* [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}
+1. For the main structure of the program, we have adapted the project structure
+from the Individual Project of Man JunCheng at [Link](https://github.com/spinoandraptos/ip/tree/master) </li>
+2. For JUnit testing, we have adapted the testing codes from the AddressBook level-2
+codes at [Link](https://github.com/se-edu/addressbook-level2)</li>
+3. For the developer's guide, we have reverenced the developer's guide from AddressBook
+level-3 [Link](https://se-education.org/addressbook-level3/DeveloperGuide.html)

## Design & implementation

-{Describe the design and implementation of the product. Use UML diagrams and short code snippets where applicable.}
+### Architecture
+The main execution of the QuizHub application will concern 4 components which
+are the QuizHub, Ui, Parser and Command packages.
+
+![](./UML/architecture.jpg)
+
+`Quizhub` is the "main" class, which is responsible for starting the program,
+initialising all other objects, executing commands, and shutting down.
+
+`UI` is the component that interacts with the user, taking inputs and displaying
+the results of the executed commands.
+
+`Parser` acts as a multiplexer to determine which command to run, and what parameters
+it has, based on the user input.
+
+`Commands` refer to a package of individual commands with complex and specific
+logic, which is later executed in Quizhub and displayed in Utility.

+`Storage` is the class through which questions can be stored on the hard drive and `Utility Classes`
+refer to any miscellaneous utility classes used by all the components.
+
+### Application Lifecycle
+
+![](./UML/lifecycle.jpg)
+
+The program will begin through the `run()` call to QuizHub class, with the
+necessary classes to be interacted throughout the execution.
+
+The `run` function contains a loop that accepts user inputs through the `Ui`
+class. The input is captured and passed to the `parseCommand()` function of the
+Parser class. A command object is returned by the Parser class to be executed.
+If the command is of Exit type, the Loop will exit.

## Product scope
+
+### Our Product
+QuizHub
+
### Target user profile

-{Describe the target user profile}
+Our target users are
+* NUS Students preparing for exams
+* Like to take notes in class
+* Fear to miss out of important knowledge
+* Like to test their understanding of knowledge
+* Want to be better prepared for exams
+* Majoring in computing or engineering where there are lots of exams
+* Coders and tech geeks who enjoy using the CLI interface

### Value proposition

-{Describe the value proposition: what problem does it solve?}
+Allow NUS Students to easily take notes in class and allow them to
+generate quizzes to test their knowledge of understanding. By using the
+QuizHub application, students can input notes taken in class in a question form,
+which they could use to take quizzes to ensure their understanding of the topic.

## 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 student user | I can access the tutorial on how to operate the app | Easily use the app effectively for my studies |
+| v1.0 | Efficient student | I can add a question and its answer easily to my question and answer bank | Build my question and answer bank quickly |
+| v1.0 | Organized student | I can view all the questions and answers in my question and answer bank | Review my study materials comprehensively |
+| v1.0 | Detail-oriented student | I can edit the content of a question or its answer | Correct any mistakes or make improvements |
+| v1.0 | Student focused on clarity | I can delete a question and its answer from my question and answer bank | Maintain a clean and relevant set of questions for revision |
+| v1.0 | Student focused on revising for tests | I can start and end a quiz which tests me on questions in my question bank | Consolidate understanding of my learnt knowledge through rigorous testing |
+| v1.0 | Student focused on revising for tests | I can see my final quiz score and whether I have answered each question correctly | Identify areas of weakness to be improved upon for my tests |
+| v2.0 | User seeking efficiency | I can search for a specific question within a flashcard deck | locate information quickly. |
+| v2.0 | User with diverse interests | I can categorize questions by topic or subject | tailor my quizzes |
+| v2.0 | User seeking variety | I can shuffle the order of questions in a flashcard deck | keep my quizzes engaging. |
+| v2.0 | User aiming for improvement | I can mark a question as "difficult" or "easy" for later review | optimize my learning. |
+| v2.0 | User seeking a challenge | I can practice questions in a random order | test my knowledge comprehensively. |
+| v2.0 | User seeking structure | I can practice questions in a sequential order | follow a specific learning path. |
+| v2.1 | user aiming for accuracy | I can see how many questions I've answered correctly | track my proficiency. |
+| v2.1 | user tracking progress | I can reset the progress of a specific flashcard deck | start fresh. |
+| v2.1 | time-conscious user | I can set a timer for each flashcard question during practice | manage my study sessions effectively. |
+| v2.1 | goal-oriented user | I can view my overall progress and performance statistics | gauge my improvement. |
+| v2.1 | user aiming for improvement | I can see how many questions I've answered incorrectly | focus on weak areas. |
+| v2.1 | user committed to learning | I can review the questions I've answered incorrectly | reinforce my knowledge. |

## Non-Functional Requirements

Binary file added docs/UML/AddShortCommand.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/UML/CommandAddShort.pptx
Binary file not shown.
Binary file added docs/UML/CommandStart.pptx
Binary file not shown.
Binary file added docs/UML/CommandStart_Class.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/UML/CommandStart_Sequence.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/UML/Commands/Initial State.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
16 changes: 16 additions & 0 deletions docs/UML/Commands/Initial State.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
!include Style.puml
@startuml
title Initial State

object ":QuestionList" as QuestionList

object ":Question1" as Question1

object ":Question2" as Question2

object ":Question3" as Question3

QuestionList --> Question1
QuestionList --> Question2
QuestionList --> Question3
@enduml
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
31 changes: 31 additions & 0 deletions docs/UML/Commands/ShuffleToStorage.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
@startuml
!theme plain
title Shuffle to Storage Flow

class QuestionList {
- allQns: List<Question>
+ addQuestion(question: Question)
+ removeQuestion(question: Question)
+ shuffleQuestions()
+ saveToFile()
+ loadFromFile()
}

class Question {
- text: String
- answer: String
+ getText()
+ getAnswer()
}

QuestionList --|> Question

class Database {
- data: ArrayList<Question> // Represents your data storage mechanism
+ saveData(question: Question, answer: getAnswer)
+ loadData(key: Question): getAnswer
}

QuestionList --|> Database : Data Storage

@enduml
Binary file added docs/UML/Commands/commandAddState.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
19 changes: 19 additions & 0 deletions docs/UML/Commands/commandAddState.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
!include Style.puml
@startuml
title After Command "short qn4/ans4/module/difficulty"

object ":QuestionList" as QuestionList

object ":Question1" as Question1

object ":Question2" as Question2

object ":Question3" as Question3

object ":Question4" as Question4

QuestionList --> Question1
QuestionList --> Question2
QuestionList --> Question3
QuestionList --> Question4 : Add new question
@enduml
Binary file added docs/UML/Commands/commandDeleteQuestion.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
16 changes: 16 additions & 0 deletions docs/UML/Commands/commandDeleteQuestion.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
!include Style.puml
@startuml
title After Command "delete 2"

object ":QuestionList" as QuestionList

object ":Question1" as Question1

object ":Question3" as Question3

object ":Question4" as Question4

QuestionList --> Question1
QuestionList --> Question3
QuestionList --> Question4
@enduml
23 changes: 23 additions & 0 deletions docs/UML/Commands/commandEdit.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
@startuml
!theme plain
title Command Edit Sequence Diagram

actor User
participant Parser
participant CommandEdit
participant QuestionList
participant Question

User -> Parser: Enters "edit [question number] /description [description] or /answer [answer]"
Parser -> CommandEdit: Calls parseEditCommand(userInput)
CommandEdit -> Parser: Returns CommandEdit instance
Parser -> CommandEdit: Executes executeCommand(ui, dataStorage, questions)
CommandEdit -> QuestionList: Calls editQuestionByIndex(index, newDescription, newAnswer)
QuestionList -> Question: Calls editQuestion(newDescription, newAnswer)
Question -> Question: Edits question description and/or answer
Question --> QuestionList: Notifies edit completion
QuestionList --> CommandEdit: Notifies edit completion
CommandEdit --> Parser: Notifies edit completion
Parser --> User: Displays edit completion message

@enduml
Binary file added docs/UML/Commands/commandEditSequence.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/UML/Commands/commandEditStages.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
20 changes: 20 additions & 0 deletions docs/UML/Commands/commandEditStages.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
@startuml
!theme plain
title Command Edit Flow
start

:User initiates question edit;
:Retrieve the question to edit;
if (Choose "Edit Description" or "Edit Answer") then (Description)
:User selects "Edit Description";
:Enter new description;
elseif (Answer)
:User selects "Edit Answer";
:Enter new answer;
endif

:Update the question with new information;
:Display confirmation message;
stop

@enduml
18 changes: 18 additions & 0 deletions docs/UML/Commands/commandExit.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
@startuml
!theme plain
title Command Exit Sequence Diagram

actor User
participant Ui
participant CommandExit
participant Storage

User -> Ui: Decides to exit the application
Ui -> CommandExit: Executes "bye" command
CommandExit -> Ui: Signals the program to exit
Ui -> Storage: Saves any unsaved data
Storage --> Ui: Data saved successfully
Ui -> Ui: Displays exit message
Copy link

Choose a reason for hiding this comment

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

You should add an additional activation bar when calling a method inside the same class (see screenshot below):
image

Ui --> User: Displays exit message

@enduml
Binary file added docs/UML/Commands/commandExitSequence.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
22 changes: 22 additions & 0 deletions docs/UML/Commands/commandMarkDiff.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
@startuml
!theme plain

title Mark Difficulty Sequence Diagram
actor User
participant Parser
participant CommandMarkDifficulty
participant QuestionList
participant Question

User -> Parser: Enters "markdiff [question number] /[question difficulty]"
Parser -> CommandMarkDifficulty: Calls parseMarkDiffCommand(userInput)
CommandMarkDifficulty -> Parser: Returns CommandMarkDifficulty instance
Parser -> CommandMarkDifficulty: Executes executeCommand(ui, dataStorage, questions)
CommandMarkDifficulty -> QuestionList: Calls markQuestionDifficulty(index, qnDifficulty, showMessage)
QuestionList -> Question: Calls markDifficulty(qnDifficulty)
Question --> QuestionList: Notifies difficulty marked
QuestionList --> CommandMarkDifficulty: Notifies difficulty marked
CommandMarkDifficulty --> Parser: Notifies difficulty marked
Parser --> User: Displays confirmation message

@enduml
Binary file added docs/UML/Commands/commandMarkDiffClass.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading