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-F14-3] BYTE-CEPS #53

Open
wants to merge 568 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 221 commits
Commits
Show all changes
568 commits
Select commit Hold shift + click to select a range
9fbe800
Fix gradle issue
V4Vern Apr 10, 2024
f55bbd9
Merge pull request #151 from V4Vern/workout
joshualeejunyi Apr 10, 2024
6533004
Merge branch 'master' of https://github.com/AY2324S2-CS2113-F14-3/tp …
LWachtel1 Apr 10, 2024
da096a2
Fix bugs and refactor
pqienso Apr 10, 2024
6b3d16a
Remove whitespace
pqienso Apr 10, 2024
98a6c53
Move all test JSONs into jsons folder & alter code accordingly
LWachtel1 Apr 10, 2024
d6296e6
Rename test methods to fit naming scheme
LWachtel1 Apr 10, 2024
01ee899
Add methods that account for pre-existing corrupted or blank test.json
LWachtel1 Apr 10, 2024
1804189
Merge pull request #152 from pqienso/YuAn-fixMultipleLoggingBugs
V4Vern Apr 10, 2024
8a064ee
Clean up diagrams and plantuml codes
V4Vern Apr 11, 2024
864b0e7
Update sequence diagram for exercise
V4Vern Apr 11, 2024
1325ea2
Clean up & add deleteWorkout sequence diagram
V4Vern Apr 11, 2024
a7b7d2f
Extract repeated magic literal "./jsons/" to String constant
LWachtel1 Apr 11, 2024
a7a8fe8
Add sequence diagram for workout
V4Vern Apr 11, 2024
8eae29f
Add more assertions, follow coding standard
LWachtel1 Apr 11, 2024
1c91f0b
Add sequence diagram for assignExercise to workout
V4Vern Apr 11, 2024
4148618
Add assign workout sequence diagram
V4Vern Apr 11, 2024
a78aa42
Add sequence diagram for listExerciseInWorkout
V4Vern Apr 11, 2024
4760706
Update DeveloperGuide.md
V4Vern Apr 11, 2024
0c3aa92
Write PPP draft, add missing author tags
LWachtel1 Apr 11, 2024
a95797c
Add Javadocs to HelpMenuManager class
LWachtel1 Apr 11, 2024
eb7aed0
Add Javadocs for HelpValidator class
LWachtel1 Apr 11, 2024
33dcd92
Fix coding standard violations
LWachtel1 Apr 11, 2024
8c787b5
Add PPP, DG sequence diagrams
pqienso Apr 11, 2024
29dde29
Merge pull request #154 from LWachtel1/storage-test-fix
pqienso Apr 11, 2024
caca50e
Add PPP
joshualeejunyi Apr 11, 2024
8c91e1d
Update both README.md
joshualeejunyi Apr 11, 2024
73e1679
Modify sequence diagrams
V4Vern Apr 11, 2024
81135d4
Fix activitymanager sequence diagram
V4Vern Apr 12, 2024
05c97d7
Add PPP
V4Vern Apr 12, 2024
a7e4c9e
Update PPP
V4Vern Apr 12, 2024
20a8fd3
Merge pull request #158 from joshualeejunyi/update-readmes
V4Vern Apr 12, 2024
9bc154e
Merge pull request #157 from joshualeejunyi/create-ppp
V4Vern Apr 12, 2024
5b91949
Update v4vern.md
V4Vern Apr 12, 2024
c12ff91
Remove ActivityManager in all diagrams
V4Vern Apr 12, 2024
8e6f5c9
Update DeveloperGuide.md
V4Vern Apr 12, 2024
c3f630d
Merge pull request #153 from V4Vern/documentation
joshualeejunyi Apr 12, 2024
3e91b6d
Update my PPP draft, add text to DG
LWachtel1 Apr 12, 2024
971bf45
Merge branch 'YuAn-PPP-UGDG' of https://github.com/pqienso/tp into pq…
joshualeejunyi Apr 12, 2024
37cf6d1
Merge branch 'pqienso-YuAn-PPP-UGDG'
joshualeejunyi Apr 12, 2024
b88ba16
Merge pull request #155 from LWachtel1/javadocs
joshualeejunyi Apr 12, 2024
1b3114b
Draft changes to DG and UML diagram
LWachtel1 Apr 12, 2024
3820af5
Correct authorship tags in ExerciseManager
LWachtel1 Apr 12, 2024
67dc947
Edit sequence diagrams
pqienso Apr 12, 2024
d05f23d
Remove UML draft temporarily
LWachtel1 Apr 12, 2024
4291731
Merge branch 'master' of https://github.com/AY2324S2-CS2113-F14-3/tp …
LWachtel1 Apr 12, 2024
5ebc701
Remove unused variables
LWachtel1 Apr 12, 2024
960adfc
Merge pull request #159 from LWachtel1/LWachtel1-ppp
V4Vern Apr 12, 2024
fc2b473
Modify sequence diagram for workout & exercise
V4Vern Apr 12, 2024
fb67ed9
Merge branch 'AY2324S2-CS2113-F14-3:master' into documentation
V4Vern Apr 12, 2024
0ba7888
Clean up developer guide
V4Vern Apr 12, 2024
2728f2f
Change help menu list numbering, fix bugs
LWachtel1 Apr 12, 2024
b4943f8
Clean up assignExercise sequence diagram
V4Vern Apr 12, 2024
6b0e235
Update DeveloperGuide.md
V4Vern Apr 12, 2024
638e58a
Add sequence diagram for example of help menu usage
LWachtel1 Apr 12, 2024
87dbdc2
Finish Help Menu DG section and associated sequence diagrams
LWachtel1 Apr 12, 2024
c5297a0
Change incorrect usage of 'flag' to parameter, update sequence diagrams
LWachtel1 Apr 12, 2024
dda360a
Add test cases for activity
V4Vern Apr 13, 2024
0f4b2db
Add test cases for WorkoutLog
V4Vern Apr 13, 2024
0a7d1f5
Add test cases for ExerciseLog
V4Vern Apr 13, 2024
38abdbf
Add more test cases for ExerciseManager
V4Vern Apr 13, 2024
702003d
Fix gradle line issues
V4Vern Apr 13, 2024
418d0f4
Add more testcases for Workout
V4Vern Apr 13, 2024
f254624
Add more test cases for WorkoutManager
V4Vern Apr 13, 2024
9f8b94c
Create testcase for WorkoutLogsManager
V4Vern Apr 13, 2024
7131f09
Add testcases for exercisevalidator
V4Vern Apr 13, 2024
aaf8c6c
Add testcases for workoutvalidator
V4Vern Apr 13, 2024
86aa8cc
Check Help Menu DG and correct, rename Help Menu variable
LWachtel1 Apr 13, 2024
3ae0b83
Merge pull request #161 from LWachtel1/storage-cleanup
joshualeejunyi Apr 13, 2024
b9eb6cc
Merge pull request #164 from LWachtel1/help-DG
joshualeejunyi Apr 13, 2024
4851109
Merge pull request #163 from V4Vern/documentation
joshualeejunyi Apr 13, 2024
f4fa348
Merge branch 'master' into help-bugs: resolve merge conflict
LWachtel1 Apr 13, 2024
8cd4f71
More sequence diagrams
pqienso Apr 13, 2024
45bb6b2
Merge branch 'master' into YuAn-W12
pqienso Apr 13, 2024
e114ce9
Merge pull request #166 from pqienso/YuAn-W12
V4Vern Apr 13, 2024
23e0be6
Add more test cases for parser
V4Vern Apr 13, 2024
0d7320e
Add more test cases for weeklyprogrammanager
V4Vern Apr 13, 2024
890e861
Add test case for CascadingDeletion
V4Vern Apr 13, 2024
d7a69d1
Add test cases for UserInterface
V4Vern Apr 13, 2024
09479a6
Fix gradle issue
V4Vern Apr 13, 2024
c153dee
Update v4vern.md
V4Vern Apr 14, 2024
592e979
Fix edit exercise bugs
V4Vern Apr 14, 2024
91cc8b0
Fix another exercise edit bug
V4Vern Apr 14, 2024
27f9f57
Add testing for exercise management
V4Vern Apr 14, 2024
1d662ad
Fix create workout special character bug
V4Vern Apr 14, 2024
13b16f1
Add sequence diagrams
pqienso Apr 14, 2024
bba265f
Fix workout delete case insensitivity
V4Vern Apr 14, 2024
f17cc3e
edit PPP
pqienso Apr 14, 2024
a3cd0a4
Fix edit workout bugs
V4Vern Apr 14, 2024
4996f3a
Merge pull request #162 from LWachtel1/help-bugs
joshualeejunyi Apr 14, 2024
f4615a5
Merge pull request #168 from pqienso/YuAn-W13
joshualeejunyi Apr 14, 2024
2d77579
Add workout management tests
V4Vern Apr 14, 2024
6a8db1e
Merge pull request #167 from V4Vern/documentation
joshualeejunyi Apr 14, 2024
5b3d368
Check for empty workout today
V4Vern Apr 14, 2024
78ef210
Add HelpMenuManager and HelpValidator tests, add exception throw
LWachtel1 Apr 14, 2024
1abbeaa
Fix checkstyle violations
LWachtel1 Apr 14, 2024
98922e1
Improve handling of clear action for empty workout days
V4Vern Apr 14, 2024
614a3c7
Save sample exercise to be merged into separate branch then removed
LWachtel1 Apr 14, 2024
2103e5e
Add logging of workout elaboration in DG
joshualeejunyi Apr 14, 2024
8f99733
Remove sample exercise from master branch
LWachtel1 Apr 14, 2024
328aa9f
Change pngs to svgs
joshualeejunyi Apr 14, 2024
bc08d6b
Refactor WeeklyProgramManager/WorkoutLogsManager to be more SLAP
joshualeejunyi Apr 14, 2024
3986da6
Add test cases for program management
V4Vern Apr 14, 2024
6c98817
Update UserGuide.md
V4Vern Apr 14, 2024
af4e326
Add test cases for logging
V4Vern Apr 14, 2024
769a203
Merge pull request #171 from V4Vern/documentation
joshualeejunyi Apr 14, 2024
2bfa7b4
Fix crash from listing history after deleting workout
joshualeejunyi Apr 14, 2024
7977a61
Fix workout log sequence diagram
joshualeejunyi Apr 14, 2024
aa63a10
Merge branch 'master' into master
pqienso Apr 14, 2024
7a36aa8
Update DeveloperGuide.md
V4Vern Apr 14, 2024
252c466
Merge branch 'AY2324S2-CS2113-F14-3:master' into documentation
V4Vern Apr 14, 2024
4d21e8d
Merge pull request #170 from joshualeejunyi/master
pqienso Apr 14, 2024
d9a56a1
Update UserGuide.md
V4Vern Apr 14, 2024
f96042d
Merge branch 'AY2324S2-CS2113-F14-3:master' into documentation
V4Vern Apr 14, 2024
bee7fc0
Merge pull request #172 from AY2324S2-CS2113-F14-3/fix-log-workout-de…
V4Vern Apr 14, 2024
7be53d5
Check if parsed date is same as given string
joshualeejunyi Apr 14, 2024
e21a4aa
Merge pull request #173 from V4Vern/documentation
joshualeejunyi Apr 14, 2024
fed26ec
Merge pull request #175 from joshualeejunyi/fix-31-feb
V4Vern Apr 14, 2024
d7e4fc9
Add reset function
pqienso Apr 14, 2024
199486c
Change to LinkedHashSet.clear()
pqienso Apr 14, 2024
8bd7e99
Change ActivityDoesNotExists to ActivityDoesNotExist
joshualeejunyi Apr 14, 2024
62dc972
Add check if exercise already logged and overwrites it
joshualeejunyi Apr 14, 2024
bbb7151
Add new line to test file
joshualeejunyi Apr 14, 2024
aa1343c
Fix test errors and remove unnecessary throw
joshualeejunyi Apr 14, 2024
6a267e6
Update DeveloperGuide.md
V4Vern Apr 14, 2024
c371d84
Update UG with overwriting log
joshualeejunyi Apr 14, 2024
963459e
Add new user story
V4Vern Apr 14, 2024
0424682
Update DG with TOC and remove duplicate section
joshualeejunyi Apr 14, 2024
1473182
Merge pull request #178 from V4Vern/documentation
joshualeejunyi Apr 14, 2024
04b033c
Merge pull request #176 from pqienso/YuAn-W13
joshualeejunyi Apr 14, 2024
d0d84d9
Merge pull request #179 from joshualeejunyi/update-dg
V4Vern Apr 14, 2024
451c3ee
Merge branch 'master' into fix-duplicate-exercise-log-bug
joshualeejunyi Apr 14, 2024
fb15c83
Merge pull request #177 from joshualeejunyi/fix-duplicate-exercise-lo…
V4Vern Apr 14, 2024
519c882
Update PPP
pqienso Apr 15, 2024
f1ad2d3
Merge branch 'master' into YuAn-W13
pqienso Apr 15, 2024
3a3d8d7
Merge pull request #180 from pqienso/YuAn-W13
pqienso Apr 15, 2024
0aac5de
Merge branch 'master' of https://github.com/AY2324S2-CS2113-F14-3/tp
LWachtel1 Apr 15, 2024
bea54a3
Update UML diagrams
pqienso Apr 15, 2024
70bd66a
Update PPP
pqienso Apr 15, 2024
743762e
Update PPP
pqienso Apr 15, 2024
d22b329
Add check if action parameter for list is empty
joshualeejunyi Apr 15, 2024
0f65583
Made the invalid list command-independent
joshualeejunyi Apr 15, 2024
d0900c7
Merge pull request #182 from joshualeejunyi/fix-list-validation
V4Vern Apr 15, 2024
f1e80b9
Merge pull request #169 from LWachtel1/help-bugs
joshualeejunyi Apr 15, 2024
f33aa28
Add view flag for help command, update Strings within HelpStrings
LWachtel1 Apr 15, 2024
d65220a
Merge branch 'master' of https://github.com/AY2324S2-CS2113-F14-3/tp
LWachtel1 Apr 15, 2024
bc4a141
Replace whitespace character indent with tab indent
LWachtel1 Apr 15, 2024
41746c5
Remove unnecessary comments
LWachtel1 Apr 15, 2024
ba199e4
Merge branch 'master' into help-command: tests
LWachtel1 Apr 15, 2024
194eb29
Update tests, add exception for view, add to HelpStrings
LWachtel1 Apr 15, 2024
6719aa5
Remove unused imports
LWachtel1 Apr 15, 2024
a6c687e
Update UML
pqienso Apr 15, 2024
da24040
Update Javadocs
LWachtel1 Apr 15, 2024
bfad650
Remove unrequired whitespace
LWachtel1 Apr 15, 2024
b9f2ede
Resolve checkstyle violations
LWachtel1 Apr 15, 2024
00c2fea
Change EXPECTED.txt to account for Help Menu changes
LWachtel1 Apr 15, 2024
37160f3
Merge pull request #181 from pqienso/YuAn-W13
joshualeejunyi Apr 15, 2024
8e448a2
Remove unused strings
joshualeejunyi Apr 15, 2024
f87ae39
Attempt to fix DG format
joshualeejunyi Apr 15, 2024
06c33de
Merge pull request #186 from joshualeejunyi/fix-dg-format
joshualeejunyi Apr 15, 2024
5cc8ae5
Add new line between diagrams
joshualeejunyi Apr 15, 2024
1a6d181
Merge branch 'AY2324S2-CS2113-F14-3:master' into fix-dg-format
joshualeejunyi Apr 15, 2024
5e5bb29
Merge pull request #185 from joshualeejunyi/cleanup
V4Vern Apr 15, 2024
b1de02b
Merge pull request #187 from joshualeejunyi/fix-dg-format
V4Vern Apr 15, 2024
967c48f
update PPP
V4Vern Apr 15, 2024
e256c76
Fix PPP links in AboutUs.md
joshualeejunyi Apr 15, 2024
027686f
Add borders
joshualeejunyi Apr 15, 2024
70c94cf
Replace 'help /view' user command with 'help'
LWachtel1 Apr 15, 2024
0ecbbe5
Merge pull request #189 from joshualeejunyi/fix-ppp-links
joshualeejunyi Apr 15, 2024
722933c
Merge pull request #188 from V4Vern/documentation
joshualeejunyi Apr 15, 2024
d56cc9a
Merge pull request #183 from LWachtel1/help-command
joshualeejunyi Apr 15, 2024
a69d20a
Update UG
joshualeejunyi Apr 15, 2024
1ca7a98
Add team contribution
joshualeejunyi Apr 15, 2024
d1636f5
Complete Help Menu UG
LWachtel1 Apr 15, 2024
5482b97
Merge pull request #190 from joshualeejunyi/fix-ppp-format
joshualeejunyi Apr 15, 2024
812008a
Display UML
joshualeejunyi Apr 15, 2024
f918519
Merge pull request #191 from joshualeejunyi/fix-ppp-format
joshualeejunyi Apr 15, 2024
2f392b0
Add manual testing for help
LWachtel1 Apr 15, 2024
88dcc21
Add check for extra slashes
joshualeejunyi Apr 15, 2024
b62613c
Correct existing Help Menu sequence diagrams, add 'help' to DG
LWachtel1 Apr 15, 2024
2688ccd
Add 'help' sequence diagram
LWachtel1 Apr 15, 2024
95d2b89
Change throws to assertions
joshualeejunyi Apr 15, 2024
5ad23df
Update Help sequence diagrams, rename Help Menu method and static String
LWachtel1 Apr 15, 2024
7bdda4c
Merge pull request #192 from joshualeejunyi/fix-extra-slash
V4Vern Apr 15, 2024
21689bc
Add Github link
V4Vern Apr 15, 2024
46646d6
Merge pull request #194 from V4Vern/master
V4Vern Apr 15, 2024
bf2e625
Update v4vern.md
V4Vern Apr 15, 2024
2c4166e
Remove loc line
joshualeejunyi Apr 15, 2024
3e328b3
Update v4vern.md
V4Vern Apr 15, 2024
11416a4
Add completed PPP
LWachtel1 Apr 15, 2024
eab1965
Merge pull request #196 from joshualeejunyi/update-ppp
V4Vern Apr 15, 2024
bf7f6ba
Merge pull request #195 from V4Vern/documentation
V4Vern Apr 15, 2024
8254b4b
Merge pull request #193 from LWachtel1/help-docs
LWachtel1 Apr 15, 2024
4fa4d44
Edit PPP
pqienso Apr 15, 2024
99f2d9f
Add page break
pqienso Apr 15, 2024
362b671
Remove unnecessary colon
LWachtel1 Apr 15, 2024
d03deb2
Merge pull request #198 from LWachtel1/edit-ppp
LWachtel1 Apr 15, 2024
f0df780
Merge pull request #197 from pqienso/YuAn-W13
pqienso Apr 15, 2024
97f3e6c
Edit formatting
V4Vern Apr 15, 2024
3d55568
Shorten ppp to limits
LWachtel1 Apr 15, 2024
43a56ed
Shorten ppp
LWachtel1 Apr 15, 2024
05af784
Add gradle check, fix punctuation
LWachtel1 Apr 15, 2024
f66445d
Add image scaling
pqienso Apr 15, 2024
09e00b9
Merge pull request #201 from LWachtel1/edit-ppp
LWachtel1 Apr 15, 2024
3f9e09e
Merge pull request #200 from V4Vern/master
V4Vern Apr 15, 2024
481f4ee
Merge pull request #202 from pqienso/YuAn-W13
pqienso Apr 15, 2024
d7b175f
Shorten further
LWachtel1 Apr 15, 2024
234d0a2
Perform gradle check
LWachtel1 Apr 15, 2024
321ea38
Add line reduction
LWachtel1 Apr 15, 2024
e9261b7
PPP image scaling
pqienso Apr 15, 2024
6a303d7
Merge pull request #204 from pqienso/YuAn-W13
pqienso Apr 15, 2024
bef3ee8
PPP imaqge scaling
pqienso Apr 15, 2024
c0187e4
Merge pull request #205 from pqienso/YuAn-W13
pqienso Apr 15, 2024
aefea83
Rename title
LWachtel1 Apr 15, 2024
325e8dc
Merge pull request #203 from LWachtel1/edit-ppp
LWachtel1 Apr 15, 2024
c69aa09
Edit UG introduction
V4Vern Apr 15, 2024
1a88a11
More scaling
pqienso Apr 15, 2024
4e3c129
Shorten even further
LWachtel1 Apr 15, 2024
043db84
2 page hard limit
LWachtel1 Apr 15, 2024
8e7e6b5
Merge pull request #207 from LWachtel1/final-ppp
LWachtel1 Apr 15, 2024
4d40cdd
Merge pull request #206 from V4Vern/master
joshualeejunyi Apr 15, 2024
647ea91
Remove sentence
LWachtel1 Apr 15, 2024
9f1a37d
Merge pull request #208 from LWachtel1/final-ppp
LWachtel1 Apr 15, 2024
f31ac12
Fix broken link
LWachtel1 Apr 15, 2024
49df2f8
Merge pull request #210 from LWachtel1/master
LWachtel1 Apr 15, 2024
32ccc2b
Merge pull request #209 from pqienso/YuAn-W13
joshualeejunyi Apr 15, 2024
da6ec68
Change heading format
joshualeejunyi Apr 15, 2024
af22cfa
Merge pull request #211 from joshualeejunyi/update-ppp
joshualeejunyi Apr 15, 2024
2860f5d
Update UserGuide.md
V4Vern Apr 15, 2024
1e46670
Update DeveloperGuide.md
V4Vern Apr 15, 2024
76a5391
Fix validation error for program /today
V4Vern Apr 15, 2024
f5ded04
Fix storage bug for exercise reps & sets
V4Vern Apr 15, 2024
04bf3be
Merge pull request #212 from V4Vern/master
joshualeejunyi Apr 15, 2024
4d4ed67
Add key UG grammar corrections
LWachtel1 Apr 15, 2024
13ba98e
Add further grammar changes
LWachtel1 Apr 15, 2024
9b198a3
Update command summary to include missing entries
LWachtel1 Apr 15, 2024
99e8967
Fix table of contents link to direct to correct heading
LWachtel1 Apr 15, 2024
3662f24
Merge pull request #213 from LWachtel1/checking-UG
joshualeejunyi Apr 15, 2024
7400b3c
Update readme
LWachtel1 Apr 15, 2024
679745a
Reformat table with IntelliJ button
LWachtel1 Apr 15, 2024
0ddbd53
Merge pull request #214 from LWachtel1/checking-UG
joshualeejunyi Apr 15, 2024
cda2c6e
Add extra line for table rendering
LWachtel1 Apr 15, 2024
37c2793
Merge pull request #215 from LWachtel1/checking-UG
LWachtel1 Apr 15, 2024
3442e78
Fix table in UG
V4Vern Apr 15, 2024
ed872b3
Merge pull request #216 from V4Vern/master
joshualeejunyi Apr 15, 2024
c693caa
Fix DG UMLs
joshualeejunyi Apr 15, 2024
2e212f3
Add DG corrections
LWachtel1 Apr 15, 2024
34b887b
Merge pull request #217 from joshualeejunyi/fix-dg-umls
pqienso Apr 15, 2024
88d2554
Edit v2.0 user story for rep monitoring
LWachtel1 Apr 15, 2024
20c02fc
Merge pull request #218 from LWachtel1/checking-DG
joshualeejunyi Apr 15, 2024
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
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,5 @@ bin/

