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-T17-1] AthletiCLI #16

Open
wants to merge 1,052 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
1052 commits
Select commit Hold shift + click to select a range
fb3eea5
Merge pull request #284 from yicheng-toh/v2.1_dietgoals
yicheng-toh Nov 12, 2023
e36a733
Implement parseNonNegativeInteger function
nihalzp Nov 12, 2023
d866750
Remove repetitive functions
nihalzp Nov 12, 2023
3f25007
Do not allow seconds to be passed in datetime
nihalzp Nov 12, 2023
ee3c7e5
Update message MESSAGE_DATE_FUTURE
nihalzp Nov 12, 2023
6cb8b0c
Merge upstream/master into userguide-update
nihalzp Nov 12, 2023
a22144b
Remove redundant empty new line
nihalzp Nov 12, 2023
fb20f3a
Update the help messages for activity goal
nihalzp Nov 12, 2023
8cf94ee
Update the text-ui-test EXPECTED.TXT
nihalzp Nov 12, 2023
c533937
Merge master in DG branch
AlWo223 Nov 12, 2023
82c6ae2
Update the phrasing in UG
nihalzp Nov 12, 2023
ba378de
Update activity edit and add swim command format in UG summary and help
AlWo223 Nov 12, 2023
d1848d2
Update skylee03's PPP
skylee03 Nov 12, 2023
eb84885
Merge pull request #288 from nihalzp/userguide-update
nihalzp Nov 12, 2023
4389282
Fix variable naming of elevationBoundary
AlWo223 Nov 12, 2023
8751a32
Merge remote-tracking branch 'upstream/master' into ppp
skylee03 Nov 12, 2023
dcb1906
Apply suggestions from code review
DaDevChia Nov 12, 2023
d16e354
Merge pull request #302 from skylee03/ppp
skylee03 Nov 12, 2023
c901657
Remove sleep attack test cases
DaDevChia Nov 12, 2023
f584322
Fix JavaDoc coding standard violations
AlWo223 Nov 12, 2023
4609f15
Squash diet goal bugs
yicheng-toh Nov 12, 2023
b37e982
Refactoring of diet goal list methods
yicheng-toh Nov 12, 2023
49a59a9
Improve code quality
yicheng-toh Nov 12, 2023
e7a7ad4
change edit error message
AlWo223 Nov 12, 2023
aa6b4d6
Merge master into branch
AlWo223 Nov 12, 2023
ff37c62
Fix checkstyle errors
yicheng-toh Nov 12, 2023
3061e54
Update text ui test
yicheng-toh Nov 12, 2023
a4b524c
Closes #297 Application crash caused by sleep when switching start/ a…
DaDevChia Nov 12, 2023
6f8b4ad
Merge pull request #296 from DaDevChia/sleep-code-quality
DaDevChia Nov 12, 2023
9e17afc
Merge pull request #304 from AlWo223/DG
yicheng-toh Nov 12, 2023
f4524a6
Resolve check style error
yicheng-toh Nov 12, 2023
20f1489
Merge branch 'master' of https://github.com/AY2324S1-CS2113-T17-1/tp
yicheng-toh Nov 12, 2023
bfe0c23
Merge branch 'master' into v2.1_dietgoals
yicheng-toh Nov 12, 2023
ca09b8a
Add exception handling for overlapping sleep
DaDevChia Nov 12, 2023
6070523
Sleep duration units given in Plural for value 1 Closes #298
DaDevChia Nov 12, 2023
db7ab28
Update help command messages for sleep Closes #303
DaDevChia Nov 12, 2023
c054e17
Merge pull request #305 from yicheng-toh/v2.1_dietgoals
yicheng-toh Nov 12, 2023
83453b6
Fix sleep overlap error message
DaDevChia Nov 12, 2023
e223bf2
Merge branch 'master' into sleep-no-overlap
DaDevChia Nov 12, 2023
24bb8ed
Merge branch 'master' into sleep-code-quality
DaDevChia Nov 12, 2023
3804cf4
Add additional task done
yicheng-toh Nov 12, 2023
2ec82cf
Merge master in branch PPP
AlWo223 Nov 12, 2023
cbc43db
Update text-ui-test
DaDevChia Nov 12, 2023
36c606b
Remove unused parameter in SleepGoal javadocs
DaDevChia Nov 12, 2023
d268152
Initiate structure for manual testing for developer guide
yicheng-toh Nov 12, 2023
a3a5a0c
Merge branch 'master' of https://github.com/AY2324S1-CS2113-T17-1/tp
yicheng-toh Nov 12, 2023
ad84c9c
Merge branch 'master' into docs
yicheng-toh Nov 12, 2023
fb3f4d2
Merge pull request #306 from DaDevChia/sleep-no-overlap
DaDevChia Nov 12, 2023
67f7c29
Add starting up guide for DG
yicheng-toh Nov 12, 2023
78891e1
Add and standardize all Junit tests for sleep Closes #269
DaDevChia Nov 12, 2023
face75a
Add sleep overlap check in AddSleepCommand
DaDevChia Nov 12, 2023
1abdb60
Add sleep2 to AddSleepCommandTest
DaDevChia Nov 12, 2023
669a7a7
Add sleep overlap check in EditSleepCommand
DaDevChia Nov 12, 2023
06aefc5
Update sleep record error message in Message.java
DaDevChia Nov 12, 2023
29e55d3
Update text-ui-test
DaDevChia Nov 12, 2023
767b12a
Add sleep goal commands to help menu
DaDevChia Nov 12, 2023
b1c80c9
Merge pull request #308 from yicheng-toh/docs
yicheng-toh Nov 13, 2023
1a658f0
Match strictly to datetime pattern
nihalzp Nov 13, 2023
aaaab33
Minor edits to docs
yicheng-toh Nov 13, 2023
055f325
Add help command for diet goals
yicheng-toh Nov 13, 2023
50587c2
Add additional notes when using diet goal commands
yicheng-toh Nov 13, 2023
26418f9
Delete unnecessary comment
yicheng-toh Nov 13, 2023
a5a2fe7
Increase clarity
yicheng-toh Nov 13, 2023
ab1603d
Merge branch 'master' of https://github.com/AY2324S1-CS2113-T17-1/tp
yicheng-toh Nov 13, 2023
280ee09
Merge branch 'master' into docs
yicheng-toh Nov 13, 2023
27b320a
Add diet goals sample output
yicheng-toh Nov 13, 2023
16d85a5
Add tests for invalid leap year datetime parser check
nihalzp Nov 13, 2023
33e8747
Fill in non-feature related sections in PPP
AlWo223 Nov 13, 2023
4a9c0cf
Merge pull request #316 from nihalzp/fix-bug-datetime
nihalzp Nov 13, 2023
8d89392
Increase clarity for set and edit diet goals examples
yicheng-toh Nov 13, 2023
81b03bf
Improve clarity for edit diet goal examples
yicheng-toh Nov 13, 2023
8224400
Explain diet goal features in PPP
yicheng-toh Nov 13, 2023
2a3a508
Update text ui test due to changes in help command
yicheng-toh Nov 13, 2023
47a7f22
Update src/main/java/athleticli/ui/Message.java
yicheng-toh Nov 13, 2023
5128060
Improve clarity of diet goals in UG
yicheng-toh Nov 13, 2023
a00f112
Update docs/team/yicheng-toh.md
yicheng-toh Nov 13, 2023
d61fb7b
Merge pull request #322 from yicheng-toh/docs
yicheng-toh Nov 13, 2023
d0bfcff
Merge pull request #314 from yicheng-toh/v2.1_dietgoals
yicheng-toh Nov 13, 2023
1ac4411
Remove lack of error message when no nutrients defined
yicheng-toh Nov 13, 2023
e1560ed
Fixes editing weekly goal affects daily goal
yicheng-toh Nov 13, 2023
fe6d5ec
Resolve bugs when calories value get data from protein
yicheng-toh Nov 13, 2023
0e9c057
Merge branch 'v2.1_dietgoals' of https://github.com/yicheng-toh/tp in…
yicheng-toh Nov 13, 2023
a1c2e38
Merge branch 'master' of https://github.com/AY2324S1-CS2113-T17-1/tp
yicheng-toh Nov 13, 2023
ab94ee8
Merge branch 'master' into v2.1_dietgoals
yicheng-toh Nov 13, 2023
47681d0
Add parser class diagram .puml
nihalzp Nov 13, 2023
625b006
Add parser class diagram to DeveloperGuide.md
nihalzp Nov 13, 2023
5f78c20
Make parser class diagram width 100%
nihalzp Nov 13, 2023
1b9162f
Fix typo in delete and edit activity goal UG
nihalzp Nov 13, 2023
8e87d1e
Merge branch 'master' into sleep-code-quality
DaDevChia Nov 13, 2023
8439deb
Merge pull request #307 from DaDevChia/sleep-code-quality
DaDevChia Nov 13, 2023
9ee8922
Merge branch 'master' into sleep-junit-test
DaDevChia Nov 13, 2023
be73b39
Update sleep record error message and text-ui-test
DaDevChia Nov 13, 2023
94c4825
Merge pull request #309 from DaDevChia/sleep-junit-test
DaDevChia Nov 13, 2023
ad1c407
Update DG for main class diagram and diet goal diagrams
yicheng-toh Nov 13, 2023
c08babe
Delete task from PPP
yicheng-toh Nov 13, 2023
3c9800e
Merge branch 'docs' of https://github.com/yicheng-toh/tp into docs
yicheng-toh Nov 13, 2023
139af64
Small changes to variable name
yicheng-toh Nov 13, 2023
ac70cd7
Add edit-diet sequence diagram puml
nihalzp Nov 13, 2023
eb34599
Update diet management and add edit diet seq diagram in DG
nihalzp Nov 13, 2023
e90f8a2
Add user story for delete-diet-goal command
nihalzp Nov 13, 2023
cd20b7b
Finish first version of PPP
AlWo223 Nov 13, 2023
62e2396
Update src/main/java/athleticli/parser/DietParser.java
yicheng-toh Nov 13, 2023
5cdc764
Merge pull request #330 from yicheng-toh/docs
yicheng-toh Nov 13, 2023
edeb2c8
Add DG manual testing for Diet Records
nihalzp Nov 13, 2023
f46cec1
Merge baster branch
AlWo223 Nov 13, 2023
147b527
Add DG manual testing for Activity Goal Records
nihalzp Nov 13, 2023
139cdbd
Some supporting documents for the docs
yicheng-toh Nov 13, 2023
6460059
Fix typo in DG diet records
nihalzp Nov 13, 2023
8bfa0f8
Create junit tests for find-activity
AlWo223 Nov 13, 2023
b5e8fd5
Add JavaDoc comments to AddActivityCommandTest
AlWo223 Nov 13, 2023
4b0cc82
Update Jekyll remote theme
skylee03 Nov 13, 2023
a553e95
Update src/main/java/athleticli/commands/diet/EditDietGoalCommand.java
skylee03 Nov 13, 2023
6180f24
Merge pull request #327 from yicheng-toh/v2.1_dietgoals
skylee03 Nov 13, 2023
17e4d5f
Merge pull request #332 from yicheng-toh/docs
skylee03 Nov 13, 2023
f848508
Merge pull request #333 from nihalzp/developerguide-update
skylee03 Nov 13, 2023
9f12036
Merge pull request #335 from skylee03/docs
skylee03 Nov 13, 2023
6581fb5
Fix AboutUs.md
skylee03 Nov 13, 2023
84fdf6a
Add missing JavaDoc comments to activity related junit tests
AlWo223 Nov 13, 2023
bc91ce9
Merge master branch
AlWo223 Nov 13, 2023
327c6a3
Merge pull request #336 from skylee03/docs
skylee03 Nov 13, 2023
46dfcf5
Update DG
skylee03 Nov 13, 2023
2f2d685
Merge pull request #337 from skylee03/docs
skylee03 Nov 13, 2023
107cade
Fix sleep start time format in SleepList.java
DaDevChia Nov 13, 2023
79bd53c
Add sleep parsing and goal parsing tests to acheive 100% Junit Test C…
DaDevChia Nov 13, 2023
683a975
Refactor SleepGoalListTest to use
DaDevChia Nov 13, 2023
a16e2e1
Remove unused import statement in
DaDevChia Nov 13, 2023
9306947
Add test instructions for activity records in DG
AlWo223 Nov 13, 2023
1cbae8b
Changed some UG and error messages regarding non-negative input speci…
AlWo223 Nov 13, 2023
4a5232d
Implemented a few junit tests
AlWo223 Nov 13, 2023
382c6df
Merge pull request #338 from DaDevChia/sleep-junit-test
DaDevChia Nov 13, 2023
34fa013
Merge branch 'master' of https://github.com/AY2324S1-CS2113-T17-1/tp
yicheng-toh Nov 13, 2023
d1329a6
Merge pull request #339 from AlWo223/PPP
AlWo223 Nov 13, 2023
a2c9352
Change all fats to fat
yicheng-toh Nov 13, 2023
4838b93
Fix check style issue
yicheng-toh Nov 13, 2023
2a90bae
Fix portfolio url for alex and nihal
AlWo223 Nov 13, 2023
b6c53f7
Merge master
AlWo223 Nov 13, 2023
f6debe4
Modify changes to text ui test
yicheng-toh Nov 13, 2023
299734c
Fix editing-activities hyperlink in UG
AlWo223 Nov 13, 2023
c5f0b05
Add hyperlink for deleting-activity-goals to UG subsection
AlWo223 Nov 13, 2023
4403583
Use proper reference to method in DG diet
nihalzp Nov 13, 2023
684f0e5
Update src/test/java/athleticli/parser/ParserTest.java
yicheng-toh Nov 13, 2023
a587d74
Merge pull request #341 from AlWo223/PPP
AlWo223 Nov 13, 2023
138b673
Add DG for other activity goals
nihalzp Nov 13, 2023
9651fe2
Update UML Diagrams to reflext Parser Refactoring
AlWo223 Nov 13, 2023
cedd157
Edit data class diagram
yicheng-toh Nov 13, 2023
6c6f635
Merge pull request #340 from yicheng-toh/Misc
yicheng-toh Nov 13, 2023
117ba19
Merge remote-tracking branch 'upstream/master' into dg-update
nihalzp Nov 13, 2023
0b235a3
Test emoji for edit hyperlink in UG
AlWo223 Nov 13, 2023
9f3899b
Update text-ui-test
nihalzp Nov 13, 2023
68536ab
Add manual testing instructions for misc commands
skylee03 Nov 13, 2023
078ecef
Merge remote-tracking branch 'upstream/master' into dp
skylee03 Nov 13, 2023
ee48bf9
Fix elevation param definition in UG
AlWo223 Nov 13, 2023
4aeb4a4
Update about us
nihalzp Nov 13, 2023
f8ec032
Rename parameter in list-activity to flag
AlWo223 Nov 13, 2023
559b5eb
Merge pull request #344 from nihalzp/dg-update
nihalzp Nov 13, 2023
dbe68fa
Merge pull request #342 from AlWo223/PPP
AlWo223 Nov 13, 2023
7df6111
Merge remote-tracking branch 'upstream/master' into docs
skylee03 Nov 13, 2023
0ecb6d3
Merge pull request #343 from yicheng-toh/docs
yicheng-toh Nov 13, 2023
f71f603
Merge pull request #345 from skylee03/docs
skylee03 Nov 13, 2023
a60df06
Replace all editing emojis to fix hyperlink issue in UG
AlWo223 Nov 13, 2023
fbf3d18
Merge pull request #346 from AlWo223/PPP
AlWo223 Nov 13, 2023
b9bd8dc
Add sleep, bye and save commands and instructions for
DaDevChia Nov 13, 2023
de3b22d
Update diet goal sequence diagram
yicheng-toh Nov 13, 2023
292a2a0
Add sleep features to user stories in v2.0 and v2.1
DaDevChia Nov 13, 2023
0a1536c
Merge branch 'master' of https://github.com/AY2324S1-CS2113-T17-1/tp
yicheng-toh Nov 13, 2023
0547fde
Update the expected outcome for find-diet
nihalzp Nov 13, 2023
c96c62e
Merge branch 'master' into docs
yicheng-toh Nov 13, 2023
bb93497
Add space after Usage Scenario in add-activity section
AlWo223 Nov 13, 2023
7bdb151
Merge pull request #347 from nihalzp/update-dg-2
nihalzp Nov 13, 2023
ec15c9a
Update from carbs to carb
yicheng-toh Nov 13, 2023
b825e54
Add unhealthy flag to user guide command summary
yicheng-toh Nov 13, 2023
01a160d
Update diagrams of the changed puml files
AlWo223 Nov 13, 2023
b26be1e
update Class diagram for sleep and sleep list
DaDevChia Nov 13, 2023
2d5d105
Merge master
AlWo223 Nov 13, 2023
23d7302
Restructure goal tracking UG section
AlWo223 Nov 13, 2023
b439da8
Merge branch 'master' into branch-UserAndDeveloperGuide
DaDevChia Nov 13, 2023
b75a951
Edit spelling error
yicheng-toh Nov 13, 2023
32ab4ef
Merge branch 'master' of https://github.com/AY2324S1-CS2113-T17-1/tp
yicheng-toh Nov 13, 2023
a563f18
Merge pull request #349 from AlWo223/PPP
AlWo223 Nov 13, 2023
1ec1da4
Limit set and edit diet goal value to 999999
yicheng-toh Nov 13, 2023
22dc7ba
Refactored Sleep and SleepList classes to
DaDevChia Nov 13, 2023
f80a576
Updated SleepAndSleeplistClassDiagram.puml
DaDevChia Nov 13, 2023
25988ac
Replace "Github" with "GitHub"
skylee03 Nov 13, 2023
10e71e0
Fix the alignment of "Display"
skylee03 Nov 13, 2023
049592b
Merge pull request #351 from skylee03/docs
skylee03 Nov 13, 2023
8010a0b
Add unique anchor for duplicate headline linking in PPP
AlWo223 Nov 13, 2023
02b362c
Ensure target value does not exceed 999999
yicheng-toh Nov 13, 2023
1312c4d
Merge pull request #352 from AlWo223/PPP
AlWo223 Nov 13, 2023
0117f83
Restrict current value data to prevent overflow
yicheng-toh Nov 13, 2023
e761a43
Fix text ui test
yicheng-toh Nov 13, 2023
d3e9870
Update EXPECTED.TXT
yicheng-toh Nov 13, 2023
ae05125
Update Message.java
yicheng-toh Nov 13, 2023
8ff16be
Fix links to UG and DG in PPP
AlWo223 Nov 13, 2023
f17a376
Change carbs to carb for help commands
yicheng-toh Nov 13, 2023
c144188
Merge pull request #354 from AlWo223/PPP
AlWo223 Nov 13, 2023
f257519
Remove exclamation mark icon from DG
yicheng-toh Nov 13, 2023
abeb5ac
Merge branch 'BugFixing' of https://github.com/yicheng-toh/tp into Bu…
yicheng-toh Nov 13, 2023
50078e5
Update text ui test
yicheng-toh Nov 13, 2023
4e5b9a8
Merge pull request #353 from yicheng-toh/BugFixing
yicheng-toh Nov 13, 2023
5d4e81d
Merge branch 'master' of https://github.com/AY2324S1-CS2113-T17-1/tp
yicheng-toh Nov 13, 2023
a208fe3
Merge branch 'master' into docs
yicheng-toh Nov 13, 2023
a90b13f
Fix CSS style for emoji
skylee03 Nov 13, 2023
82e2f68
Merge remote-tracking branch 'upstream/master' into docs
skylee03 Nov 13, 2023
4666a7c
Shorten PPP
AlWo223 Nov 13, 2023
433ec97
Add the "!" back
skylee03 Nov 13, 2023
406d391
Update Data class diagram
yicheng-toh Nov 13, 2023
caa6bd1
Merge pull request #355 from skylee03/docs
skylee03 Nov 13, 2023
69fb7da
Added test instruction to PPP
AlWo223 Nov 13, 2023
41b371a
Merge pull request #356 from AlWo223/PPP
AlWo223 Nov 13, 2023
ddb0f43
Update developer guide bugs
yicheng-toh Nov 13, 2023
3d0d887
Update PPP for DG
yicheng-toh Nov 13, 2023
be4021e
Update docs/UserGuide.md
yicheng-toh Nov 13, 2023
b6f091c
Update calorie to calories
yicheng-toh Nov 13, 2023
a8dc3fb
Merge branch 'docs' of https://github.com/yicheng-toh/tp into docs
yicheng-toh Nov 13, 2023
a73b1d0
Merge pull request #348 from yicheng-toh/docs
yicheng-toh Nov 13, 2023
0ba1854
Update PPP format
yicheng-toh Nov 13, 2023
e87e42f
Remove weird dots on PPP
yicheng-toh Nov 13, 2023
8af64eb
Update README.md
skylee03 Nov 13, 2023
7ea1dc4
Updated DG for Sleep
DaDevChia Nov 13, 2023
a1d8162
Merge pull request #357 from yicheng-toh/docs
yicheng-toh Nov 13, 2023
f02ee1f
Added spacing to DG
DaDevChia Nov 13, 2023
87d54d2
Merge pull request #358 from skylee03/docs
skylee03 Nov 13, 2023
54ca2b1
Merge branch 'master' into branch-UserAndDeveloperGuide
DaDevChia Nov 13, 2023
523c84f
Add captions for DG images for PPP
yicheng-toh Nov 13, 2023
2aa66fc
Add contribution to PPP
yicheng-toh Nov 13, 2023
14ac18c
Merge pull request #360 from yicheng-toh/docs
yicheng-toh Nov 13, 2023
4dfec50
Update DeveloperGuide.md with Miscellaneous
DaDevChia Nov 13, 2023
70d5d97
Refactor Dylan Chia's portfolio page
DaDevChia Nov 13, 2023
dfc2143
Restored Miscellaneous in DG
DaDevChia Nov 13, 2023
29f2d18
Updated PPP for dylan
DaDevChia Nov 13, 2023
045f747
Merge pull request #359 from DaDevChia/branch-UserAndDeveloperGuide
DaDevChia Nov 14, 2023
2abdd09
Fix DG numbering
skylee03 Nov 14, 2023
ff17050
Update sleep record index message
DaDevChia Nov 14, 2023
17e3f47
Update find-sleep command syntax
DaDevChia Nov 14, 2023
999fc8b
Update UserGuide for lack of Goal Delete for
DaDevChia Nov 14, 2023
7b36025
Updated text-ui-test
DaDevChia Nov 14, 2023
44af977
Merge pull request #361 from skylee03/docs
DaDevChia Nov 14, 2023
22c9fea
Merge pull request #362 from DaDevChia:branch-UserAndDeveloperGuide
DaDevChia Nov 14, 2023
9445c93
Minor update to UG
DaDevChia Nov 14, 2023
09f33aa
Merge pull request #363 from DaDevChia/branch-UserAndDeveloperGuide
skylee03 Nov 14, 2023
e693e34
Replace 'command' with `command` in DG
skylee03 Nov 14, 2023
12cf8bb
Merge pull request #364 from skylee03/docs
skylee03 Nov 14, 2023
1b6e4dd
Update PPP
nihalzp Nov 14, 2023
80d117d
Fix typo in ppp
nihalzp Nov 14, 2023
d6b8b6f
Fix typo in ppp
nihalzp Nov 14, 2023
bb03eb4
Fix typo in PPP features
nihalzp Nov 14, 2023
6bb9fa7
Merge pull request #365 from nihalzp/ppp-update
nihalzp Nov 14, 2023
13ec792
Fix page layout
nihalzp Nov 14, 2023
e595239
Fix page layout typo
nihalzp Nov 14, 2023
7ab597b
Merge pull request #366 from nihalzp/ppp-update
nihalzp Nov 14, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,7 @@ bin/

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

