-
Notifications
You must be signed in to change notification settings - Fork 231
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
[CS2113T-T09-4] PulsePilot #63
base: master
Are you sure you want to change the base?
[CS2113T-T09-4] PulsePilot #63
Conversation
docs/DeveloperGuide.md
Outdated
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. | ||
|
||
![Workout Package Class Diagram](img/workout_class_diagram.png) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe consider including labels and multiplicities for easier understanding.
docs/DeveloperGuide.md
Outdated
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it better to include a sequence diagram?
docs/DeveloperGuide.md
Outdated
|
||
## Non-Functional Requirements | ||
![Run Sequence Diagram](img/run_sequence_diagram.png) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is the diagram too long? Might affect readability.
docs/DeveloperGuide.md
Outdated
|
||
##### Gym Sequence | ||
|
||
![Gym Sequence Diagram](./img/gym_sequence_diagram.jpg) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
docs/DeveloperGuide.md
Outdated
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. | ||
![Sequence Diagram for Add Period](img/period_prediction.png) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- `[time]` is in `HH:MM:SS` or `MM:SS` format with positive integers, representing the amount of time taken for the run. | ||
- 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**. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe show sample output?
docs/DeveloperGuide.md
Outdated
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. | ||
|
||
![Workout Package Class Diagram](img/workout_class_diagram.png) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
classes should be represented by text such as {abstract} instead of circled letters in the diagram
docs/DeveloperGuide.md
Outdated
###### [Back to table of contents](#table-of-contents) | ||
|
||
### Health Package | ||
![Class Diagram for Health Package](img/health_package.png) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
probably not necessary to show obvious methods such as getWeight()
docs/DeveloperGuide.md
Outdated
|
||
6. The `Appointment` object is passed to `Output.printAddAppointment()` and a message acknowledging the successful adding is printed to the screen. | ||
|
||
![AddAppointment](img/appointment_sequence.png) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
parenthesis should be included in function names
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall, very detail diagrams but you can omit some less important methods. Good job!
docs/DeveloperGuide.md
Outdated
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. | ||
|
||
|
||
![ArchitectureDiagram](![img.png](img/architecture_diagram.png) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
docs/DeveloperGuide.md
Outdated
{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} | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Missing description.
docs/DeveloperGuide.md
Outdated
| 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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Typo on the "I want to" column
docs/img/health_package.png
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Too many unnecessary commands on this Class diagram.
docs/img/period_prediction.png
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove extra headers at the bottom of all your diagrams
docs/img/period_sequence.png
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Diagram may be too much and cluttered to read. Do consider omitting some commands.
docs/img/ui_class_diagram.png
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You could omit some less important methods.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall good DG. Detailed sequence diagrams but some part seems missing and there are some formatting errors so remember to fix those!
docs/DeveloperGuide.md
Outdated
|
||
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. | ||
|
||
![Architecture Diagram](img/architecture_diagram.png) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
|
||
###### [Back to table of contents](#table-of-contents) | ||
|
||
#### Parser |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
docs/DeveloperGuide.md
Outdated
|
||
##### Period Sequence | ||
|
||
The sequence diagram below illustrates the process of period prediction. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sequence diagram seems accurate and detailed. Good job.
docs/DeveloperGuide.md
Outdated
|
||
- 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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1 for 200kg bench press 👍
docs/DeveloperGuide.md
Outdated
|
||
###### [Back to table of contents](#table-of-contents) | ||
|
||
### View History |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
docs/DeveloperGuide.md
Outdated
| 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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
docs/DeveloperGuide.md
Outdated
</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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
docs/DeveloperGuide.md
Outdated
|
||
#### Workout List | ||
|
||
{Include `WorkoutList` description} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Description still empty for all these workouts
docs/DeveloperGuide.md
Outdated
|
||
#### Filters | ||
|
||
{Include `Filters` description} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These descriptions are also not filled in yet?
docs/DeveloperGuide.md
Outdated
- `[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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
height, weight and date all have specific inputs that have been defined "decimal place positive number" which is good practice!
docs/DeveloperGuide.md
Outdated
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Might want to specify which version of java to use etc?
docs/DeveloperGuide.md
Outdated
======= | ||
|
||
![ArchitectureDiagram](img/architecture_diagram.png) | ||
>>>>>>> f712869cb298d4ac1f4d6178e7eaeed520cb1919 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
|
||
###### [Back to table of contents](#table-of-contents) | ||
|
||
#### Health List |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
would class diagrams help to make the following classes clearer?
This is the sequence diagram for adding a run: | ||
|
||
![Run Sequence Diagram](img/run_sequence_diagram.png) | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| 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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.