Skip to content
Open
Show file tree
Hide file tree
Changes from 220 commits
Commits
Show all changes
456 commits
Select commit Hold shift + click to select a range
20bd903
Merge pull request #133 from ruyian/master
ruyian Oct 26, 2021
b231b21
Add function of viewing and adding medical history
ruyian Oct 26, 2021
91e0c33
Update javadoc
ruyian Oct 26, 2021
b970bd1
Merge pull request #134 from ruyian/master
ruyian Oct 26, 2021
07e8664
Add function to delete medical message
ruyian Oct 26, 2021
e69a572
Fix javadoc
ruyian Oct 26, 2021
848c883
Merge pull request #135 from ruyian/master
ruyian Oct 26, 2021
b968a01
Add prompt for garbage collection
ruyian Oct 26, 2021
f9bf8cc
Merge pull request #136 from ruyian/master
ruyian Oct 26, 2021
761ca14
Update user guide
ruyian Oct 26, 2021
5742ad8
Update user guide
ruyian Oct 26, 2021
ea048a5
Amend coding style
ruyian Oct 26, 2021
93cdd3b
Amend coding style
ruyian Oct 26, 2021
f566356
Update test
ruyian Oct 26, 2021
2d363d4
Merge pull request #137 from ruyian/master
ruyian Oct 26, 2021
cb70f57
Merge branch 'AY2122S1-CS2113-T16-2:master' into master
nguyin Oct 27, 2021
17c4807
Fixes made on load to allow for inheritance when loading from json [h…
wutdequack Oct 28, 2021
5bd7617
Merge pull request #138 from wutdequack/master
wutdequack Oct 28, 2021
2e9170d
Support fast typing in adding elderly
ruyian Oct 28, 2021
9a56b0f
Add function to catch non-Duke exception
ruyian Oct 28, 2021
ebe6a79
Update userguide with new addelderly function
ruyian Oct 28, 2021
8a5b808
Update user guide
ruyian Oct 28, 2021
d06c71a
Update test
ruyian Oct 28, 2021
2d3ffbc
Fix text ui test
ruyian Oct 28, 2021
610b9cb
Fix ui test
ruyian Oct 28, 2021
bade6fd
Merge pull request #139 from ruyian/master
ruyian Oct 28, 2021
5504606
Replace magic literals
ruyian Oct 28, 2021
e59f40b
Merge branch 'master' into master
ruyian Oct 28, 2021
1cde6a7
Resolve conficts in import statements
ruyian Oct 28, 2021
54f1d77
Update javadoc
ruyian Oct 28, 2021
88a5a52
Merge pull request #143 from ruyian/master
ruyian Oct 28, 2021
9a497b0
Update class diagram
owensoh Oct 29, 2021
481f29b
Merge pull request #145 from owensoh/class-diag-update
owensoh Oct 29, 2021
4481642
Update UG
owensoh Oct 29, 2021
634e847
Merge pull request #146 from owensoh/UG-Update
owensoh Oct 29, 2021
71eb9f6
Update JUnit test
owensoh Oct 29, 2021
7f89f35
Merge pull request #147 from owensoh/junit-owen
owensoh Oct 29, 2021
d725766
Categorize all input related exception under one class
ruyian Oct 29, 2021
da64d28
Fit the programme to the new exception strucutre
ruyian Oct 29, 2021
347269e
Update javadoc
ruyian Oct 29, 2021
d1d3535
Add new UI to handle newly introduced input exception
ruyian Oct 29, 2021
2c373af
Change programme logic to fit to the new exception class
ruyian Oct 29, 2021
3dd3115
Fix all imports
ruyian Oct 29, 2021
f12604a
Update printing message
ruyian Oct 29, 2021
d495df0
Merge pull request #148 from ruyian/master
ruyian Oct 29, 2021
7885119
Add interface hospitalisable
ruyian Oct 29, 2021
01dab05
Fix bugs in user interface
ruyian Oct 29, 2021
8a6ba95
Make Elderly abstract
ruyian Oct 29, 2021
45641bd
Fix coding standard
ruyian Oct 29, 2021
c886c05
Fix ElderlyTest
ruyian Oct 29, 2021
561c990
Fix output
ruyian Oct 29, 2021
4bb09ec
Update UML diagram
ruyian Oct 29, 2021
32bf1f8
Update uml
ruyian Oct 29, 2021
139943a
Merge pull request #149 from ruyian/master
ruyian Oct 29, 2021
e2643fe
Merge branch 'AY2122S1-CS2113-T16-2:master' into master
nguyin Oct 30, 2021
f9402ae
Add raw files for PPP
ruyian Oct 30, 2021
59317e2
Merge branch 'master' of https://github.com/ruyian/tp
ruyian Oct 30, 2021
22b03d4
Added to DG
nguyin Oct 30, 2021
ea2d7af
Merge pull request #150 from nguyin/v2.1
nguyin Oct 30, 2021
b1a653d
Merge branch 'master' of https://github.com/ruyian/tp
ruyian Oct 30, 2021
f40a4ed
Merge pull request #151 from ruyian/master
ruyian Oct 30, 2021
48655a5
Change the spelling of words
ruyian Oct 30, 2021
bfade15
Merge branch 'master' of https://github.com/ruyian/tp
ruyian Oct 30, 2021
6c459d6
Merge pull request #153 from ruyian/master
ruyian Oct 30, 2021
96bf9d8
Add immutability to the fields by declaring as final
ruyian Oct 30, 2021
cf1c804
Merge pull request #154 from ruyian/master
ruyian Oct 30, 2021
9074c43
Correct grammatical mistakes in javadoc
ruyian Oct 30, 2021
ba62a98
Merge pull request #155 from ruyian/master
ruyian Oct 30, 2021
f6dedb3
Make Duke abstract to enhance OOP as it is never instantiated
ruyian Oct 30, 2021
6e0c3e7
Merge pull request #156 from ruyian/master
ruyian Oct 30, 2021
78d9296
Make username less mutable as we do not allow change in username
ruyian Oct 30, 2021
78b6c72
Merge pull request #157 from ruyian/master
ruyian Oct 30, 2021
6401bd0
Changes made to format such that use username for all queries
wutdequack Oct 30, 2021
548445b
Changes made to variable names and fulfilment of code quality
wutdequack Oct 30, 2021
5e2fe4c
Edits made to tests to standardize formats
wutdequack Oct 30, 2021
a946511
Merge pull request #179 from wutdequack/master
wutdequack Oct 30, 2021
4fe776a
Reject addition of elderly if username already exists.
wutdequack Oct 30, 2021
6a25262
Fix bug with elderlyExist function
wutdequack Oct 30, 2021
bfdcdf1
Changes made to tests to be BeforeAll.
wutdequack Oct 30, 2021
958fe9a
Changes made to pass text ui test
wutdequack Oct 30, 2021
d421a26
Merge pull request #191 from wutdequack/master
wutdequack Oct 30, 2021
0ec68f0
Update setbloodpressure
owensoh Oct 31, 2021
1981cfb
Merge pull request #195 from owensoh/bloodpressure-bug
owensoh Oct 31, 2021
4687c2b
Update UG according to PE-D
owensoh Oct 31, 2021
c2b278a
Merge pull request #196 from owensoh/ug-bp-risk
owensoh Oct 31, 2021
2f181d3
Update UG
owensoh Oct 31, 2021
05906a9
Update ug minor
owensoh Oct 31, 2021
2e47a53
Split up addelderly into smaller functions
owensoh Oct 31, 2021
5ec7cdf
Merge pull request #197 from owensoh/split-addelderly
owensoh Oct 31, 2021
b36d8b0
Edits made to UG and help Menu
wutdequack Oct 31, 2021
e5c2ac1
Addition of todos, so will know which parts need more work
wutdequack Oct 31, 2021
122f330
Merge pull request #198 from wutdequack/master
wutdequack Oct 31, 2021
4c62ae9
Change of table of contents for the UG
wutdequack Oct 31, 2021
71535fa
Made change to the table of commands
wutdequack Oct 31, 2021
30de8c4
Merge pull request #199 from wutdequack/master
wutdequack Oct 31, 2021
806b3af
Changed sequence diagrams
nguyin Oct 31, 2021
f982e42
Merge pull request #200 from nguyin/v2.1
nguyin Oct 31, 2021
7863a3b
Changed function names to be more specific
nguyin Oct 31, 2021
2b6193a
Merge pull request #201 from nguyin/new
nguyin Oct 31, 2021
86c0078
Added function to check if date and time is valid
nguyin Oct 31, 2021
a62630f
Merge pull request #202 from nguyin/dateBranch
nguyin Oct 31, 2021
f31fa80
Bug fixes to File I/O functions
wutdequack Oct 31, 2021
42d995e
Merge branch 'master' of https://github.com/AY2122S1-CS2113-T16-2/tp
wutdequack Oct 31, 2021
420492c
Fix bug in UG
wutdequack Oct 31, 2021
18162bd
Merge pull request #203 from wutdequack/master
wutdequack Oct 31, 2021
28c0b6c
Update DG
owensoh Nov 1, 2021
056b7a3
Update DG
owensoh Nov 1, 2021
d1448fc
Merge pull request #204 from owensoh/dg-update
owensoh Nov 1, 2021
7cbd78e
Set theme jekyll-theme-cayman
owensoh Nov 1, 2021
d827850
edit
owensoh Nov 1, 2021
4da6b29
Remove spelling error
owensoh Nov 1, 2021
fa9f6d8
Remove spelling error
owensoh Nov 1, 2021
007140a
Update pic
owensoh Nov 1, 2021
10509dd
Update owensoh ppp
owensoh Nov 1, 2021
2d83330
Merge pull request #205 from owensoh/owen-ppp
owensoh Nov 1, 2021
56dbacc
Make essential function private to keep layers of abstraction
ruyian Nov 1, 2021
fd02791
Fix bug of empty viewdiet
ruyian Nov 1, 2021
7b86f47
Merge pull request #206 from ruyian/master
ruyian Nov 1, 2021
0bc5978
Fix bug with empty setdiet
ruyian Nov 1, 2021
d4be801
Merge pull request #207 from ruyian/master
ruyian Nov 1, 2021
a29b5f5
Fix bug with wrong input of wrong index of set diet
ruyian Nov 1, 2021
dedb5ef
Fix bug in vaccination input
ruyian Nov 1, 2021
8b8bc11
Merge pull request #208 from ruyian/master
ruyian Nov 1, 2021
ae78e8c
Fix style
ruyian Nov 1, 2021
bd46bdd
Merge pull request #209 from ruyian/master
ruyian Nov 1, 2021
aa3e794
Fix bug with empty birthday input
ruyian Nov 1, 2021
d1b3c22
Fix style
ruyian Nov 1, 2021
d64df0f
Merge pull request #210 from ruyian/master
ruyian Nov 1, 2021
18a5799
Fix bug in wrong date input
ruyian Nov 1, 2021
aaf99a0
Fix style
ruyian Nov 1, 2021
7819ee2
Merge pull request #211 from ruyian/master
ruyian Nov 1, 2021
ad9cd79
Update DG table of contents
owensoh Nov 1, 2021
55eb86d
Merge branch 'master' into contentpage-dg
owensoh Nov 1, 2021
572ed7f
Merge pull request #212 from owensoh/contentpage-dg
owensoh Nov 1, 2021
a33d9d7
Fix naming of methods
ruyian Nov 1, 2021
c0ec069
Merge pull request #213 from ruyian/master
ruyian Nov 1, 2021
6772251
Add ppp
ruyian Nov 2, 2021
3db5af8
Merge pull request #214 from ruyian/master
ruyian Nov 2, 2021
49dcdf6
Improve abstraction
ruyian Nov 2, 2021
58d56f5
Merge pull request #215 from ruyian/master
ruyian Nov 2, 2021
6e98509
Adjust format
ruyian Nov 4, 2021
8d1546e
Merge pull request #216 from ruyian/master
ruyian Nov 4, 2021
fd00a44
Update of PPP
wutdequack Nov 4, 2021
399b5e4
Merge pull request #217 from wutdequack/master
wutdequack Nov 4, 2021
5ea3b60
Minor tweaks to toString to include in medical history
wutdequack Nov 4, 2021
f0b17b6
Modification to tests for toString
wutdequack Nov 4, 2021
39055df
Merge pull request #218 from wutdequack/master
wutdequack Nov 4, 2021
7d0d4df
Fixed DG
owensoh Nov 5, 2021
ec94b94
Merge pull request #219 from owensoh/fix-dg-diagram
owensoh Nov 5, 2021
eb5ef0c
Fix bug in set birthday
ruyian Nov 5, 2021
d856fea
Merge pull request #220 from ruyian/master
ruyian Nov 5, 2021
d623d76
Remove redundant methods
ruyian Nov 5, 2021
13a205b
Fix bug in compilation
ruyian Nov 5, 2021
50922fd
Merge pull request #221 from ruyian/master
ruyian Nov 5, 2021
c09ca57
Better the abstraction
ruyian Nov 5, 2021
8cbd64b
Merge pull request #222 from ruyian/master
ruyian Nov 5, 2021
b5034aa
Fix birthday bugs
owensoh Nov 6, 2021
3f68e7e
Merge pull request #223 from owensoh/birthday-bugs
owensoh Nov 6, 2021
f4d1691
Edit docs abit
owensoh Nov 6, 2021
3b5aa30
Merge pull request #224 from owensoh/editdocs
owensoh Nov 6, 2021
e791fb9
Edit ppp
owensoh Nov 6, 2021
1ab4ca4
Merge pull request #225 from owensoh/editppp
owensoh Nov 6, 2021
25590e8
Fix bug in setting birthday
ruyian Nov 6, 2021
a11c5bd
Merge pull request #226 from ruyian/master
ruyian Nov 6, 2021
66c7d20
Improve abstraction
ruyian Nov 6, 2021
2ab7871
Fix style
ruyian Nov 6, 2021
01bc6c9
Merge pull request #227 from ruyian/master
ruyian Nov 6, 2021
546ad9a
Improve abstraction
ruyian Nov 6, 2021
514588a
Merge pull request #228 from ruyian/master
ruyian Nov 6, 2021
2e2835a
Added PPP
nguyin Nov 6, 2021
b6d3dd0
Merge pull request #229 from nguyin/ppp
nguyin Nov 6, 2021
5628b1c
Changed PPP and JavaDocs
nguyin Nov 6, 2021
4c9e559
Merge pull request #230 from nguyin/edited
nguyin Nov 6, 2021
67e87b0
Fixes made to load command so it is more robust
wutdequack Nov 6, 2021
bee0035
Merge pull request #231 from wutdequack/master
wutdequack Nov 6, 2021
7449b9c
Fix user guide and created more users in system
wutdequack Nov 6, 2021
e16bf28
Merge pull request #232 from wutdequack/master
wutdequack Nov 6, 2021
a0c3421
Change message variable name
ruyian Nov 6, 2021
368a770
Merge branch 'master' into master
ruyian Nov 6, 2021
bef72e1
Change printing statement of addelderly
ruyian Nov 6, 2021
9a60e64
Merge branch 'master' of https://github.com/ruyian/tp
ruyian Nov 6, 2021
e52642d
Fix style
ruyian Nov 6, 2021
802c1ca
Fix junit test
ruyian Nov 6, 2021
9ff0972
Merge pull request #233 from ruyian/master
ruyian Nov 6, 2021
a3a1793
Add more to PPP
ruyian Nov 7, 2021
e327296
Merge pull request #234 from ruyian/master
ruyian Nov 7, 2021
12674ec
Fix typos in the UG and PPP
ruyian Nov 7, 2021
b93b1fd
Merge pull request #235 from ruyian/master
ruyian Nov 7, 2021
19553d3
Update DG
ruyian Nov 7, 2021
cbd71f8
Merge pull request #236 from ruyian/master
ruyian Nov 7, 2021
a9a6481
Changes made to PPP, UG and image in DG
wutdequack Nov 7, 2021
d9463e3
Add more to DG
ruyian Nov 7, 2021
c5193e5
Merge pull request #238 from ruyian/master
ruyian Nov 7, 2021
0ce1807
Merge pull request #237 from wutdequack/master
wutdequack Nov 7, 2021
f66fe4d
Change variable names
ruyian Nov 7, 2021
864aff2
Add more to javadoc
ruyian Nov 7, 2021
78e68bd
Merge branch 'master' of https://github.com/ruyian/tp
ruyian Nov 7, 2021
0d8d8e1
Merge pull request #239 from ruyian/master
ruyian Nov 7, 2021
d9a42f7
Addition of Elderly Implementation image
wutdequack Nov 7, 2021
4626a64
Merge pull request #240 from wutdequack/master
wutdequack Nov 7, 2021
c2ec414
Fix junit test order in terms of actual and expected
ruyian Nov 7, 2021
1df4e24
Merge pull request #241 from ruyian/master
ruyian Nov 7, 2021
de06469
Fix PPP url bug
ruyian Nov 7, 2021
48e02c3
Merge pull request #242 from ruyian/master
ruyian Nov 7, 2021
c2d4479
Update UML Diagram
ruyian Nov 7, 2021
d814b5f
Merge branch 'AY2122S1-CS2113-T16-2:master' into master
ruyian Nov 7, 2021
3a40295
Merge pull request #243 from ruyian/master
ruyian Nov 7, 2021
822a3bf
Fix bug in previous pr
ruyian Nov 7, 2021
1031289
Merge branch 'master' of https://github.com/ruyian/tp
ruyian Nov 7, 2021
960a864
Merge pull request #244 from ruyian/master
ruyian Nov 7, 2021
d9c1ba3
Update DG
ruyian Nov 7, 2021
cba8ac3
Merge pull request #245 from ruyian/master
ruyian Nov 7, 2021
fbe9a71
Add in some new changes to README to make it more streamlined
wutdequack Nov 7, 2021
1aa5529
Merge pull request #246 from wutdequack/master
wutdequack Nov 7, 2021
470ba4a
Made changes to UG and README.md
wutdequack Nov 7, 2021
02efa02
Merge branch 'master' of https://github.com/AY2122S1-CS2113-T16-2/tp
wutdequack Nov 7, 2021
32a741f
Merge pull request #247 from wutdequack/master
wutdequack Nov 7, 2021
c641c41
Update UG to fit properly when printing and update some things in DG
wutdequack Nov 7, 2021
bea11ea
Merge pull request #248 from wutdequack/master
wutdequack Nov 7, 2021
32e3372
Update size of diagram
ruyian Nov 7, 2021
d76371a
Merge pull request #249 from ruyian/master
ruyian Nov 7, 2021
41bc80f
Changes made to DG
wutdequack Nov 7, 2021
08f60b4
Merge branch 'master' of https://github.com/AY2122S1-CS2113-T16-2/tp
wutdequack Nov 7, 2021
5cc70b9
Merge pull request #250 from wutdequack/master
wutdequack Nov 7, 2021
d2b9e63
Changes made to DG to prevent additional line
wutdequack Nov 7, 2021
328f971
Merge pull request #251 from wutdequack/master
wutdequack Nov 7, 2021
4f647f3
Changes made to DG to add in new appendixes
wutdequack Nov 7, 2021
9cb4ae2
Merge branch 'master' of https://github.com/AY2122S1-CS2113-T16-2/tp
wutdequack Nov 7, 2021
8fb0950
Merge pull request #252 from wutdequack/master
wutdequack Nov 7, 2021
efa4736
Add more to PPP
ruyian Nov 8, 2021
a7a7549
Merge pull request #253 from ruyian/master
ruyian Nov 8, 2021
672509b
Update ppp
ruyian Nov 8, 2021
510f050
Merge pull request #254 from ruyian/master
ruyian Nov 8, 2021
b51d68f
Update dg manual test
owensoh Nov 8, 2021
5bb816d
Merge pull request #255 from owensoh/dg-manual
owensoh Nov 8, 2021
f6d01c2
Add more regex checks
ruyian Nov 8, 2021
0a5f0fb
Merge branch 'master' of https://github.com/ruyian/tp
ruyian Nov 8, 2021
7594ec8
Amend InvalidInputException variable name
ruyian Nov 8, 2021
e8dec04
Add javadoc to the InvalidInputException class
ruyian Nov 8, 2021
a6d0868
Fix style
ruyian Nov 8, 2021
494b3e4
Fix printing statement
ruyian Nov 8, 2021
7a61225
Merge pull request #256 from ruyian/master
ruyian Nov 8, 2021
6da302d
Change the regex checker to allow useful invalid risk level
ruyian Nov 8, 2021
9619430
Merge pull request #257 from ruyian/master
ruyian Nov 8, 2021
727daab
Edit minor bug with doctor
owensoh Nov 8, 2021
f934db0
Merge pull request #258 from owensoh/editbug
owensoh Nov 8, 2021
a673d2b
Changes made to DG to finish Appendix E and update table of contents
wutdequack Nov 8, 2021
fd882ad
Merge pull request #259 from wutdequack/master
wutdequack Nov 8, 2021
97f7540
Update PPP
ruyian Nov 8, 2021
57b3e4a
Merge pull request #260 from ruyian/master
ruyian Nov 8, 2021
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
3 changes: 3 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ repositories {
}

dependencies {
implementation 'junit:junit:4.13.1'
implementation 'com.google.code.gson:gson:2.8.8'
testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: '5.5.0'
testRuntimeOnly group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.5.0'
}
Expand Down Expand Up @@ -43,4 +45,5 @@ checkstyle {

run{
standardInput = System.in
enableAssertions = true
}
22 changes: 22 additions & 0 deletions data.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
[
{
"medicines": [],
"appointments": [],
"nextofkins": [],
"records": [],
"username": "jontan123",
"name": "jon tan",
"isVaccinated": false,
"diet": "NOT_SET"
},
{
"medicines": [],
"appointments": [],
"nextofkins": [],
"records": [],
"username": "helloworld",
"name": "hello world",
"isVaccinated": false,
"diet": "NOT_SET"
}
]
9 changes: 4 additions & 5 deletions docs/AboutUs.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,7 @@

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)
![](https://via.placeholder.com/100.png?text=Photo) | Jonathan Lee | [Github](https://github.com/wutdequack/tp) | [Portfolio](docs/team/johndoe.md)
![](https://via.placeholder.com/100.png?text=Photo) | An Ruyi | [Github](https://github.com/ruyian) | [Portfolio](docs/team/johndoe.md)
![](team/img/owen_soh.jpg) | Soh Jun Han, Owen | [Github](https://github.com/owensoh/tp) | [Portfolio](https://github.com/AY2122S1-CS2113-T16-2/tp/)
![](https://via.placeholder.com/100.png?text=Photo) | Rebecca Ng | [Github](https://github.com/nguyin) | [Portfolio](docs/team/johndoe.md)
170 changes: 168 additions & 2 deletions docs/DeveloperGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,26 +8,192 @@

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

### Elderly risk categorisation

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 this section should be further down instead of being the first section, as the first section is usually a brief introduction of the app/overview of architecture.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

The sections should be numbered and a table of content with links should be included so readers can navigate easily.

#### Implementation

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

There should be a blank line after the section header, same issue at line 48.

The elderly risk categorisation is an addition to the current `Elderly` class. It utilises

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Since it is an addition to the Elderly class, the section on the Elderly class should probably be above this.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

The Elderly class is not described before this section, this can cause confusion.

**polymorphism**, creating three subclasses `LowRiskElderly`, `MediumRiskElderly`, `HighRiskElderly`,
all of which **inherits** from the `Elderly` class. <br>
Additionally, 2 new classes are implemented:
- `Hospital` — A class that contains information about a hospital, and contains a list of
all its doctors.
- `Doctor` — A class that contains information about a doctor

Below is a UML class diagram for the elderly risk categorisation:
![](team/img/elderly_implementation.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.

The class diagram formatting is wrong as the attribute type is not shown, and there are no brackets behind each method (containing parameters when needed).
image

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

There should be brackets () after method names. Also, the relationships between classes are already shown by the arrows, so don't need to put Doctor and Hospital in the attribute sections of MediumRiskElderly and HighRiskElderly.

Screen Shot 2021-10-28 at 09 41 15

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

For the elderly class, there should be two horizontal bars to indicate that there is no attribute and no method in this class

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

The association were specified with multiplicity but name of the association is not specified

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

The attribute data type and method return type are not specified



#### How the classes interact with each other

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

This section is comprehensive and well written :)


`LowRiskElderly`, `MediumRiskElderly` and `HighRiskElderly` are expected to contain all current
attributes and methods that `Elderly` class is supposed to have.

In addition, `MediumRiskElderly` and `HighRiskElderly` are tagged with extra information,
specifically `Hospital`, `Conditions` and `NotesOnCare`. `Conditions` is an array string that
contains all the conditions the elderly has, while `NotesOnCare` is just a string that sequentially
lists tips to care for elderly. Each elderly here is tagged to 1 `Hospital`.

Finally, `HighRiskElderly` is also tagged with `Doctor`. Each elderly here is tagged to 1 `Doctor`.

Every `Hospital` has 1 or more `Doctor`, stored in an ArrayList of type `Doctor`.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

This could be replaced with a sequence diagram for better readability


#### Design considerations

Since our TP is only intended for one user (i.e. the caretaker in the elderly home), the input of
`Hospital` and `Doctor` data should not be done by them. As such, we have made it such that they are
preset. `Hospital` and `Doctor` data are made to be fixed, as we make the assumption that the
`Hospital` and `Doctor` that the `MediumRiskElderly` and `HighRiskElderly` are looking for
are already there.

### Autosuggestions for search functions
#### Problems Faced
For fast typers, they may **misspell words** and are somehow convinced that their spelling is correct.
Furthermore, as our program mainly deals with usernames, medicine names, etc., they may be cryptic
and **difficult to remember**.

#### Solution to said problems
We opted to have an autosuggestion function that will look for the
closest possible search result in the store of the program.

#### Details of solution
We used a concept known as [Levenshtein Distance](https://medium.com/@ethannam/understanding-the-levenshtein-distance-equation-for-beginners-c4285a5604f0)
to check the similarities between 2 strings.

For brevity, I will attempt to explain the concept here. In essence, it checks what are the number
of edits made at position `i` of 2 strings. This can be better illustrated with an example.

Given that we have a medicine `panadol` in the system and a misspelt user query of `parasol`.
Assuming we have `i` as the iterator for `panadol` and `j` as the iterator of `parasol`. At position
`i=3` and `j=3`, there is a change of 1 character from `n->r` so `lev_i,j(3,3) = 1` as 1 edit is
required. At `lev_i,j(7,7)`, there would have been a total of 2 characters changed.

![Image of Levenshtein Distance Function](team/img/lev_function_img.jpg)
<p align = center>Image of Levenshtein Distance Function</p>

The function above is applied to both strings and its results are compounded. We then take a **ratio
of the number of unchanged characters over the total number of characters in both strings** to
determine how similar the 2 strings are.

#### How is it applied to the program?
When using the `findbymed`, `findbydiet`, `findbyname` functions, they will take generate a set of
medicine, diets and real names respectively. The function `checkSimilarities` in `ElderlyList.class`
will then iterate through each item in the set and compare it with the query term. If there is a
similarity score of `>=0.8`, the closest match will be printed.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

perhaps you could show a diagram (sequence or class) to complement this explanation?


#### How did you determine that the magic similarity value to be used is 0.8?
It was through vigorous trial and testing that 0.8 seems like the most appropriate value.

#### An example of AutoSuggestions
Assuming we have an elderly that exist in the system called `John Tan`. We, as the user, remember
that his name was `<SOMETHING> Tan`, and it was either `Josh` or `John`. We try `Josh`
first.

![Example of AutoSuggestions](team/img/autosuggestions_example.png)

Instead of just prompting that the system could not find `Josh Tan`, the search term went through
the Levenshtein Distance logic and the name `John Tan` returned with a result of `0.9375`. As you
can see, this was our intended result and showcases the intended solution to our problem.

#### Potential Shortcomings of this function
There may be two strings that have similar edit distance to each other but may not be related to
each other. This will include words like `sitting` and `kitten` for example. This may give
inaccurate suggestions. However, since this is **not a key function** and is only meant to be a
complementary tool, **it will not be a major problem**.

### Addition of Next-of-Kin and Record Classes
#### Implementation

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
Would the document look more structured if more indentation was applied or more blank spaces between paragraphs ?



The `Elderly` class interacts with two classes, which is `Next-of-Kin` class and `Record` class. As can
be seen by the association between the three classes, the `Elderly` class stores `Next-of-Kin` and `Record`
as ArrayLists in its attributes.
- `Next-of-Kin` class stores the contact information of the Next-of-Kin, such as name, phone number,
email, address and relationship to the Elderly
- `Record` stores the details of the Elderly, such as the elderly phone number and address
Comment on lines +207 to +212

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

Would a sequence diagram help to explain the process?



This information in both classes is then stored in `Elderly` class.

UML Diagram of the interaction between classes is shown below :
![Screenshot](https://user-images.githubusercontent.com/70097982/138797711-e0545ea3-c0bd-48fc-9e28-48a2814e255f.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.

Same issue with the previous class diagram. The relationships between Elderly, Next-Of-Kin, and Record should be shown with arrows. Therefore, the attributes can be omitted.


Copy link
Copy Markdown

Choose a reason for hiding this comment

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

this is correct UML notation, the first diagram used in the guide can be edited to match this notation (although some standardisation is needed e.g. in Elderly members and visibility symbol have a space in between but not in the other classes)

#### Interaction of Classes

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 be good to add a sequence diagram here to summarise how the function works as the description is slightly lengthy.

`Elderly` class will interact with `Next-of-kin` class through the use of `addNok()` function. This function will

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

unsure if this blank line is intended or not, but does not seem to serve any purpose and is quite abrupt

add and store the Next-of-Kin information into the given elderly. It is possible to store more than
one Next-of-Kin information per elderly, as the information will all be stored in an Array List. This is to
cater to the possibility that the elderly has more than one point of contact. Multiple points of contact is also
extremely useful for the user as it increases the possibility to reach an emergency contact and
ensure a higher sense of security for the elderly.
This Next-of-Kin information can be retrieved at any point by using the `viewNok()` function.


`Elderly` class also interacts with the `Next-of-Kin` class through the use of `removeNok()` function. This function
deletes the particular Next-of-Kin information stored in the `Elderly` class, as specified by the user. The Array List
will no longer reflect the deleted Next-of-Kin information, likewise `viewNok()` will not have this information stored as well.


Interaction of the `Record` class is also similar to the previous interaction. However, the elderly information is
now stored instead. Similarly, `addRecord()` function is called to store the details of the elderly and `viewRecord()`
is used to view the details that are stored.

#### Future Implementation and Considerations

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

a short explanation of how exactly this can be implemented could be given (similar to proposed undo/redo feature in AB3 developer guide here)

`removeRecord()` function has not been implemented yet as it is deemed to be **not critical** in this current phase.
However, it is a large possibility that the elderly would have a change in their phone number and address. In this current
implementation, it is **still possible** for the user to input the new details, as the details are stored in an Array List.
However, it is not the most ideal solution as there might be too many details which can be confusing for the user.
Moreover, there is no indication to show which is the current details that is accurate. Hence, this function should be
implemented in the future to help improve the usability and convenience of the overall user experience.


## Product scope
Hi, welcome to the Elderly in Your Hood.
This is a product that has been developed in order to empower service personnel. Service personnel now have a convenient
and organised method to store information about the elderly they are assisting in an elderly home.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

This looks like UG intro?


### Target user profile
It is for service staffs at the elderly home who works at a PC,
prefers typing, and wants to avoid the tedious tracking of details of each and every
elderly they are assisting.

{Describe the target user profile}

### Value proposition

{Describe the value proposition: what problem does it solve?}


Helpers in elderly care homes are often flooded with information. Different elderly has different conditions, and require so many
methods of care. Traditionally, information are stored as hardcopy in the forms of placards are information books.
However, with our program, we plan to centralise the different information each elderly has, and allow the helper, a fast typer,
to add and retrieve elderly information with ease. This increases productivity.

## User Stories

|Version| As a ... | I want to ... | So that I can ...|
|--------|----------|---------------|------------------|
|v1.0|new user|see usage instructions|refer to them when I forget how to use the application|
|v2.0|user|find a to-do item by name|locate a to-do without having to go through the entire list|
|v1.0|helper|add elderly| keep track of the list of all elderly|
|v1.0|helper|store hospital appointment dates|keep track of all hospital appointment dates for each elderly|
|v1.0|helper|view hospital appointment dates|view all the hospital appointment dates for each elderly|
|v1.0|helper|store elderly medicine types|keep track of the medicine for each elderly|
|v1.0|helper|view elderly medicine types|ensure that the elderly will take the right medicine on time|
|v2.0|helper|categorise elderly by risk level|pay more attention to elderly of higher risk|
|v2.0|helper|add hospital information to medium and high risk elderly|store hospital information specific to the elderly|
|v2.0|helper|view hospital information to medium and high risk elderly|utilise hospital information during emergency|
|v2.0|helper|add conditions of medium and high risk elderly|to keep track of conditions specific to the elderly|
|v2.0|helper|view conditions of medium and high risk elderly|view the conditions of the elderly|
|v2.0|helper|add notes on care of medium and high risk elderly|so that other helpers can render assistance specific to the elderly|
|v2.0|helper|view notes on care of medium and high risk elderly|take notes on how to care for the elderly|
|v2.0|helper|add doctor information to high risk elderly|store doctor information specific to the elderly|
|v2.0|helper|view doctor information to high risk elderly|utilise doctor information during emergency|


## Non-Functional Requirements

{Give non-functional requirements}
1. The product is not required to ensure that the dosage of medicine keyed are safe.
2. The product should work on both 32-bit and 64-bit system.
3. This version of product does not allow for addition of hospital and doctors.

## Glossary

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

In general, the DG is well written but can be organised better (the introduction seems to be at the bottom instead of the top) and have a section for the overall architecture/flow of the app. Would also be good to have a table of contents for better navigability.

@rainish2000 rainish2000 Oct 28, 2021

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Adding to the previous reviewer's feedback, your team could look into having more diagrams of different types such as sequence diagrams (currently only 2 diagrams that are both class diagrams) to show your UML and documentation skills.


Expand Down
Loading