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

[CS2113T-T12-2] HappyPills #8

Open
wants to merge 809 commits into
base: master
Choose a base branch
from

Conversation

sitinadiah25
Copy link

damithc pushed a commit to damithc/tp-draft that referenced this pull request Mar 14, 2020
## 2. Setting Up

1. Ensure that you have `Java 11` or later installed in your computer
2. Click [here](link to be added later?) to download the latest HappyPills JAR File
Copy link

Choose a reason for hiding this comment

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

I suggest linking to the jar file now that you released it! https://github.com/AY1920S2-CS2113T-T12-2/tp/releases/tag/v2.0

overwriting any existing strings in the file.
This is implemented for edit and delete commands as they cannot be appended.

![writing](images/StorageWriteAll.png)
Copy link

Choose a reason for hiding this comment

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

Perhaps you could set the grammar checker in the program you're using to make diagrams so that it doesn't underline certain functions in red? It may look more professional overall.

bug1

overwriting any existing strings in the file.
This is implemented for edit and delete commands as they cannot be appended.

![writing](images/StorageWriteAll.png)
Copy link

Choose a reason for hiding this comment

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

I think you meant to write toSave() instead of tosave()?

bug2

overwriting any existing strings in the file.
This is implemented for edit and delete commands as they cannot be appended.

![writing](images/StorageWriteAll.png)
Copy link

Choose a reason for hiding this comment

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

I think the f in getformattedPatientString() should be capitalized (i.e. getFormattedPatientString()) to match the name of the function in the source code

bug3


**Implementation**

![Delete Patient Sequence Diagram](images/DeletePatientSequenceDiagram.jpg)
Copy link

Choose a reason for hiding this comment

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

There is a typo here (Pateint -> Patient)

bug4


**Implementation**

![Get Patient Sequence Diagram](images/GetPatientSequenceDiagram.jpg)
Copy link

Choose a reason for hiding this comment

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

There is a typo below the Parser box (Pateint -> Patient)


**Implementation**

![Add Appointment Sequence Diagram](images/AddAppointmentSequenceDiagram.jpg)
Copy link

Choose a reason for hiding this comment

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

Like in images/AddPatientSequenceDiagram.jpg, I suggest shortening the activation bars of the methods, as a method cannot remain active after it has returned.

From the CS2113/T website:
bug1


**Implementation**

![List Appointment Sequence Diagram](images/ListAppointmentSequenceDiagram.jpg)
Copy link

Choose a reason for hiding this comment

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

Like in images/AddPatientSequenceDiagram.jpg, I suggest shortening the activation bars of the methods, as a method cannot remain active after it has returned.

From the CS2113/T website:
bug1


**Implementation**

![Find Appointment Sequence Diagram](images/FindAppointmentSequenceDiagram.jpg)
Copy link

Choose a reason for hiding this comment

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

Like in images/AddPatientSequenceDiagram.jpg, I suggest shortening the activation bars of the methods, as a method cannot remain active after it has returned.

From the CS2113/T website:
bug1

overwriting any existing strings in the file.
This is implemented for edit and delete commands as they cannot be appended.

![writing](images/StorageWriteAll.png)
Copy link

Choose a reason for hiding this comment

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

Perhaps you could use the same software you used for the previous sequence diagrams to create this diagram as well? This way, all the sequence diagrams in the guide will look similar and it will have a more professional feel.

Copy link

@dejunnn dejunnn left a comment

Choose a reason for hiding this comment

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

Overall looks good 👍

* `Appointment`: This class manages the data of data type Appointment in memory.
* `MedicalRecords`: This class manages the data of data type MedicalRecord in memory.

### 3.2. TextUi Component
Copy link

Choose a reason for hiding this comment

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

Do you mean UI component of TextUi component? Might wanna revise as line 82 mentioned UI component instead


### 3.1. Architecture

![Architecture diagram](images/ArchitectureDiagram.PNG "Overview of the Application")
Copy link

Choose a reason for hiding this comment

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

Architecture diagram looks sound, might want to clarify if its called UI component of textUi component


### 3.4. Model Component

![Model Diagram](images/ModelDiagram.jpg)
Copy link

Choose a reason for hiding this comment

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

image

Should it be a composition rather than an aggregation, since when the patient list is destroyed, the person is destroyed as well? Vice versa for ApptList and PatientRecordList


### 3.4. Model Component

![Model Diagram](images/ModelDiagram.jpg)
Copy link

Choose a reason for hiding this comment

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

Also, should there be an arrow at the end of the line denoting aggregation?

**Implementation**

The activity diagram below summarises the process of executing an `add` command.
![Add Patient Sequence Diagram](images/AddPatientSequenceDiagram.jpg)
Copy link

@dejunnn dejunnn Mar 31, 2020

Choose a reason for hiding this comment

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

image
Does this mean a new parser object and corresponding objects are constructed and later destroyed every time a command is entered?

Also, the activation bar is slightly too long, can create confusion. Slightly shortening it might help in visibility.


**Implementation**

![List Appointment Sequence Diagram](images/ListAppointmentSequenceDiagram.jpg)
Copy link

Choose a reason for hiding this comment

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

Same comments as above


