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-F15-2] LifeTrack #56

Open
wants to merge 604 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
604 commits
Select commit Hold shift + click to select a range
d4fafcc
fix UG
a-wild-chocolate Apr 10, 2024
ef8423e
Merge pull request #159 from a-wild-chocolate/master
a-wild-chocolate Apr 10, 2024
cc39b61
fix invalid date exception message printing
owx0130 Apr 10, 2024
1ded088
Add JUnit test for invalidInputs for deleteEntry method
rexyyong Apr 10, 2024
0b72d55
Add nicer message for delete entry exception
rexyyong Apr 10, 2024
68d0506
remove ErrorMessage class,
owx0130 Apr 10, 2024
a222d2f
Merge branch 'master' into sortByDate
rexyyong Apr 10, 2024
b5e4ad1
fix checkstyle error
owx0130 Apr 10, 2024
1dea31d
Merge pull request #160 from owx0130/fix-PED-bugs
owx0130 Apr 10, 2024
bf03485
Merge pull request #161 from rexyyong/sortByDate
rexyyong Apr 10, 2024
bf6694a
Add own image into AboutUs.md
rexyyong Apr 10, 2024
f03e1b1
Edit userguide for bug fixing and new features
rexyyong Apr 10, 2024
7e03d88
Add message to inform user that list is empty if they try to delete f…
rexyyong Apr 10, 2024
9f7ca65
Add nicer message when entryID for calories delete cannot be found
rexyyong Apr 10, 2024
dbc21be
Fix bug where entries with date later than current date can be added
rexyyong Apr 10, 2024
4f361a1
Merge pull request #162 from rexyyong/bugFixes
rexyyong Apr 10, 2024
811edf9
fix sleep add cannot add future date and delete msg for empty list
a-wild-chocolate Apr 10, 2024
1ad1671
Add PPP for rex
rexyyong Apr 10, 2024
48a1481
fix bugs from PE-D
paturikarthik Apr 10, 2024
ab48238
Merge pull request #166 from a-wild-chocolate/master
paturikarthik Apr 10, 2024
f58d19b
Merge pull request #167 from rexyyong/PPP
paturikarthik Apr 10, 2024
76cb220
update help message
paturikarthik Apr 10, 2024
0e6b820
Merge pull request #168 from paturikarthik/fix-bugs
paturikarthik Apr 10, 2024
0984ed3
Modify code such that calories is Calories ID, hydration is Hydration id
rexyyong Apr 10, 2024
627b1bc
Fix checkstyle and JUnit test issues
rexyyong Apr 10, 2024
5bd0117
Change Calories ID to caloriesID. Change Hydration ID to hydrationID
rexyyong Apr 10, 2024
5dcdc8c
Update CalorieListTest and HydrationListTest to match changes
rexyyong Apr 10, 2024
5a41231
Update Userguide to match changes to caloriesID and hydrationID
rexyyong Apr 10, 2024
932b130
Merge pull request #169 from rexyyong/calorie_entries
paturikarthik Apr 10, 2024
b1dd2f5
add first draft of PPP
owx0130 Apr 10, 2024
dfd8fd3
edit PPP
owx0130 Apr 10, 2024
110816b
update PPP documentation section, add FAQ to UG
owx0130 Apr 10, 2024
791b914
Merge pull request #170 from owx0130/add-PPP
owx0130 Apr 10, 2024
5ac8580
Update Function
paturikarthik Apr 10, 2024
c8ea368
javadocs
paturikarthik Apr 10, 2024
a527255
gradle error
paturikarthik Apr 10, 2024
977c71b
Merge pull request #171 from paturikarthik/user-Update
paturikarthik Apr 10, 2024
59ba782
Update Developer guide Calories list feature
rexyyong Apr 11, 2024
6f876f7
Update seqeunce diagram and class diagram for Calories list feature
rexyyong Apr 11, 2024
cabb74f
Add design considerations in developer guid for calories list feature
rexyyong Apr 11, 2024
c247d6f
Merge pull request #173 from rexyyong/DG
rexyyong Apr 11, 2024
c87fb52
remove Activity class
owx0130 Apr 11, 2024
67f31d8
close all scanner objects in FileHandler
owx0130 Apr 11, 2024
1bd6a46
authorship
shawnpong Apr 11, 2024
f70dc8d
Merge pull request #174 from shawnpong/master
shawnpong Apr 11, 2024
31695ea
DG
shawnpong Apr 11, 2024
c06a64b
Merge pull request #176 from shawnpong/master
shawnpong Apr 11, 2024
ed9c89a
Karthik-PPP
paturikarthik Apr 11, 2024
0dc9fea
Merge pull request #175 from owx0130/code-cleanup
paturikarthik Apr 11, 2024
6b57ca8
Merge pull request #177 from paturikarthik/karthik-PPP
paturikarthik Apr 11, 2024
711a4f8
Add architecture diagram for developer guide
rexyyong Apr 11, 2024
67e86b9
Add quick links for developer guide
rexyyong Apr 11, 2024
993d05e
Add architecture portion of developer guide
rexyyong Apr 11, 2024
3e89b43
Merge pull request #179 from rexyyong/DG2
rexyyong Apr 11, 2024
d05a36a
Hydration List
shawnpong Apr 11, 2024
b4dfbef
Merge pull request #180 from shawnpong/master
shawnpong Apr 11, 2024
59f762f
Fixed userprogress to only show current day consumption
shawnpong Apr 12, 2024
f3c43f9
Added PPP
shawnpong Apr 12, 2024
cbd853d
Fix junit hydration
shawnpong Apr 12, 2024
2910db3
Fix import gradle errors
shawnpong Apr 12, 2024
a806653
Add more to PPP
shawnpong Apr 12, 2024
f4133d3
Fix typo for rex
shawnpong Apr 12, 2024
347657c
Merge pull request #181 from shawnpong/Hydration_errors
shawnpong Apr 12, 2024
d3c7059
Shift all images into assets folder
rexyyong Apr 12, 2024
2f4ac09
Add calories puml file
rexyyong Apr 12, 2024
979c7f4
Add hydration, sleep, user puml diagrams
rexyyong Apr 12, 2024
4bb87a3
Shift all puml files into diagrams folder
rexyyong Apr 12, 2024
fd7b4d6
Edit developer guide
rexyyong Apr 12, 2024
87d5cbc
Merge branch 'master' into DG2
rexyyong Apr 12, 2024
b86a012
Edit devloper guide to include png of hydration, sleep and user class…
rexyyong Apr 12, 2024
3a94937
Add user.png image
rexyyong Apr 12, 2024
88369eb
Merge pull request #183 from rexyyong/DG2
rexyyong Apr 12, 2024
6122fa6
summary
paturikarthik Apr 12, 2024
0535ac5
Add caloriesComponent Sequence Diagram
rexyyong Apr 13, 2024
2964fe7
Add calories component description into developer guide
rexyyong Apr 13, 2024
c0bccd8
Merge pull request #185 from rexyyong/dg3
rexyyong Apr 13, 2024
40b5a48
remove getters for maxCaloriesID and maxHydrationID, set up new FileH…
owx0130 Apr 13, 2024
a248175
complete sleep DP
a-wild-chocolate Apr 13, 2024
5117f97
handle date format/period too late exceptions, handle calories and en…
owx0130 Apr 13, 2024
c2258fd
create new class CaloriesFileHandler to handle storage needs for calo…
owx0130 Apr 13, 2024
2b4e01a
handle all calories related exceptions in the data file
owx0130 Apr 13, 2024
f0694e1
summary
paturikarthik Apr 13, 2024
e1b31bb
Merge pull request #184 from paturikarthik/threeDaySummary
paturikarthik Apr 13, 2024
1bf088c
Edit naming mistake
paturikarthik Apr 13, 2024
0e3183f
Merge pull request #201 from a-wild-chocolate/master
paturikarthik Apr 13, 2024
131dc11
handle all hydration related exceptions in the data file
owx0130 Apr 13, 2024
81a2ee4
handle all sleep related exceptions for data file
owx0130 Apr 13, 2024
0753a9e
Merge branch 'master' into edit-filehandler
owx0130 Apr 13, 2024
a862a27
update DG with new filehandler classes
owx0130 Apr 13, 2024
9b72041
cleared bugs from internal review
paturikarthik Apr 13, 2024
d4ce2c9
Merge pull request #217 from paturikarthik/internal-testing-bugs
paturikarthik Apr 13, 2024
2921f8a
handle all user related exceptions for data file
owx0130 Apr 13, 2024
77978d4
Added JUnit Test Cases for User Class
paturikarthik Apr 13, 2024
9494fca
build error
paturikarthik Apr 13, 2024
87d0157
add authorship
owx0130 Apr 13, 2024
f8b53ee
Merge pull request #219 from paturikarthik/user-JUnit
paturikarthik Apr 13, 2024
87e31be
add coming soon and FAQ to UG, add target user and value proposition …
owx0130 Apr 13, 2024
fd81ec2
Merge branch 'master' into edit-filehandler
owx0130 Apr 13, 2024
990b69c
fix gradle checkstyle
owx0130 Apr 13, 2024
095f015
fix text-ui
owx0130 Apr 13, 2024
3910203
fix expected text
owx0130 Apr 13, 2024
01c7179
Merge pull request #218 from owx0130/edit-filehandler
owx0130 Apr 13, 2024
e4f279c
added find functions
paturikarthik Apr 13, 2024
2bf5c83
edit
paturikarthik Apr 13, 2024
f00c4f4
merge master
paturikarthik Apr 13, 2024
063338e
Merge pull request #220 from paturikarthik/find-function
paturikarthik Apr 13, 2024
a0a760b
small bugfix for calories input
owx0130 Apr 13, 2024
f5ca8dd
Merge pull request #221 from owx0130/small-calories-filehandler-bugfix
owx0130 Apr 13, 2024
54a31ad
Bug fixes
shawnpong Apr 14, 2024
54e3c3c
special-char-names added
paturikarthik Apr 14, 2024
002780e
build error
paturikarthik Apr 14, 2024
d104065
Merge pull request #222 from paturikarthik/special-character-names
paturikarthik Apr 14, 2024
9daf00e
disallow negative inputs for macronutrients
owx0130 Apr 14, 2024
bc13d60
add correct input test cases for ParserCalories
owx0130 Apr 14, 2024
f525d5f
Update UG
paturikarthik Apr 14, 2024
2529e3a
Merge pull request #224 from paturikarthik/user-guide-update
paturikarthik Apr 14, 2024
26bd980
Merge pull request #223 from owx0130/final-enhancements
paturikarthik Apr 14, 2024
65d847f
More fixes
shawnpong Apr 14, 2024
31d68a2
extract methods for more SLAP in filehandler classes, set up sample d…
owx0130 Apr 14, 2024
40f0d84
Merge pull request #225 from shawnpong/internal_testing_fix
shawnpong Apr 14, 2024
03c3467
move user methods to UserFileHandler
owx0130 Apr 14, 2024
94ee294
fix sleep add bugs, fix sleep delete bugs, update DeveloperGuide.md
a-wild-chocolate Apr 14, 2024
fe7c99d
fix gradle issue
a-wild-chocolate Apr 14, 2024
44e9d17
fix gradle issue
a-wild-chocolate Apr 14, 2024
2cb2a86
Fix exception message for calories delete
rexyyong Apr 14, 2024
ea97182
Fix sorting of sleep list
rexyyong Apr 14, 2024
ff589e0
Fix exception messages printed twice for non integer calories
rexyyong Apr 14, 2024
d148c6c
Add limit of 5k calories per entry for calories in and calories out
rexyyong Apr 14, 2024
93b96a5
Sleep duration from 1 dp to 2 dp
rexyyong Apr 14, 2024
26ec35f
Fix gradle errors
rexyyong Apr 14, 2024
c30350a
Merge pull request #246 from rexyyong/internal_testing
rexyyong Apr 14, 2024
923a218
update DG
paturikarthik Apr 14, 2024
0a7f927
Merge branch 'master' into master
paturikarthik Apr 14, 2024
23ada8a
Merge pull request #247 from paturikarthik/DG-Update
paturikarthik Apr 14, 2024
c615436
Merge pull request #227 from a-wild-chocolate/master
paturikarthik Apr 14, 2024
a363df6
fix error
paturikarthik Apr 14, 2024
0ba5aa1
Merge pull request #248 from paturikarthik/gradle
paturikarthik Apr 14, 2024
e8f7144
Edit user guide for calories
rexyyong Apr 14, 2024
3df1002
Edit userguide for command summary
rexyyong Apr 14, 2024
7a25681
Edit userguide faq, edit quick links names
rexyyong Apr 14, 2024
2f5db32
add correct input JUnit tests for all file handler types
owx0130 Apr 14, 2024
b9ee244
Merge branch 'master' into add-JUnit-tests-for-filehandler
owx0130 Apr 14, 2024
5594bf1
Merge pull request #249 from rexyyong/UGREX
rexyyong Apr 14, 2024
4e86e6c
fix gradle checkstyles
owx0130 Apr 14, 2024
12f1acf
change method name to fix checkstyle
owx0130 Apr 14, 2024
f09ca09
Merge branch 'master' into add-JUnit-tests-for-filehandler
owx0130 Apr 14, 2024
fbb92cb
hydration date verification
shawnpong Apr 14, 2024
a69c85b
more fixes!
shawnpong Apr 14, 2024
50b2b41
fix gradle build error
owx0130 Apr 14, 2024
a391473
optimize imports
shawnpong Apr 14, 2024
cf891bf
Merge pull request #255 from shawnpong/master
shawnpong Apr 14, 2024
ff63e49
fix sleep file handler JUnit test
owx0130 Apr 14, 2024
63c02f8
Merge pull request #250 from owx0130/add-JUnit-tests-for-filehandler
owx0130 Apr 14, 2024
1cf293e
first edits
paturikarthik Apr 14, 2024
ef515f1
update
paturikarthik Apr 14, 2024
0c96dc6
Merge pull request #256 from paturikarthik/Peer-Testing-Bugs
paturikarthik Apr 14, 2024
6cd0a59
double v/ d/ input fix
shawnpong Apr 15, 2024
9ed70b4
Merge pull request #258 from shawnpong/master
shawnpong Apr 15, 2024
4f38ca7
Add limit for macros
rexyyong Apr 15, 2024
a042b2c
change method names
owx0130 Apr 15, 2024
8527327
update user guide
a-wild-chocolate Apr 15, 2024
7699907
Merge pull request #259 from a-wild-chocolate/master
a-wild-chocolate Apr 15, 2024
b48ef6a
Fix duplicate keyword issue for c/ d/ m/
rexyyong Apr 15, 2024
bb46612
Fix gradle error
rexyyong Apr 15, 2024
787bac8
Make it clearer that calories ID increments based on previous one
rexyyong Apr 15, 2024
22fe050
Fix exception message for too big entryID when deleting
rexyyong Apr 15, 2024
faf80db
Fix gradle error
rexyyong Apr 15, 2024
92502ec
Merge pull request #260 from rexyyong/PEERTESTINGREX
rexyyong Apr 15, 2024
35ae179
Merge branch 'master' into add-negative-JUnit-tests-for-filehandler
owx0130 Apr 15, 2024
5318e27
Fix bug where sorting for calories not updated to txt file
rexyyong Apr 15, 2024
f1c7b3f
Fix sorting issue where hydration list not sorted when relaunching app.
rexyyong Apr 15, 2024
c50fbcd
Fix sorting for sleep
rexyyong Apr 15, 2024
c57d668
fixed sleep fail to add issue
a-wild-chocolate Apr 15, 2024
0b4fab4
Merge pull request #262 from rexyyong/ug_final
rexyyong Apr 15, 2024
c64c206
fixed gradle issue
a-wild-chocolate Apr 15, 2024
79232a3
fixed gradle issue
a-wild-chocolate Apr 15, 2024
6f3f0cb
Merge pull request #263 from a-wild-chocolate/master
a-wild-chocolate Apr 15, 2024
28b6784
Edit ug for calories, general and command summary
rexyyong Apr 15, 2024
d19b985
remove all string.format code to prevent some edge cases from crashin…
owx0130 Apr 15, 2024
aa45daf
Merge branch 'master' into add-negative-JUnit-tests-for-filehandler
owx0130 Apr 15, 2024
323cebc
remove extra png file
owx0130 Apr 15, 2024
c4ecbf5
Update PPP and UG
shawnpong Apr 15, 2024
4325a96
Merge pull request #265 from shawnpong/master
shawnpong Apr 15, 2024
7db60eb
Merge pull request #266 from rexyyong/EDITUG
rexyyong Apr 15, 2024
28071f6
update PPP
paturikarthik Apr 15, 2024
c82b926
Edit developer guide for Value proposition, Target user profile and u…
rexyyong Apr 15, 2024
6a6cc75
New seq diagram hydration delete
shawnpong Apr 15, 2024
ae0da3c
Merge branch 'master' of https://github.com/shawnpong/tp
shawnpong Apr 15, 2024
60c60f5
Merge pull request #267 from shawnpong/master
shawnpong Apr 15, 2024
668f6e9
Edit Developer guide for non-functional requirements
rexyyong Apr 15, 2024
c0fdf5d
Add more non functional requirements
rexyyong Apr 15, 2024
09e5c81
Add in appendix names
rexyyong Apr 15, 2024
3664a91
DG update
shawnpong Apr 15, 2024
50e1fd7
completed hydration and calories
shawnpong Apr 15, 2024
607e1e5
Add test instruction for sleep
rexyyong Apr 15, 2024
df80dd9
asdasd
shawnpong Apr 15, 2024
6a95bf5
Add dg test for calories
rexyyong Apr 15, 2024
3f4548e
Merge pull request #270 from paturikarthik/documentation
paturikarthik Apr 15, 2024
4d6166c
Merge pull request #268 from rexyyong/developerGuideRex
rexyyong Apr 15, 2024
d7f5300
push
shawnpong Apr 15, 2024
ed58715
Merge branch 'master' into manual_testing_UG
shawnpong Apr 15, 2024
217db05
Merge pull request #269 from shawnpong/manual_testing_UG
shawnpong Apr 15, 2024
bd8e24e
edit UG and PPP, check positive entry ID
owx0130 Apr 15, 2024
25a72ec
Merge branch 'master' into add-negative-JUnit-tests-for-filehandler
owx0130 Apr 15, 2024
9a1aded
adasdasdsad
shawnpong Apr 15, 2024
4ccc26d
Merge pull request #271 from shawnpong/master
shawnpong Apr 15, 2024
29075fb
update UG
paturikarthik Apr 15, 2024
5a48435
PPP update
shawnpong Apr 15, 2024
f37c23b
Merge pull request #272 from paturikarthik/documentation
paturikarthik Apr 15, 2024
457148a
Merge pull request #273 from shawnpong/master
paturikarthik Apr 15, 2024
a65cf4b
fix expected output indents in UG, fix sleep test bugs
owx0130 Apr 15, 2024
b3c034b
Merge branch 'master' into add-negative-JUnit-tests-for-filehandler
owx0130 Apr 15, 2024
60f313d
Merge pull request #264 from owx0130/add-negative-JUnit-tests-for-fil…
owx0130 Apr 15, 2024
bebb335
DG
paturikarthik Apr 15, 2024
64e1a34
trial
paturikarthik Apr 15, 2024
fdf72c7
Merge pull request #274 from paturikarthik/UG-issue
paturikarthik Apr 15, 2024
63e4873
Update calories component DG
rexyyong Apr 15, 2024
1f59332
second
paturikarthik Apr 15, 2024
1037844
Hydration seq diagram
shawnpong Apr 15, 2024
9f25c8e
edit
paturikarthik Apr 15, 2024
57039ef
Merge branch 'master' into DG
paturikarthik Apr 15, 2024
fa447fe
Merge pull request #276 from paturikarthik/DG
paturikarthik Apr 15, 2024
7d25c2b
Merge pull request #275 from shawnpong/master
shawnpong Apr 15, 2024
555dbe3
UG change
paturikarthik Apr 15, 2024
5da3ea8
Merge pull request #277 from paturikarthik/karthik-final
paturikarthik Apr 15, 2024
4f4a678
Yanyu's PPP
a-wild-chocolate Apr 15, 2024
954285e
Merge remote-tracking branch 'origin/master'
a-wild-chocolate Apr 15, 2024
86ac728
Developer guide edits
rexyyong Apr 15, 2024
465733e
Yanyu's PPP
a-wild-chocolate Apr 15, 2024
25f3db9
Merge pull request #278 from a-wild-chocolate/master
a-wild-chocolate Apr 15, 2024
8e33e25
Settle merge conflicts
rexyyong Apr 15, 2024
98cac59
Update UserGuide.md
owx0130 Apr 15, 2024
92e3293
Edit user guide
rexyyong Apr 15, 2024
e1af075
Update PPP
a-wild-chocolate Apr 15, 2024
651e3a7
Merge branch 'AY2324S2-CS2113-F15-2:master' into master
a-wild-chocolate Apr 15, 2024
db7c543
Merge pull request #280 from rexyyong/DGsubmission
owx0130 Apr 15, 2024
cec1c17
Merge pull request #279 from AY2324S2-CS2113-F15-2/update-UG
owx0130 Apr 15, 2024
01d8e44
Merge pull request #281 from a-wild-chocolate/master
a-wild-chocolate Apr 15, 2024
641cb6f
update ppp
shawnpong Apr 15, 2024
8d6275f
Merge pull request #282 from shawnpong/master
shawnpong Apr 15, 2024
075a77d
Update UserGuide.md
owx0130 Apr 15, 2024
3a49f98
Merge pull request #283 from AY2324S2-CS2113-F15-2/final-UG
owx0130 Apr 15, 2024
f81ddf3
Update UserGuide.md
owx0130 Apr 15, 2024
5dc3bfe
Merge pull request #284 from AY2324S2-CS2113-F15-2/update-UG-1
owx0130 Apr 15, 2024
f0837cd
Update UserGuide.md
owx0130 Apr 15, 2024
757e59b
Merge pull request #285 from AY2324S2-CS2113-F15-2/update-UG-2
owx0130 Apr 15, 2024
2d0cecc
Update AboutUs.md
owx0130 Apr 15, 2024
a1da17a
Merge pull request #286 from AY2324S2-CS2113-F15-2/update-AboutUs-1
owx0130 Apr 15, 2024
377c18e
Update DeveloperGuide.md
owx0130 Apr 15, 2024
981b0aa
Merge pull request #287 from AY2324S2-CS2113-F15-2/update-DG
owx0130 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