/text-ui-test/ACTUAL.TXT
text-ui-test/EXPECTED-UNIX.TXT
META-INF/MANIFEST.MF
data.json
6 changes: 4 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ repositories {
dependencies {
testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: '5.10.0'
testRuntimeOnly group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.10.0'
implementation group: 'org.json', name: 'json', version: '20240303'
}

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

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

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

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

run{
standardInput = System.in
enableAssertions = true
}
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) | Joshua Lee | [Github](https://github.com/joshualeejunyi) | [Portfolio](docs/team/joshualee.md)
![](https://via.placeholder.com/100.png?text=Photo) | Vernon | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)
![](https://via.placeholder.com/100.png?text=Photo) | Lim Yu An | [Github](https://github.com/pqienso) | [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) | Lukas W | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)

121 changes: 115 additions & 6 deletions docs/DeveloperGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,118 @@

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

## Design & implementation
## Classes: overview

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 include a table of contents (with links to the relevant sections) for easier navigability?


{Describe the design and implementation of the product. Use UML diagrams and short code snippets where applicable.}
### `Activity` and child classes
The `Activity` class serves as a parent class to `Exercise`, `ExerciseLog`, `Workout`, `WorkoutLog` and `Day` classes for the ease of usage of `ActivityManager` classes (see below).

![ActivityClassDiagram](diagrams/ActivityClassDiagram.png)

Choose a reason for hiding this comment

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

exerciseLogs and exerciseList's visibilities seem to be missing?
image

Choose a reason for hiding this comment

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

Is the Parser class missing an activation bar?
image

Choose a reason for hiding this comment

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

Should there be a C logo beside the name of your classes?
image

Choose a reason for hiding this comment

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

Should there be a 'C' symbol in the class diagram?

Choose a reason for hiding this comment

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

Overall the class diagram seems quite comprehensive covering the relevant classes. Nice.

Choose a reason for hiding this comment

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

Consider omitting methods that are trivial/unnecessary to improve the readability of the class diagram.


#### The `Exercise` class
An `Exercise` object represents a single exercise entered by the user. The exercise name is stored in `Exercise.activityname`.

#### The `Workout` class
A `Workout` object represents a single workout created by the user. It contains an `ArrayList` of `Exercise` objects.

#### The `ExerciseLog` class
An `ExerciseLog` object is similar to an `Exercise` object, except that it also contains information on the weight, sets and repetitions of each exercise.

#### The `WorkoutLog` class
A `WorkoutLog` object is similar to that of a `Workout` object, except it contains an `ArrayList` of `ExerciseLog` objects.
Copy link

Choose a reason for hiding this comment

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

Would all this not already be self-evident from the class diagram?


### <code>ActivityManager</code> and child classes
The <code>ActivityManager</code> and inheritors are responsible for managing an <code>ArrayList</code> of activities. The basic functions of an <code>ActivityManager</code> include:
1. <code>add()</code>: Adding an activity to the <code>ArrayList</code>
2. <code>delete()</code>: Deleting an activity from the <code>ArrayList</code>
3. <code>retrieve()</code>: Retrieving an activity from the <code>ArrayList</code> by name
4. <code>getListString()</code>: Get the string containing all the activities contained in the <code>ActivityManager</code>.
5. `execute()`: Execute all commands related to the `ActivityManager` and return the required user input.

![ActivityManagerClassDiagram](diagrams/ActivityManagerClassDiagram.png)

Choose a reason for hiding this comment

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

Should there be a 'C' / 'A' symbol in the class diagram?


#### The `ExerciseManager` class
`ExerciseManager` is responsible for tracking and manipulating all exercises added to `ByteCeps` by the user.

#### The `WorkoutManager` class
`WorkoutManager` is responsible for tracking and manipulating all workouts created by the user.

#### The `WeeklyProgramManager` class
`WeeklyProgram` is responsible for tracking and manipulating the weekly training program set by the user.

## Implementation
#### Add an Exercise
1. The process begins with the user inputting a command via the command-line interface. In this scenario, the user enters the command `exercise /add pushups`, indicating their intention to add a new exercise named `pushups` to the system.
2. The command parser receives the user input and parses it to extract relevant information, such as the action (`exercise /add`) and any additional parameters (e.g., the name of the exercise to be added).
3. Upon receiving the parsed command, the Exercise Manager component validates the input to ensure it conforms to the expected format and criteria. This step is crucial for maintaining data integrity and preventing errors in subsequent processing.
4. If the input passes validation, the Exercise Manager proceeds to create a new Exercise object with the specified name, `pushups`. It then invokes the add method within the Activity Manager component to add the newly created Exercise to the activity set. Finally, a success message confirming the addition of the exercise is printed to the user interface, indicating that the operation was completed successfully.
5. If the input fails validation, an error message is generated and displayed to the user, informing them of the invalid command format. This ensures that users receive timely feedback and can correct their input accordingly

The sequence diagram below shows how an exercise is created.

![addExercise](https://github.com/V4Vern/tp/assets/28131050/45f7e9b3-8a31-4dfe-a783-433acb71fa58)

Choose a reason for hiding this comment

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

Should the return arrow in the sequence be depicted as a solid line?

Choose a reason for hiding this comment

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

Can the invocation of the method be more concise?

Choose a reason for hiding this comment

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

Are there supposed to be two class boxes at the top and bottom?

Copy link

Choose a reason for hiding this comment

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

FYI you should link to repository resources instead of external links, as done above.


Choose a reason for hiding this comment

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

Should there be an extra box coming out since you are calling a method of its own class?
image

Choose a reason for hiding this comment

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

Should the activation bar for ExerciseManager be extended all the way to where it says "Print error message indicating invalid command format"?
image

Choose a reason for hiding this comment

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

Assuming the print success message is void, the arrow should be dashed.

image


#### Delete an Exercise
1. The process begins with the user inputting a command via the command-line interface. In this scenario, the User provides the command `exercise /delete pushups` to delete the exercise named `pushups`.
2. The command parser receives the user input and parses it to extract relevant information, such as the action (`exercise /delete`) and any additional parameters (e.g., the name of the exercise to be deleted).
3. Upon receiving the parsed command, the Exercise Manager component validates the input to ensure it conforms to the expected format and criteria. This step is crucial for maintaining data integrity and preventing errors in subsequent processing.
4. If the input passes validation, the ExerciseManager retrieves the Exercise object associated with the name `pushups`. It then instructs the ActivityManager to delete the Exercise from the activitySet. The ExerciseManager then informs the User of the successful deletion.
5. If the input fails validation, an error message is generated and displayed to the user, informing them of the invalid command format. This ensures that users receive timely feedback and can correct their input accordingly

The sequence diagram below shows how an exercise is deleted.

![deleteExercise](https://github.com/V4Vern/tp/assets/28131050/3fde6b4e-d292-497a-9468-2118125678a7)
Copy link

Choose a reason for hiding this comment

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

Kindly add activation boxes for self-method calls in the ExerciseManager.

Choose a reason for hiding this comment

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

Is an activation bar required when invoking a method within the function?


#### Edit an Exercise
1. The process begins with the user inputting a command via the command-line interface. In this scenario, the User provides the command `exercise /edit pushups /to pressups` to change the exercise named `pushups` to `pressups`.
2. The command parser receives the user input and parses it to extract relevant information, such as the action (`exercise /edit`) and any additional parameters (e.g., the name of the exercise to be changed and the new name).
3. Upon receiving the parsed command, the Exercise Manager component validates the input to ensure it conforms to the expected format and criteria. This step is crucial for maintaining data integrity and preventing errors in subsequent processing.
4. If the input passes validation, the ExerciseManager retrieves the Exercise object associated with the name `pushups`. It then calls the object's instance method editExerciseName() to change the String stored in its instance field activityName. The ExerciseManager then informs the User of the successful edit.
5. If the input fails validation, an error message is generated and displayed to the user, informing them of the invalid command format. This ensures that users receive timely feedback and can correct their input accordingly

The sequence diagram below shows how an exercise is edited.

Choose a reason for hiding this comment

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

It seems that there is a missing sequence diagram here?

#### List Exercises
1. The process begins with the user inputting a command via the command-line interface. In this scenario, the User provides the command `exercise /list` to list all exercises.
2. The command parser receives the user input and parses it to extract relevant information, such as the action (`exercise /list`) and any additional parameters.
3. Upon receiving the parsed command, the Exercise Manager component validates the input to ensure it conforms to the expected format and criteria. This step is crucial for maintaining data integrity and preventing errors in subsequent processing.
4. If the input passes validation, the ExerciseManager instructs the ActivityManager to list all exercises. The ActivityManager retrieves the list of exercises from the activitySet. The ActivityManager returns the exercise list to the ExerciseManager. The ExerciseManager prints the list of exercises to the User.
5. If the input fails validation, an error message is generated and displayed to the user, informing them of the invalid command format. This ensures that users receive timely feedback and can correct their input accordingly
Copy link

Choose a reason for hiding this comment

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

Consider starting the sequence diagram at a later stage, say when the command has already been parsed, for a more condensed and meaningful explanation.


The sequence diagram below shows how exercises can be listed

![listExercise](https://github.com/V4Vern/tp/assets/28131050/eebe0e2e-d486-4644-b36d-e26b499d1f53)

Choose a reason for hiding this comment

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

Should the return arrow in the sequence be depicted as a solid line?

Choose a reason for hiding this comment

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

Is an activation bar required when invoking a method within the function?


#### Search an Exercise
1. The process begins with the user inputting a command via the command-line interface. In this scenario, the User provides the command `exercise /search pushups` to search for exercises containing `pushups`.
2. The command parser receives the user input and parses it to extract relevant information, such as the action (`exercise /search`) and any additional parameters (e.g., the name of the exercise to be search).
3. Upon receiving the parsed command, the Exercise Manager component validates the input to ensure it conforms to the expected format and criteria. This step is crucial for maintaining data integrity and preventing errors in subsequent processing.
4. If the input passes validation, the ExerciseManager instructs the ActivityManager to search for exercises containing the specified term. The ActivityManager performs the search operation on the activitySet. The ActivityManager returns the search results to the ExerciseManager. The ExerciseManager prints the search results to the User.
5. If the input fails validation, an error message is generated and displayed to the user, informing them of the invalid command format. This ensures that users receive timely feedback and can correct their input accordingly

The sequence diagram below shows how an exercise can be searched.

![searchExercises](https://github.com/V4Vern/tp/assets/28131050/fd32eba4-a7f1-460d-81cc-d9e57ca100c2)

Choose a reason for hiding this comment

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

Is an activation bar required when invoking a method within the function?





#### Logging of workouts
In order to log workouts, we have several layers to implement:
1. Logging of exercises
2. Storing logged exercises in a logged workout
3. Storing all logged workouts

The implementation for the above is as such:
1. `ExerciseLog` extends from the `Activity` class, and introduces `weight`, `set` and `repetitions` as variables to be stored.
2. `WorkoutLog` extends from the `Activity` class, and introduces `HashSet<ExerciseLog>` to store all logged exercises for that given workout, and `workoutName` to store the name of the `Workout` that was intended to be for that day. The id for this class is the date of the workout.
3. All `WorkoutLog` classes created are stored in `WorkoutLogsManager`, which is extended from `ActivityManager`.

The user interfaces with this feature through the `WeeklyProgramManager`, as it is intended that the user logs their exercises according to the workout program that they have assigned to a specified day.

The sequence diagram below shows how a log is created.

![WorkoutLogOverview.png](./diagrams/WorkoutLogOverview.png)


## Product scope

Choose a reason for hiding this comment

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

Target user profile and value proposition seems to be missing.

Expand All @@ -20,10 +129,10 @@

## User Stories

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

Choose a reason for hiding this comment

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

Consider adding more user stories

|---------|----------|---------------------------|-------------------------------------------------------------|
| 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 |

## Non-Functional Requirements

Expand Down
Loading
Loading