Skip to content

[CS2113T-T09-4] PulsePilot#63

Open
JustinSoh wants to merge 1132 commits intonus-cs2113-AY2324S2:masterfrom
AY2324S2-CS2113T-T09-4:master
Open

[CS2113T-T09-4] PulsePilot#63
JustinSoh wants to merge 1132 commits intonus-cs2113-AY2324S2:masterfrom
AY2324S2-CS2113T-T09-4:master

Conversation

@JustinSoh
Copy link
Copy Markdown

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.

Comment thread 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)
Copy link
Copy Markdown

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.

Comment thread docs/DeveloperGuide.md Outdated
Comment on lines +89 to +92
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()`.
Copy link
Copy Markdown

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?

Comment thread docs/DeveloperGuide.md Outdated
This is the sequence diagram for adding a run:

## Non-Functional Requirements
![Run Sequence Diagram](img/run_sequence_diagram.png)
Copy link
Copy Markdown

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.

Comment thread docs/DeveloperGuide.md Outdated

##### Gym Sequence

![Gym Sequence Diagram](./img/gym_sequence_diagram.jpg)
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Screenshot 2024-04-04 123049
Is there inconsistency in naming? The first four says <> and has colon before the name, while the last says <> and has no colon, resulting in some confusion

Comment thread 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)
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Screenshot 2024-04-04 124035

Is it better to include the parenthesis and/or parameters behind the function name?

Comment thread docs/DeveloperGuide.md
- 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**.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Maybe show sample output?

Comment thread 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)
Copy link
Copy Markdown

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

Comment thread docs/DeveloperGuide.md Outdated
###### [Back to table of contents](#table-of-contents)

### Health Package
![Class Diagram for Health Package](img/health_package.png)
Copy link
Copy Markdown

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

Comment thread 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)
Copy link
Copy Markdown

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

Copy link
Copy Markdown

@TimothyLKM TimothyLKM left a 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!

Comment thread 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)
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Screenshot 2024-04-04 at 1 20 52 PM

Alignment issue on the Architecture diagram.

Comment thread docs/DeveloperGuide.md Outdated
Comment on lines +121 to +146
{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}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Missing description.

Comment thread 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 |
Copy link
Copy Markdown

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

Comment thread docs/img/health_package.png Outdated
Copy link
Copy Markdown

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.

Comment thread docs/img/period_prediction.png Outdated
Copy link
Copy Markdown

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

Comment thread docs/img/period_sequence.png Outdated
Copy link
Copy Markdown

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.

Comment thread docs/img/ui_class_diagram.png Outdated
Copy link
Copy Markdown

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.

Copy link
Copy Markdown

@jing-xiang jing-xiang left a 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!

Comment thread 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)
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

formatting error on github pages

image

Comment thread docs/DeveloperGuide.md

###### [Back to table of contents](#table-of-contents)

#### Parser
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

image

seems incomplete

Comment thread docs/DeveloperGuide.md Outdated

##### Period Sequence

The sequence diagram below illustrates the process of period prediction.
Copy link
Copy Markdown

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.

Comment thread 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.
Copy link
Copy Markdown

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 👍

Comment thread docs/DeveloperGuide.md Outdated

###### [Back to table of contents](#table-of-contents)

### View History
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

should these be empty?

image

Comment thread 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 |
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

seems like a formatting/typo error on the female user row?

image

Comment thread 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.
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

sorry if i missed it but maybe clarify whats the type

image

Comment thread docs/DeveloperGuide.md Outdated

#### Workout List

{Include `WorkoutList` description}
Copy link
Copy Markdown

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

Comment thread docs/DeveloperGuide.md Outdated

#### Filters

{Include `Filters` description}
Copy link
Copy Markdown

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?

Comment thread docs/DeveloperGuide.md Outdated
Comment on lines +473 to +477
- `[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`).
Copy link
Copy Markdown

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!

Comment thread docs/DeveloperGuide.md Outdated
Comment on lines +700 to +702
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).

Copy link
Copy Markdown

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?

Comment thread docs/DeveloperGuide.md Outdated
=======

![ArchitectureDiagram](img/architecture_diagram.png)
>>>>>>> f712869cb298d4ac1f4d6178e7eaeed520cb1919
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

maybe the image was accidentally repeated when resolving merge conflicts?
image

Comment thread docs/DeveloperGuide.md

###### [Back to table of contents](#table-of-contents)

#### Health List
Copy link
Copy Markdown

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?

Comment thread docs/DeveloperGuide.md
This is the sequence diagram for adding a run:

![Run Sequence Diagram](img/run_sequence_diagram.png)

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

should the handleWorkout() arrow be solid instead?
should addRun() be pointing to the top of the activation bar of :WorkoutList instead?
image

Comment thread docs/DeveloperGuide.md
| 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 |

Copy link
Copy Markdown

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?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.