data/*
3 changes: 3 additions & 0 deletions META-INF/MANIFEST.MF
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Manifest-Version: 1.0
Main-Class: seedu.lifetrack.LifeTrack

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("seedu.lifetrack.LifeTrack")
}

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

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

run{
standardInput = System.in
enableAssertions = true
}
13 changes: 6 additions & 7 deletions docs/AboutUs.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
# About us

Display | Name | Github Profile | Portfolio
--------|:----:|:--------------:|:---------:
![](https://via.placeholder.com/100.png?text=Photo) | John Doe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)
![](https://via.placeholder.com/100.png?text=Photo) | Don Joe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)
![](https://via.placeholder.com/100.png?text=Photo) | Ron John | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)
![](https://via.placeholder.com/100.png?text=Photo) | John Roe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)
![](https://via.placeholder.com/100.png?text=Photo) | Don Roe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)
Display | Name | Github Profile | Portfolio
--------|:--------------:|:------------------------------------------:|:---------:
![](https://avatars.githubusercontent.com/u/64789669?v=4) | Paturi Karthik | [Github](https://github.com/paturikarthik) | [Portfolio](docs/team/paturikarthik.md)
![](https://avatars.githubusercontent.com/u/110764881?s=400&u=f41e3f40315f394bd71538063882c06bcfa2b624&v=4) | Shawn Pong | [Github](https://github.com/shawnpong) | [Portfolio](docs/team/shawnpong.md)
![](https://drive.google.com/file/d/1BM0lQP13brp_vlVJsgHYzQHSWaREHrnP/view?usp=drive_link) | Rex Yong Jin Xiang | [Github](https://github.com/rexyyong) | [Portfolio](docs/team/johndoe.md)
![](https://via.placeholder.com/100.png?text=Photo) | Yanyu | [Github](https://github.com/a-wild-chocolate/) | [Portfolio](docs/team/johndoe.md)
Binary file added docs/CaloriesAddEntrySeqDiagram.png

Choose a reason for hiding this comment

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

After the updateFile(), from the code it seems like it calls fileHandler in the storage. Perhaps can show the storage class too?

Copy link

Choose a reason for hiding this comment

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

Is it possible to make the bar thicker, it's kinda hard to distinguish the bars when classes are calling multiple functions inside the class.

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
32 changes: 32 additions & 0 deletions docs/CaloriesAddEntrySeqDiagram.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
@startuml
actor Bob
Bob -> UI: Input "calories in" or "calories out" command
activate UI

UI -> UI: handleUserInput()
activate UI

UI -> UI: handleCaloriesInput()
activate UI

UI -> CalorieList: addEntry()
activate CalorieList

CalorieList -> ParserCalories: parseCaloriesInput()
activate ParserCalories
return entry

CalorieList -> CalorieList: calorieArrayList.add(entry)
activate CalorieList
return

CalorieList -> CalorieList: updateFile()
activate CalorieList
return

return
return
return
return

@enduml
37 changes: 37 additions & 0 deletions docs/CaloriesListClassDiagram.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
@startuml

class LifeTrack {
+ main(args: String[]): void
}

package ui {
class Ui {
+ readUserInput(calorieList: calories.CalorieList, hydrationList: hydration.HydrationList, user: user.User, sleepList: sleep.SleepList): void
+ handleCaloriesInput(line: String, calorieList: calories.CalorieList): void
}
}

package calories {
package calorielist {
class CalorieList {
- ArrayList<Entry> calorieArrayList
+ printCalorieList(): void
}

class CalorieListUi {
+ calorieListHeader(): void
+ emptyListMessage(): void
}
}
}



LifeTrack --> calories.calorielist.CalorieList
LifeTrack -[dotted]-> ui.Ui
ui.Ui -[dotted]-> calories.calorielist.CalorieList
CalorieList -[dotted]-> CalorieListUi

@enduml


27 changes: 27 additions & 0 deletions docs/CaloriesListSequenceDiagram.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
@startuml
actor Bob

Bob -> UI: Input "calories list" command
activate UI

UI -> UI: handleUserInput(input, calorieList, .....)
activate UI

UI -> UI: handleCaloriesInput(input, calorieList, .....)
activate UI

UI -> CalorieList: printCalorieList()
activate CalorieList

loop calorieArrayList.size()
CalorieList -> CalorieList : calorieArrayList.get(i)
activate CalorieList
end

return
return
return
return
return

@enduml
140 changes: 139 additions & 1 deletion docs/DeveloperGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,147 @@
{list here sources of all reused/adapted ideas, code, documentation, and third-party libraries -- include links to the original source as well}
Copy link

Choose a reason for hiding this comment

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

This should be at the bottom; and it is not complete


Copy link

Choose a reason for hiding this comment

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

Consider adding in a Table of Contents

Copy link

Choose a reason for hiding this comment

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

For all your images, save it as a proper file inside your docs folder. Avoid copy pasting and letting Github render from blobs. This will help in version control as well.

## Design & implementation
### Adding calorie entries feature

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

Choose a reason for hiding this comment

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

Good that you zoomed into implementation via the header. What happened to the Design part?


This functionality is facilitated by `UI`, `CalorieList`, `FileHandler` and `ParserCalories`. It implements one operation, namely:
- `UI#handleCaloriesInput(String, CalorieList)`
- `CalorieList#addEntry(String)`
- `ParserCalories#parseCaloriesInput(String)`
- `FileHandler#updateFile()`

This feature is activated when the user inputs a `calories in` or `calories out` command in the terminal.
Copy link

Choose a reason for hiding this comment

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

Very detailed step descriptions.


Given below is an example usage scenario and how this mechanism behaves at every step:

- Step 1: When the user inputs the command `calories in burger c/200 d/2024-02-02` in the terminal,
the string is sent to `UI#handleCaloriesInput(String, CalorieList)`, which calls `CalorieList#addEntry(String)`.

- Step 2: Inside `CalorieList#addEntry(String)`, the function `ParserCalories#parseCaloriesInput(String)` is then called to extract information such as the description, number of calories, and date of entry.

- Step 3: The obtained information is sent to the private method `ParserCalories#makeNewInputEntry(String, int, String)` to create a new entry of class `InputEntry` that extends `Entry`. An `Entry` object is then returned to the caller, `CalorieList#addEntry(String)`.

- Step 4: The returned `Entry` object is added into the `calorieArrayList` member of type `ArrayList<Entry>` in the `CalorieList`, via the `ArrayList.add()` method.

- Step 5: `FileHandler#updateFile()` is then called to update the data file with the new entry in the `CalorieList`.

The sequence diagram for this feature is shown below:

![CaloriesAddEntrySeqDiagram](http://www.plantuml.com/plantuml/proxy?cache=no&src=https://raw.githubusercontent.com/rexyyong/tp/RexDG/docs/CaloriesAddEntrySeqDiagram.puml)

Choose a reason for hiding this comment

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

There appears to be some self-called methods in ParserCalories#parseCaloriesInput() such as checkKeyWordExists(), checkKeywordsCorrectlyOrdered() etc. Would it be better to include these self called methods into the diagram?

Choose a reason for hiding this comment

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

Remember to add colon ':' in front of all instances of a class.
Screenshot 2024-04-04 152804

Copy link

Choose a reason for hiding this comment

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

As a peer mentioned, you are missing the colon.
The actor Bob is a good adition, but is Bob really a good way of describing a User?


### Calculating calorie requirements based on a user`s goals

#### Implementation

This functionality is facilitated by `UserGoals`. It implements one operation, namely:
- `UserGoals#getHealthInfo(User)`

This operation is exposed in the `User` class as `User#getHealhInfo()`.

Given below is an example usage scenario and how this mechanism behaves at every step:
- Step 1: When the user inputs the command `user progress` in the terminal,
the string is sent to `User#getHealthInfo()`, which calls `UserGoals#getHealthInfo(User)`.

- Step 2: The method retrieves the user`s information such as his height, weight, age, gender, exercise levels and intended goal.

- Step 3: Using these information, the method creates a `requestBody` `String`.

- Step 4: The created `requestBody` is used to send a `HttpRequest` to RapidAPI`s Fitness API, and the response is parsed to determine the number of calories a user needs to consume according to their personal goals.

- Step 5: This value is set to `User.caloriesRequired` by `User#setCaloriesRequired(int)`.

#### Design considerations

- **Alternative 1 (current choice):** Uses an API to get the calories needed
- Pros: No need to figure out the optimal algorithm
- Cons: Need to parse response to sieve out necessary information

- **Alternative 2:** Uses an algorithm to find the number of calories needed
- Pros: Not dependent on external APIs
- Cons: Need to come up with an algorithm to use

Choose a reason for hiding this comment

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

Great indication of other design considerations. The implementation for this feature is clearly stated and easy to follow. Would it be better to also include a sequence diagram to trace the code?


### Calories list feature

The `calories list` feature lists out the record of all the Calories data that the user has keyed in. The Calories data are all stored into a `ArrayList<Entry> calorieArrayList` attribute of the `CalorieList` Class. Calories data are printed when the `printCalorieList()` function is called.

The `printCalorieList()` function iterates through the `calorieArrayList` and prints out the Entries according to its order in the Array List.

The Class diagram and sequence diagram for Calories list feature is shown below. Unrelated attributes and Classes were excluded.

![CaloriesListClassDiagram](http://www.plantuml.com/plantuml/proxy?cache=no&src=https://raw.githubusercontent.com/rexyyong/tp/DevGuideRex/docs/CaloriesListClassDiagram.puml)

Choose a reason for hiding this comment

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

Could use these proper symbols for representing public/private classes instead of squares

  • : public
  • : private

: protected

~ : package private

Choose a reason for hiding this comment

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

Good job on using a Class Diagram here. It serves a good purpose for this feature. However, the notation regarding the calories and calorieslist does not seem to be a notation used in CS2113T. Would it be better to use the association lines instead?

Copy link

Choose a reason for hiding this comment

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

The class diagram notation has issues as your peers pointed out.
Remove the (C) icon and fix the access modifiers notation.

![CaloriesListSequenceDiagram](http://www.plantuml.com/plantuml/proxy?cache=no&src=https://raw.githubusercontent.com/rexyyong/tp/RexDG/docs/CaloriesListSequenceDiagram.puml)
Copy link

Choose a reason for hiding this comment

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

A few points to note:

  1. Im not sure about what you are trying to convey in this diagram. The get activation bar seems to extend beyond the loop frame, which implies that the act of getting breaks out of the loop?

image

  1. Missing colon for sequence diagram


### Calories delete feature

The `calories delete` feature can delete the calories record at specific index of calorie list. This functionality is facilitated by `CaloriesList`. It implements one operation, namely:
- `deleteEntry(String line)`

Given below is an example usage scenario and how this mechanism behaves at every step:
- Step 1: When the user inputs the command `calories delete INDEX` in the terminal, the string is sent to `Ui#handleUserInput()`, which will call `Ui#handleCaloriesInput()`.

- Step 2: After the `Ui#handleCaloriesInput()` matching `delete calories` key word, the string will be passed into deleteEntry(String line) to execute delete process.

- Step 3: The string will be divided to two substrings according to the command syntax. Index will be tried to get from the second substring by `Integer.parseInt()`.

- Step 4: The calories record (`Entry`) stored in the `ArrayList<Entry> caloriesList` will be deleted by calling `calorieArrayList.remove((index-1));` and a successful deleting message will be shown in terminal by calling `CalorieListUi#successfulDeletedMessage(toDelete)`

- Step 5: The latest calories list will be updated to saving file by calling `CalorieList#updateFile()`.

The Class diagram for Calories delete feature is shown below:

![CaloriesDeleteClassDiagram](https://github.com/a-wild-chocolate/tp/blob/master/docs/caloriesDeleteUML.jpg)

Choose a reason for hiding this comment

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

Diagram has formatting issues and does not show up as a picture

Choose a reason for hiding this comment

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

This diagram does not show. It doesn't seem to appear in the docs package as well.

Choose a reason for hiding this comment

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

The diagram does not seem to appear correctly in the Developer Guide. Would it be better to update the link to a relative path in the code, e.g. "caloriesDeleteUML.jpg" instead of the github link?

Copy link

Choose a reason for hiding this comment

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

Standardize what tools you all use for Class and UML diagrams. Multiple syntax issues here: the diagram notation is not as per what the course has taught.

For example, your association labels should not be <<label>>.


### Parsing user input for hydration entries

This functionality is facilitated by `ParserHydration`. It implements one operation, namely:
- `ParserHydration#parseHydrationInput(String input)`

This operation is exposed in the `HydrationList` class as `HydrationList#addEntry(String)`.

Given below is an example usage scenario and how this mechanism behaves at every step:
- Step 1: When the user inputs the command `hydration in Milo v/100 d/2022-01-02` in the terminal,
the string is sent to `HydrationList#addEntry(String)`, which calls `ParserHydration#parseHydrationInput(String)`.

- Step 2: Using `String.split()`, the method extracts information such as the description, volume of beverage, and date of entry. The obtained information is sent to the private method `ParserHydration#makeNewInputEntry(String, int, String)` to create a new entry of class `HydrationEntry` that extends `Entry`.

- Step 3: The created `HydrationEntry` instance is added into the `ArrayList<Entry>` attribute of the `HydrationList`.

### Calculating hydration requirements for each user

#### Design Considerations

**General Health Guidelines:** The recommended daily intake of water for an average adult is around 8 glasses or approximately 2000 milliliters. This guideline is commonly recommended by health authorities and organizations such as HealthHub.

**Ease of Implementation:** Setting a standard hydration requirement simplifies the tracking process for users. It provides a clear goal to strive for, making it easier for individuals to monitor and maintain their hydration levels consistently.
Copy link

Choose a reason for hiding this comment

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

Excellent!

### Hydration list feature

The `hydration list` feature lists out the record of all the Hydration data that the user has keyed in. The Hydration data are all stored into a `ArrayList<Entry> hydrationArrayList` attribute of the `HydrationList` Class. Hydration data are printed when the `printHydrationList()` function is called.

The `printHydrationList()` function iterates through the `hydrationArrayList` and prints out the Entries according to its order in the Array List.

The Class diagram for Hydration list feature is shown below. Unrelated attributes and Classes were excluded.

![HydrationListClassDiagram.png](HydrationListClassDiagram.png)

Choose a reason for hiding this comment

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

The association between hydration and hydrationlist does not seem to be a notation used in cs2113. Would it be better to update the diagram to use association lines instead?

Choose a reason for hiding this comment

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

Yeah, this makes sense here.


### Hydration delete feature

The `hydration delete` feature can delete the hydration record at specific index of hydration list. This functionality is facilitated by `HydrationList`. It implements one operation, namely:
- `deleteEntry(String line)`

Given below is an example usage scenario and how this mechanism behaves at every step:
- Step 1: When the user inputs the command `hydration delete INDEX` in the terminal, the string is sent to `Ui#handleUserInput()`, which will call `Ui#handleHydrationInput()`.

- Step 2: After the `Ui#handleHydrationInput()` matching `delete hydration` key word, the string will be passed into deleteEntry(String line) to execute delete process.

- Step 3: The string will be divided to two substrings according to the command syntax. Index will be tried to get from the second substring by `Integer.parseInt()`.

- Step 4: The hydration record (`Entry`) stored in the `ArrayList<Entry> hydrationList` will be deleted by calling `hydrationArrayList.remove((index-1));` and a successful deleting message will be shown in terminal by calling `HydrationListUi#successfulDeletedMessage(toDelete)`

- Step 5: The latest hydration list will be updated to saving file by calling `HydrationList#updateFile()`.

The Sequence diagram for Hydration delete feature is shown below:

Choose a reason for hiding this comment

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

Great Job at keeping the application used to make the sequence diagrams the same.

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

@itsmejr257 itsmejr257 Apr 4, 2024

Choose a reason for hiding this comment

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

The notation for this sequence diagram appears to be different from the rest of the diagrams. The methods called seem to be indicated with the class. E.g. Ui#handleHydrationinput. Would it be better to standardize the notations to match the previous diagrams, in particular, following the notation taught during lectures?

Copy link

Choose a reason for hiding this comment

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

Same as itsmejr257 pointed out


## Product scope
### Target user profile

Choose a reason for hiding this comment

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

Could fill in information on scope, user profile etc

Copy link

Choose a reason for hiding this comment

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

Users have various reasons to choose your product, maybe have more lines and contents for user stories?

Copy link

Choose a reason for hiding this comment

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

Missing content

Expand Down
Binary file added docs/HydrationDeleteDiagram.png

Choose a reason for hiding this comment

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

add a end of lifeline "X" after entry deleted

Choose a reason for hiding this comment

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

Change the # to :
Should be Ui:handleUserInput()

Choose a reason for hiding this comment

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

This sequence diagram looks different from the previous diagram. Perhaps can standardise it?

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/HydrationDeleteDiagram.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
@startuml

actor User
participant "Ui#handleUserInput()" as UI
participant "Ui#handleHydrationInput()" as HydrationInput
participant "HydrationList#deleteEntry(String line)" as DeleteEntry
participant "HydrationList#updateFile()" as UpdateFile
participant "FileHandler#writeEntries(ArrayList<Entry> entries)" as WriteEntries

User -> UI : Enters command
activate UI
UI -> HydrationInput : Sends command for hydration input handling
activate HydrationInput
HydrationInput -> DeleteEntry : Calls delete entry method
activate DeleteEntry
DeleteEntry -> UpdateFile : Deletes entry
activate UpdateFile
UpdateFile -> WriteEntries : Updates file with new entries
activate WriteEntries
WriteEntries --> UpdateFile : Updates file
deactivate WriteEntries
UpdateFile --> DeleteEntry : File updated
deactivate UpdateFile
DeleteEntry --> HydrationInput : Entry deleted
deactivate DeleteEntry
HydrationInput --> UI : Sends success message
deactivate HydrationInput
UI -> User : Displays success message
deactivate UI

@enduml
Binary file added docs/HydrationListClassDiagram.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" beside your classes?

Choose a reason for hiding this comment

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

Are the symbols used to represent "private" and "public" methods correct?

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
33 changes: 33 additions & 0 deletions docs/HydrationListClassDiagram.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
@startuml

class LifeTrack {
+ main(args: String[]): void
}

package ui {
class Ui {
+ readUserInput(calorieList: calories.CalorieList, hydrationList: hydration.HydrationList, user: user.User, sleepList: sleep.SleepList): void
+ handleHydrationInput(line: String, hydrationList: hydration.HydrationList): void
}
}

package hydration {
package hydrationlist {
class HydrationList {
- ArrayList<Entry> hydrationArrayList
+ printHydrationList(): void
}

class HydrationListUi {
+ hydrationListHeader(): void
+ emptyListMessage(): void
}
}
}

LifeTrack --> hydration.hydrationlist.HydrationList
LifeTrack -[dotted]-> ui.Ui
ui.Ui -[dotted]-> hydration.hydrationlist.HydrationList
HydrationList -[dotted]-> HydrationListUi

@enduml
3 changes: 1 addition & 2 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
# Duke

# LifeTrack
{Give product intro here}

Useful links:
Expand Down
Loading
Loading