[CS2113T-T09-4] PulsePilot#63
[CS2113T-T09-4] PulsePilot#63JustinSoh wants to merge 1132 commits intonus-cs2113-AY2324S2:masterfrom
Conversation
| 5. `GymSet` stores the weight and repetitions for a particular set. | ||
| 6. `WorkoutList` is a class that stores an array list different `Workout` objects using ArrayList. | ||
|
|
||
|  |
There was a problem hiding this comment.
Maybe consider including labels and multiplicities for easier understanding.
| 1. `initialiseBot()` is called, and it prompts the user to enter their name, which is used throughout the bot. | ||
| 2. `initialiseScanner()` is used to create the singleton `Scanner` instance to read user input. | ||
| 3. When the user enters input, it is passed to `processInput()`, which determines the type of command inputted. | ||
| 4. Once the correct input has been determined, it is passed to the relevant handle function. For example, a `workout` command is passed to `handleWorkout()`. |
There was a problem hiding this comment.
Is it better to include a sequence diagram?
| This is the sequence diagram for adding a run: | ||
|
|
||
| ## Non-Functional Requirements | ||
|  |
There was a problem hiding this comment.
Is the diagram too long? Might affect readability.
|
|
||
| ##### Gym Sequence | ||
|
|
||
|  |
| 6. `HealthList.predictNextPeriodStartDate()` gets the predicted start date by calling `Period.nextCyclePrediction()`. | ||
| 7. `Period.getLastThreeCycleLengths()` is called to find the sum of the latest three cycle lengths before returning to `Period.nextCyclePrediction()` for necessary calculation to obtain the predicted start date. | ||
| 8. The `Parser` class calls `Period.printNextCyclePrediction()` with the predicted start date as a parameter. This method prints a string indicating the number of days until the predicted start date of the next period, or how many days late the period is if the current date is after the predicted start date. | ||
|  |
| - If the time taken is **25 minutes and 20 seconds**: Use `25:20`. | ||
| - If the time taken is **1 hour, 20 minutes and 30 seconds**: Use `01:20:30`. | ||
| - `[date]` is in `DD-MM-YYYY` format. **THIS IS AN OPTIONAL PARAMETER**. | ||
|
|
| 5. `GymSet` stores the weight and repetitions for a particular set. | ||
| 6. `WorkoutList` is a class that stores an array list different `Workout` objects using ArrayList. | ||
|
|
||
|  |
There was a problem hiding this comment.
classes should be represented by text such as {abstract} instead of circled letters in the diagram
| ###### [Back to table of contents](#table-of-contents) | ||
|
|
||
| ### Health Package | ||
|  |
There was a problem hiding this comment.
probably not necessary to show obvious methods such as getWeight()
|
|
||
| 6. The `Appointment` object is passed to `Output.printAddAppointment()` and a message acknowledging the successful adding is printed to the screen. | ||
|
|
||
|  |
There was a problem hiding this comment.
parenthesis should be included in function names
TimothyLKM
left a comment
There was a problem hiding this comment.
Overall, very detail diagrams but you can omit some less important methods. Good job!
| The application follows an Object-Oriented Design approach, with separate classes for handling different components of the application, such as user input, output, exercise logging, and health data management. | ||
|
|
||
|
|
||
|  |
| {Include `WorkoutList` description} | ||
|
|
||
| ###### [Back to table of contents](#table-of-contents) | ||
|
|
||
| #### Gym | ||
|
|
||
| {Include `Gym` description} | ||
|
|
||
| ###### [Back to table of contents](#table-of-contents) | ||
|
|
||
| ##### Gym Station | ||
|
|
||
| {Include `GymStation` description} | ||
|
|
||
| ###### [Back to table of contents](#table-of-contents) | ||
|
|
||
| ##### Gym Set | ||
|
|
||
| {Include `GymSet` description} | ||
|
|
||
| ###### [Back to table of contents](#table-of-contents) | ||
|
|
||
| #### Run | ||
|
|
||
| {Include `Run` description} | ||
|
|
| | 2.0 | runner | quickly view my most recent run details | see my latest run | | ||
| | 2.0 | gym enthusiast | quickly view my most recent gym session | see my latest gym session | | ||
| | 2.0 | gym enthusiast | accurately track my progress and strength gains | enter varying weights for sets | | ||
| | 2.0 | female user | plan ahead and better manage my health | p#D85D43ict my next period start date | |
There was a problem hiding this comment.
Too many unnecessary commands on this Class diagram.
There was a problem hiding this comment.
Remove extra headers at the bottom of all your diagrams
There was a problem hiding this comment.
Diagram may be too much and cluttered to read. Do consider omitting some commands.
There was a problem hiding this comment.
You could omit some less important methods.
jing-xiang
left a comment
There was a problem hiding this comment.
Overall good DG. Detailed sequence diagrams but some part seems missing and there are some formatting errors so remember to fix those!
|
|
||
| The application follows an Object-Oriented Design approach, with separate classes for handling different components of the application, such as user input, output, exercise logging, and health data management. | ||
|
|
||
|  |
|
|
||
| ###### [Back to table of contents](#table-of-contents) | ||
|
|
||
| #### Parser |
|
|
||
| ##### Period Sequence | ||
|
|
||
| The sequence diagram below illustrates the process of period prediction. |
There was a problem hiding this comment.
Sequence diagram seems accurate and detailed. Good job.
|
|
||
| - Station name is `Bench Press`. | ||
| - User has done **2 sets of 3 repetitions**. | ||
| - The first set was done using 100kg, and the second using 200kg. |
|
|
||
| ###### [Back to table of contents](#table-of-contents) | ||
|
|
||
| ### View History |
| | 2.0 | runner | quickly view my most recent run details | see my latest run | | ||
| | 2.0 | gym enthusiast | quickly view my most recent gym session | see my latest gym session | | ||
| | 2.0 | gym enthusiast | accurately track my progress and strength gains | enter varying weights for sets | | ||
| | 2.0 | female user | plan ahead and better manage my health | p#D85D43ict my next period start date | |
| </code> | ||
|
|
||
| - `[distance]` is a 2 **decimal place positive number** representing the number of kilometers covered. | ||
| - `[time]` is in `HH:MM:SS` or `MM:SS` format with positive integers, representing the amount of time taken for the run. |
|
|
||
| #### Workout List | ||
|
|
||
| {Include `WorkoutList` description} |
There was a problem hiding this comment.
Description still empty for all these workouts
|
|
||
| #### Filters | ||
|
|
||
| {Include `Filters` description} |
There was a problem hiding this comment.
These descriptions are also not filled in yet?
| - `[height]` is a 2 **decimal place positive number** representing the user's height. | ||
|
|
||
| - `[weight]`is a 2 **decimal place positive number** representing the user's weight. | ||
|
|
||
| - `[date]` is in `DD-MM-YYYY` format (i.e. `19-03-2024`). |
There was a problem hiding this comment.
height, weight and date all have specific inputs that have been defined "decimal place positive number" which is good practice!
| 1. **Q: How do I set up the development environment for the project?** | ||
| A: You can set up the development environment by first cloning the repository to your local system. Then, load the project into your chosen IDE (we recommend IntelliJ IDEA). | ||
|
|
There was a problem hiding this comment.
Might want to specify which version of java to use etc?
| ======= | ||
|
|
||
|  | ||
| >>>>>>> f712869cb298d4ac1f4d6178e7eaeed520cb1919 |
|
|
||
| ###### [Back to table of contents](#table-of-contents) | ||
|
|
||
| #### Health List |
There was a problem hiding this comment.
would class diagrams help to make the following classes clearer?
| This is the sequence diagram for adding a run: | ||
|
|
||
|  | ||
|
|
| | 2.0 | gym enthusiast | accurately track my progress and strength gains | enter varying weights for sets | | ||
| | 2.0 | female user | plan ahead and better manage my health | p#D85D43ict my next period start date | | ||
| | 2.0 | injured user | remember the appointments I have | track my medical appointments | | ||
|
|
There was a problem hiding this comment.
should the "So that I can" and "I want to" columns be swapped?
write manual testing, add more validation, remove refs in dg
*Prints the latest appointment
showCurrentBmi to showLatestBmi
Reorder the methods order
Reorder methods order
add PPP and Seq Diagram for History and Latest
update dg diagrams and clean up warnings
add assertions for run, group edit ug
Update PPP final
update ug table
Update PPP
add page breaks
fix pdf formats
fix ghost pages
finalise DG and UG with breaks










PulsePilot is a desktop app for tracking health-related information, optimised for users via a Command Line Interface (CLI). If one can type fast, you can key in and track health-related information faster than traditional GUI applications installed on your phone or computer.