**Implementation**

![Find Appointment Sequence Diagram](images/FindAppointmentSequenceDiagram.jpg)
Copy link

Choose a reason for hiding this comment

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

Same comments as above

overwriting any existing strings in the file.
This is implemented for edit and delete commands as they cannot be appended.

![writing](images/StorageWriteAll.png)
Copy link

@dejunnn dejunnn Mar 31, 2020

Choose a reason for hiding this comment

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

image

a missing command for Patient? After toSave()

Should try to remove the red lines as they affect the visibility and overall look of the diagram

Also, should methods be in camelcase? The words are not following the camelcase format

it needs to save, by appending it to the back of the text file.
This provides improved performance as compared to using writeAllToFile().

![saving](/docs/images/StorageSave.png)
Copy link

Choose a reason for hiding this comment

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

Unable to display in the website, omit the /docs and it should work

`parsePatientFileContent` to convert each line into a patient object and adds it back to the patient map.
`loadAppointmentFromFile` and `parseAppointmentFileContent` does the same with the appointment file.

![loading](/docs/images/StorageLoad.png)
Copy link

Choose a reason for hiding this comment

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

Unable to display in the website, omit the /docs and it should work

Copy link

@kcubey kcubey left a comment

Choose a reason for hiding this comment

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

A very thorough DG! Do try to have consistency between your diagram designs and check for spelling errors! This took nearly 1.5h to review 😅 All the best for the last push!

## 2. Setting Up

1. Ensure that you have `Java 11` or later installed in your computer
2. Click [here](link to be added later?) to download the latest HappyPills JAR File
Copy link

Choose a reason for hiding this comment

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

Do ensure that you remember to update the link! The link currently goes nowhere :)


### 3.1. Architecture

![Architecture diagram](images/ArchitectureDiagram.PNG "Overview of the Application")
Copy link

Choose a reason for hiding this comment

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

The rest of your DG does not seem to have information on logging/commons? If it is not referenced in the rest of your DG should it be removed?

* `Appointment`: This class manages the data of data type Appointment in memory.
* `MedicalRecords`: This class manages the data of data type MedicalRecord in memory.

### 3.2. TextUi Component
Copy link

Choose a reason for hiding this comment

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

Your previous section only mentions Ui component, not TextUi. Is this a new component or are they the same? If they are supposed to be either do ensure to check your DG for consistency!


### 3.3. Logic Component

![Logic Diagram](images/LogicDiagram.jpg)
Copy link

Choose a reason for hiding this comment

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

Your Logic and Model diagrams are a bit small on the website, maybe consider either changing the theme or making the text easier to view?

image
This is what I see on 100% zoom on my computer, I have to zoom in to read the diagram. BUT I do note that the image looks fine on the github repo itself


### 3.3. Logic Component

![Logic Diagram](images/LogicDiagram.jpg)
Copy link

Choose a reason for hiding this comment

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

image

The PatientCommandParser seems to have 2 'creates' attached to the line (denoted in red), if it's for the same line then should one be enough? If it's supposed to be for separate links then do ensure that the labels are attached accordingly.

For the demarcations in green, your arrow lines crisscross each other a lot and are very close to each other which makes it hard/distracting to track, maybe consider spreading them out? Some distinct points are the circled section (very close to each other) and the underlined link (very close to the PatientRecordParser/PatientCommandParser/AppointmentParser boxes)

overwriting any existing strings in the file.
This is implemented for edit and delete commands as they cannot be appended.

![writing](images/StorageWriteAll.png)
Copy link

Choose a reason for hiding this comment

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

image

It would be good to have similar formatting in diagrams! also it would be good to have an image that doesn't have the red squiggly lines under the text. Also I believe that the life lines (sorry I can't remember the exact term) should be the same length of they have not been closed (red circled sections). Alternatively, denote the 'x' sign to indicate that it is finished. Similarly for the following diagrams with the same format


The following diagram shows how each command interacts with the other classes.

*writeAllToFile*
Copy link

Choose a reason for hiding this comment

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

If this is meant to be a header, try to make it more obvious? It is easy to overlook because it is the same size and design of the surrounding text. Similarly to the following headers with the same design

Cons: If the program was to terminate unexpectedly, the deletion may not be reflected in the respective files.


### 4.5 Logging
Copy link

Choose a reason for hiding this comment

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

Do remember to update your sections 4.5 to 6!

|v2.0|Doctor|note down the prescription that I gave my patients|know what side effects are to be expected (based on the patient's current condition)|
|v2.0|Doctor|record down the symptoms of my patients|check for any persistent health condition|
|v2.0|Doctor|add Patient's medical records|view the previous reasons for doctor's visits|
|v2.1|Doctor|?|?|
Copy link

Choose a reason for hiding this comment

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

Do remember to update your v2.1 sections!

---------------------|----------------------------------------------------------------------------------------------


## Useful links:
Copy link

Choose a reason for hiding this comment

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

A repeated section, you have this in section 7 already.

sitinadiah25 and others added 30 commits April 11, 2020 22:48
…into Nyan-HappyPills

# Conflicts:
#	src/main/java/seedu/happypills/model/data/AppointmentMap.java
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.

8 participants