.vscode/
text-ui-test/data/
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
# AthletiCLI 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
5 changes: 3 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,11 @@ test {
}

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

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

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

run{
standardInput = System.in
enableAssertions = true
}
2 changes: 2 additions & 0 deletions docs/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Gemfile.lock
_site/
20 changes: 12 additions & 8 deletions docs/AboutUs.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,13 @@
# About us
---
layout: page
title: About Us
---

| Display | Name | Github Profile | Portfolio |
|-----------------------------------------------------------|:-----------------:|:----------------------------------------:|:-----------------------------------------:|
| ![](https://via.placeholder.com/100.png?text=Photo) | Alexander Wolters | [Github](https://github.com/AlWo223) | [Portfolio](docs/team/johndoe.md) |
| ![](https://via.placeholder.com/100.png?text=Photo) | Nihal | [Github](https://github.com/nihalzp) | [Portfolio](docs/team/nihalzp.md) |
| ![](https://github.com/DaDevChia) | Dylan Chia | [Github](https://github.com/DaDevChia) | [Portfolio](https://github.com/DaDevChia) |
| ![](https://via.placeholder.com/100.png?text=Photo) | Yi Cheng | [Github](https://github.com/yicheng-toh) | [Portfolio](docs/team/yicheng.md) |
| ![](https://avatars.githubusercontent.com/u/24489025?s=100) | Yang Ming-Tian | [Github](https://github.com/skylee03) | [Portfolio](docs/team/skylee03.md) |

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)
198 changes: 188 additions & 10 deletions docs/DeveloperGuide.md
Original file line number Diff line number Diff line change
@@ -1,33 +1,211 @@
# Developer Guide
---
layout: page
title: Developer Guide
---

- Table of Contents
{:toc}

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

This section provides a high-level explanation of the design and implementation of AthletiCLI,
supported by UML diagrams and short code snippets to illustrate the flow of data and interactions between the
components.


### Architecture

Given below is a quick overview of main components and how they interact with each other.

**Main components of the architecture**

**`AthletiCLI`** is in charge of the app launch and shut down.

The bulk of the AthletiCLI’s work is done by the following components, with each of them corresponds to a package:

* [`UI`](https://github.com/AY2324S1-CS2113-T17-1/tp/tree/master/src/main/java/athleticli/ui): The UI of AthletiCLI.
* [`Storage`](https://github.com/AY2324S1-CS2113-T17-1/tp/tree/master/src/main/java/athleticli/storage): Reads data from, and writes data to, the hard disk.
* [`Data`](https://github.com/AY2324S1-CS2113-T17-1/tp/tree/master/src/main/java/athleticli/data): Holds the data of AthletiCLI in memory.
* [`Commands`](https://github.com/AY2324S1-CS2113-T17-1/tp/tree/master/src/main/java/athleticli/commands): The command executors.

[`Exceptions`](https://github.com/AY2324S1-CS2113-T17-1/tp/tree/master/src/main/java/athleticli/exceptions) represents exceptions used by multiple other components.

### UI Component

### Storage Component

### Data Component

### Commands Component

## Implementation

### Diet Management in AthletiCLI

#### [Implemented] Setting Up, Editing, Deleting, Listing, and Finding Diets

Regardless of the operation you are performing on diets (setting up, editing, deleting, listing, or finding), the process follows a general five-step pattern in AthletiCLI:

1. **Input Processing**: The user's input is passed through AthletiCLI to the Parser Class. Examples of user inputs include:
- `add-diet calories/500 protein/20 carb/50 fat/10 datetime/2021-09-01 06:00` for adding a diet.
- `edit-diet 1 calories/500 protein/20 carb/50 fat/10 datetime/2021-09-01 06:00` for editing a diet.
- `delete-diet 1` for deleting a diet.
- `list-diet` for listing all diets.
- `find-diet 2021-09-01` for finding diets of a particular date.

2. **Command Identification**: The Parser Class identifies the type of diet operation and passes the necessary parameters.

Choose a reason for hiding this comment

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

In published website, the numbering reads 1., 7, ..., 10. Is there something that can be done about this?

3. **Command Creation**: An instance of the corresponding command class is created (e.g., AddDietCommand, EditDietCommand, etc.) and returned to AthletiCLI.

4. **Command Execution**: AthletiCLI executes the command, interacting with the data instance of DietList to perform the required operation.

5. **Result Display**: A message is returned post-execution and passed through AthletiCLI to the UI for display to the user.

By following these general steps, AthletiCLI ensures a streamlined process for managing diet-related tasks.

### [Implemented] Setting Up of Diet Goals

This following sequence diagram show how the 'set-diet-goal' command works:

<p align="center" width="100%">
<img width="80%" src="images/setDietGoalUmlSequenceDiagram.svg" alt="'set-diet-goal' Sequence Diagram"/>

Choose a reason for hiding this comment

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

include self-invocation of initializeIntermmediateDietGoals method?

</p>
Copy link

Choose a reason for hiding this comment

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

Maybe the diagram needs to be updated to reflect the current implementation? It seems to be a little different.

Copy link

Choose a reason for hiding this comment

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

Maybe it would help to include variable names in the diagram? I.e. it may not be immediately clear which object's execute() is called unless we look into the code/make educated guesses


Step 1. The input from the user ("set-diet-goal fats/1") runs through AthletiCLI to the Parser Class.

Step 2. The Parser Class will identify the request as setting up a diet goal and pass in the parameters
"fats/1".

Step 3. A temporary dietGoalList is created to store newly created diet goals.

Step 4. The inputs are verified against our lists of approved diet goals.

Step 5. For each of the diet goals that are valid, a dietGoal object will be created and stored in the
temporary dietGoalList.

Step 6. The Parser then creates for an instance of SetDietGoalCommand and returns the instance to
AthletiCLI.

Step 7. AthletiCLI will execute the SetDietGoalCommand. This adds the dietGoals that are present in the
temporary list into the data instance of DietGoalList which will be kept for records.

Step 8. After executing the SetDietGoalCommand, SetDietGoalCommand returns a message that is passed to
AthletiCLI to be passed to UI(not shown) for display.

#### [Implemented] Adding activities
The `add-activity` feature allows users to add a new activity into the application.

Choose a reason for hiding this comment

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

might be better to put the adding of activities in a separate section instead of under diet goals since the adding of activities is not related to the diet goals based on sequence diagram.

These are the main components behind the architecture of the `add-activity` feature:
1. `AthletiCLI`: faciliates the mechanism. It captures the input and calls the parser and execution.
2. `Parser`: parses the user input and generates the appropriate command object and activity
instance.
3. `AddActivityCommand`: encapsulates the execution of the `add-activity` command. It adds
the activity to the data.
4. `Activity`: represents the activity that is to be added.
5. `Data`: holds current state of the activity list.
6. `ActivityList`: maintains the list of all added activities.

Given below is an example usage scenario and how the add mechanism behaves at each step.

**Step 1 - Input Capture:** The user issues an `add-activity ...` which is captured and passed to the Parser by the
running AthletiCLI instance.

**Step 2 - Activity Parsing:** The Parser parses the raw input to obtain the arguments of the activity. Given that all
parameters are provided correctly and no exception is thrown, a new activity object is created.

**Step 3 - Command Parsing:** In addition the parser will create an `AddActivityCommand` object with the newly added
activity attached to it. The command implements the `AddActivityCommand#execute()` operation and is passed to
the AthletiCLI instance.

**Step 4 - Activity Addition:** The AthletiCLI instance executes the `AddActivityCommand` object. The command will
access the data and retrieve the currently stored list of activities stored inside it. The new `Activity` object is
added to the list.

**Step 5 - User Interaction:** Once the activity is successfully added, a confirmation message is displayed to the user.

The following sequence diagram shows how the `add-activity` operation works:
<p align="center" width="100%">

Choose a reason for hiding this comment

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

may want to maintain same format of explaining feature implementation to ensure consistency; ie. similar to [Implemented] Setting Up of Diet Goals where image of sequence diagram is first attached before detailed explanation.

<img width="80%" src="DeveloperGuide/AddActivity.png" alt="Sequence Diagram of add-activity`"/>
</p>

### [Proposed] Implementation of DietGoalList

The current implementation of DietGoalList is an ArrayList.
It helps to store dietGoals, however it is not efficient in searching for a particular dietGoal.
At any instance of time, there could only be the existence of one dietGoal.
Verifying if there is an existence of a dietGoal using an ArrayList takes O(n) time, where n is the number of dietGoals.
The proposed change will be to change the underlying data structure to a hashmap for amortised O(1) time complexity
for checking the presence of a dietGoal.

### Sleep Management in AthletiCLI

#### [Implemented] Adding, Editing, Deleting, Listing Sleep

Copy link

@WooKaiNing WooKaiNing Nov 1, 2023

Choose a reason for hiding this comment

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

is there find function for sleep entries as well?

1. **Input Processing**: The user's input is passed through AthletiCLI to the Parser Class. Examples of user inputs include:
- "add-sleep hours/8 datetime/2021-09-01 06:00" for adding sleep.
- "edit-sleep 1 hours/8 datetime/2021-09-01 06:00" for editing sleep.
- "delete-sleep 1" for deleting sleep.
- "list-sleep" for listing all sleep.

2. **Command Identification**: The Parser Class identifies the type of sleep operation and passes the necessary parameters.

3. **Command Creation**: An instance of the corresponding command class is created (e.g., AddSleepCommand, EditSleepCommand, etc.) and returned to AthletiCLI.

4. **Command Execution**: AthletiCLI executes the command, interacting with the data instance of SleepList to perform the required operation.

5. **Result Display**: A message is returned post-execution and passed through AthletiCLI to the UI for display to the user.

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


## Product scope
### Target user profile

{Describe the target user profile}
AthletiCLI is designed for athletic individuals who are committed to optimizing their performance.

These users are highly disciplined and engaged not only in regular, intense physical training but also in nutrition, mental conditioning, and recovery.

They are looking for a holistic tool that integrates all facets of an athletic lifestyle. AthletiCLI serves as a daily or weekly companion, designed to monitor, track, and analyze various elements crucial for high-level athletic performance.

### Value proposition

{Describe the value proposition: what problem does it solve?}
AthletiCLI provides a streamlined, integrated solution for athletic individuals focused on achieving peak performance.

While the app includes robust capabilities for tracking physical training metrics, it also offers features for monitoring dietary habits and sleep metrics.

By providing a comprehensive view of various performance-related factors over time, AthletiCLI enables athletes to identify trends, refine their training and lifestyle habits, and optimize outcomes. The app is more than a tracking tool—it's a performance optimization platform that takes into account the full spectrum of an athlete's life.

## 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 ... |
|---------|---------------------------------|----------------------------|----------------------------------------------------------------------------------------|
Copy link

Choose a reason for hiding this comment

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

Nice list of stories!

| v1.0 | health-conscious user | add my dietary information | keep track of my daily calorie and nutrient intake |
| v1.0 | organized user | delete a dietary entry | remove outdated or incorrect data from my diet records |
| v1.0 | fitness enthusiast | view all my diet records | have a clear overview of my dietary habits and make informed decisions on my diet |
| v1.0 | new user | see usage instructions | refer to them when I forget how to use the application |
| v1.0 | motivated weight-conscious user | set diet goals | have the motivation to work towards keeping weight in check. |
| v1.0 | forgetful user | see all my diet goals | remind myself of all the diet goals I have set. |
| v1.0 | regretful user | remove my diet goals | I can rescind the strict goals I set previously when I find the goals too far fetched. |
| v1.0 | motivated user | update my diet goals | I can work towards better version of myself by setting stricter goals. |
| v1.0 | sleep deprived user | add my sleep information | keep track of my sleep habits and identify areas for improvement |
| v1.0 | sleep deprived user | delete a sleep entry | remove outdated or incorrect data from my sleep records |
| v1.0 | sleep deprived user | view all my sleep records | have a clear overview of my sleep habits and make informed decisions on my sleep |
| v1.0 | sleep deprived user | edit my sleep entries | correct any mistakes or update my sleep information as needed |
| v2.0 | user | find a to-do item by name | locate a to-do without having to go through the entire list |
| v2.0 | meticulous user | edit my dietary entries | correct any mistakes or update my diet information as needed |

Choose a reason for hiding this comment

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

may want to be more specific in identifying what are the possible criterions of "to-do". for example, is it referring to an activity / diet / sleep entry, or is it the goals?

| v2.0 | active user | set activity goals | work towards a specific fitness target for different sports activities. |
| v2.0 | adaptable athlete | edit my activity goals | modify my fitness targets to align with my current fitness level and schedule. |
| v2.0 | organized athlete | list all my activity goals | have a clear overview of my set targets and track my progress easily. |
| v2.0 | meticulous user | find my diets by date | easily retrieve my dietary records for a specific day and monitor my eating habits. |

## Non-Functional Requirements

{Give non-functional requirements}
1. AthletiCLI should work on Windows, MacOS and Linux that has java 11 installed.
2. AthletiCLI should be able to store data locally.
3. AthletiCLI should be able to work offline.
4. AthletiCLI should be easy to use.

## Glossary

Expand Down
Binary file added docs/DeveloperGuide/AddActivity.png

Choose a reason for hiding this comment

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

Perhaps it might be better to use a better variable name instead of a and c?

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
38 changes: 38 additions & 0 deletions docs/DeveloperGuide/AddActivity.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
@startuml
'https://plantuml.com/sequence-diagram
skinparam Style strictuml
skinparam SequenceMessageAlignment center

!define LOGIC_COLOR #3333C4
!define LOGIC_COLOR_T1 #7777DB
!define LOGIC_COLOR_T2 #5252CE
!define LOGIC_COLOR_T3 #1616B0
!define LOGIC_COLOR_T4 #101086

participant ":AthletiCLI" as AthletiCLI LOGIC_COLOR
participant ":Parser" as Parser #lightblue
participant "a:Activity" as Activity #yellow
participant "c:AddActivityCommand" as AddActivityCommand #lightgreen
participant "data:Data" as Data #lightgrey
participant "activities:ActivityList" as activities #lightgrey

AthletiCLI++
AthletiCLI -> Parser++: parseCommand(userInput)
Parser -> Parser++: parseActivity(arguments)
Parser -> Activity++: Activity()
Activity --> Parser--: a
Parser--
Parser -> AddActivityCommand++: parseAddActivityCommand(arguments)
AddActivityCommand --> Parser--: c
Parser --> AthletiCLI--: c

AthletiCLI -> AddActivityCommand++: execute(a, data)
AddActivityCommand -> Data++: getActivities()
Data --> activities++
activities --> Data--: activities

Data --> AddActivityCommand--: activities
AddActivityCommand -> activities++: add(a)
activities --> AddActivityCommand--
AddActivityCommand -> AthletiCLI--: message
@enduml
10 changes: 10 additions & 0 deletions docs/Gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# frozen_string_literal: true

source "https://rubygems.org"

git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }

gem 'jekyll'
gem 'github-pages', group: :jekyll_plugins
gem 'wdm', '~> 0.1.0' if Gem.win_platform?
gem 'webrick'
Loading
Loading