-
Notifications
You must be signed in to change notification settings - Fork 69
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
[v1.5][F14-B2] Medeina #69
base: master
Are you sure you want to change the base?
Changes from 88 commits
d846c85
b31ad7a
a6c95da
381124d
e0393bf
4214e1f
6fa9bff
ba29f54
f9045b2
491ba13
727d3bd
de3e8d6
8d77bbc
c099cc0
5c9884b
4400592
94fe56a
dcc0e79
8aedcd0
df1c702
2bc57a3
8dcbb7f
24fcc0a
578c629
d60dd17
b2253ca
d1d53c5
80b318b
c68b42e
3e92bfd
23695f3
228102e
e9507ad
d211b6c
98c630d
0703b85
3bebc1f
56a6c1a
2e6bc6b
54af85c
0fcae65
af391ad
6d9688a
579e95e
62204ec
d8b5459
77f106f
534c531
cb55fe6
5263f61
db7c115
d32e1b1
963ecbf
1ee6f6e
bff8c78
f940cbc
27e6955
e8abd66
df2f6de
0ca5295
6559b38
3f15e22
37b45e2
b75c2b3
00caff9
bfc77b6
e61c5b4
444b1ca
a0dc10b
2da1f52
3666c6e
c3a9a1c
3b52aa5
820238a
e653ba0
1483fa3
e3064c3
1d8f7ca
7f4f1ba
e55f139
3faec3c
929b7e1
3d9858c
cd7c301
ca46fd1
b246b66
4cdde9b
268317f
12fab80
78c75d5
bbb2f6d
6cbb29c
98ef6f1
61f0539
6f4c46d
36576c5
bb37b3a
b954552
9194c7f
9f26d4f
7c4399b
c6dd25c
c522b1b
a265d83
d32a6b9
26884a1
3830c20
ed856bf
65da42f
6f1eee7
6c2fe7b
5e0dc9f
f7856cf
2492237
766c8ce
ca98d93
1901874
e880551
f9bf400
8d62bda
6728e0c
578e5db
8c238ff
a2d38a9
42045f3
ded4e4c
865544f
326ac41
b693341
9fd41f2
aa9732d
c50b3c9
b111fb6
e18d981
8a35c20
b0ac902
9daa9a4
cffc81b
6152939
2be38ff
db044b2
2cfa5f6
327204f
4acbd54
76840ff
f2d9808
f201702
307a387
b40a44d
47a432b
f65997f
d0bf2be
961e118
fec6628
c7f441d
9e94d86
ed5471a
6a94076
6e96db5
fe2636b
c4762d7
bcf5eec
537677c
ed258ff
7f8dfbe
f6601b6
ca82af3
0adaa57
39fa48c
514bb1e
224cbf0
579f966
db23473
093d1dc
ee351c7
9e12a61
5f97b71
2520963
6c4196a
88e7470
ec6dda5
bccc370
ac2dc17
4ae25df
83c23a5
d8a6572
b38df26
3f2bcfb
fe76917
69aa7c7
c87eac3
2f7e207
0084073
1d735c0
bae9627
5f462d6
188b3a7
83258c4
4154789
2b13216
a4ea075
7ac72fe
67f0925
1713928
da5d442
a26a1b5
6b74d38
8575603
9ce52ad
f0c7d26
0f5fefc
1020e11
cdbd8cd
8f0f38c
38263b8
adcec2f
2b7c4e3
ba0d1e6
a1d84b1
6cb44fa
690aacc
f5a4948
8a4702a
9eda5e4
4763de5
dba0f94
3a9b145
bb74e30
e04278b
ca4fc75
8a05b39
5888f5c
64d585e
4765078
e601415
cdacd8b
5bd3619
3190199
a98f259
f08353f
bd9952f
db45399
67006a1
edaa292
3def45c
7999505
3d9d1fe
aba9ca1
5d4f796
3b7d99a
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,8 @@ | ||
= Address Book (Level 4) | ||
ifdef::env-github,env-browser[:relfileprefix: docs/] | ||
|
||
https://travis-ci.org/se-edu/addressbook-level4[image:https://travis-ci.org/se-edu/addressbook-level4.svg?branch=master[Build Status]] | ||
https://ci.appveyor.com/project/damithc/addressbook-level4[image:https://ci.appveyor.com/api/projects/status/3boko2x2vr5cc3w2?svg=true[Build status]] | ||
https://coveralls.io/github/se-edu/addressbook-level4?branch=master[image:https://coveralls.io/repos/github/se-edu/addressbook-level4/badge.svg?branch=master[Coverage Status]] | ||
https://travis-ci.org/CS2103JAN2018-F14-B2/main[image:https://travis-ci.org/CS2103JAN2018-F14-B2/main.svg?branch=master[Build Status]] | ||
https://coveralls.io/github/se-edu/CS2103JAN2018-F14-B2/main?branch=master[image:https://coveralls.io/repos/github/CS2103JAN2018-F14-B2/main/badge.svg?branch=master[Coverage Status]] | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Good job on updating Travis and Coveralls to point to your repo! |
||
https://www.codacy.com/app/damith/addressbook-level4?utm_source=github.com&utm_medium=referral&utm_content=se-edu/addressbook-level4&utm_campaign=Badge_Grade[image:https://api.codacy.com/project/badge/Grade/fc0b7775cf7f4fdeaf08776f3d8e364a[Codacy Badge]] | ||
https://gitter.im/se-edu/Lobby[image:https://badges.gitter.im/se-edu/Lobby.svg[Gitter chat]] | ||
|
||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -10,7 +10,7 @@ ifdef::env-github[] | |
:tip-caption: :bulb: | ||
:note-caption: :information_source: | ||
endif::[] | ||
:repoURL: https://github.com/se-edu/addressbook-level4/tree/master | ||
:repoURL: https://github.com/CS2103JAN2018-F14-B2/main | ||
|
||
By: `Team SE-EDU` Since: `Jun 2016` Licence: `MIT` | ||
|
||
|
@@ -782,13 +782,16 @@ See this https://github.com/se-edu/addressbook-level4/pull/599[PR] for the step- | |
|
||
*Target user profile*: | ||
|
||
* has a need to manage a significant number of contacts | ||
* prefer desktop apps over other types | ||
* can type fast | ||
* prefers typing over mouse input | ||
* is reasonably comfortable using CLI apps | ||
* tech-savvy veterinarians and their <<assistants, assistants>> | ||
* can type relatively fast while maintaining accuracy | ||
* requires using the desktop in the workplace | ||
* requires <<cli, CLI>> applications for efficiency | ||
* provide veterinary services to domestic animals in Singapore | ||
* has to manage a significant number of <<pet_patients,pet patients>> | ||
* requires the information kept to generally be non-volatile | ||
* needs to search through amounts of data for information | ||
|
||
*Value proposition*: manage contacts faster than a typical mouse/GUI driven app | ||
*Value proposition*: all-in-one vet assistant app that can view and make appointments and search for information | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Well done on defining a clear and specific target user profile. |
||
|
||
[appendix] | ||
== User Stories | ||
|
@@ -800,15 +803,59 @@ Priorities: High (must have) - `* * \*`, Medium (nice to have) - `* \*`, Low (un | |
|Priority |As a ... |I want to ... |So that I can... | ||
|`* * *` |new user |see usage instructions |refer to instructions when I forget how to use the App | ||
|
||
|`* * *` |user |add a new person | | ||
|`* * *` |user |create pet patient profile |register its information | ||
|
||
|`* * *` |user |delete a person |remove entries that I no longer need | ||
|`* * *` |user |find a pet patient by name |locate details of pet patient without having to go through the entire list | ||
|
||
|`* * *` |user |find a person by name |locate details of persons without having to go through the entire list | ||
|`* * *` |user |add appointments |schedule meeting with owners | ||
|
||
|`* *` |user |hide <<private-contact-detail,private contact details>> by default |minimize chance of someone else seeing them by accident | ||
|`* * *` |user |find owner's contact number | | ||
|
||
|`*` |user with many persons in the address book |sort persons by name |locate a person easily | ||
|`* * *` |user |search for an animal's medical history |know next step of treatment | ||
|
||
|`* * *` |user |list out appointments for next day |know what to prepare | ||
|
||
|`* * *` |user |classify types of appointments |organize the appointments better | ||
|
||
|`* * *` |user |cancel an appointment |make space in schedule for other things | ||
|
||
|`* * *` |user |see future appointments |know how to plan my works | ||
|
||
|`* * *` |user |list out appointments for today |prepare for the work | ||
|
||
|`* * *` |user |list out pet patients of a specific species and their owners' contact information |contact them for blood donation | ||
|
||
|`* * *` |user |log in with passwords |protect my pet patients' and their respective owners' information | ||
|
||
|`* * *` |user |reschedule an appointment |make time for emergency situations | ||
|
||
|`* * *` |user |search by owner |retrieve a list of pet patients under a particular owner | ||
|
||
|`* * *` |user |create owner profiles | | ||
|
||
|`* * *` |user |add in owner details such as contact number |contact them when needed | ||
|
||
|`* * *` |user |update pet patients' information | | ||
|
||
|`* * *` |user |see owner's name when checking pet patients' profile |know who it belongs to | ||
|
||
|`* *` |user |delete a pet patient after certain period |remove entries that I no longer need | ||
|
||
|`* *` |user |update status of pet patient (living, deceased) |know the number of pets I am managing now | ||
|
||
|`* *` |user |check who is my assistant for the day/particular pet patient |brief them in advance | ||
|
||
|`* *` |user |have reminders sms sent to pet owners automatically 2 days before appointment| | ||
|
||
|`* *` |user |check services consumed for a particular appointment |know what a pet patient has gone through | ||
|
||
|`* *` |user |update my status |be recognized as an official vet after my training | ||
|
||
|`* *` |user |transfer a pet patient from my clinic to another in case of emergency| | ||
|
||
|`* *` |user |manage the "rooms" in hospital |make space for newly hospitalized pet patient | ||
|
||
|`*` |user with many pet patients in the address book |sort pet patients by name |locate a pet patient easily | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Good job on coming up with a variety of user stories! It does seem like they match the needs of your target user profile. However, you may want to be more specific on the type of user involved for each user story. Do update the |
||
|======================================================================= | ||
|
||
_{More to be added}_ | ||
|
@@ -819,14 +866,14 @@ _{More to be added}_ | |
(For all use cases below, the *System* is the `AddressBook` and the *Actor* is the `user`, unless specified otherwise) | ||
|
||
[discrete] | ||
=== Use case: Delete person | ||
=== Use case: View full details of an appointment | ||
|
||
*MSS* | ||
|
||
1. User requests to list persons | ||
2. AddressBook shows a list of persons | ||
3. User requests to delete a specific person in the list | ||
4. AddressBook deletes the person | ||
1. User requests to list appointments | ||
2. AddressBook shows a list of appointments for the current month | ||
3. User requests to view a specific appointment in the list | ||
4. AddressBook shows the full details of the specified appointment | ||
+ | ||
Use case ends. | ||
|
||
|
@@ -837,21 +884,206 @@ Use case ends. | |
+ | ||
Use case ends. | ||
|
||
* 2b. To retrieve a list of all upcoming appointments, use the command "list -a appointments" | ||
+ | ||
[none] | ||
* 3a. The given index is invalid. | ||
+ | ||
[none] | ||
** 3a1. AddressBook shows an error message. | ||
+ | ||
Use case resumes at step 2. | ||
|
||
[discrete] | ||
=== Use case: Update pet owner's contact information | ||
|
||
*MSS* | ||
|
||
1. User requests to find a pet patient with the name "Joseph" | ||
2. AddressBook shows a list of pet patients with the name "Joseph" | ||
3. User requests to view contact information of a specific pet patient | ||
4. AddressBook shows the pet patient's owner's contact information | ||
5. User requests to modify the pet patient's owner's contact information | ||
6. AddressBook shows the pet patient's updated contact information | ||
+ | ||
Use case ends. | ||
|
||
*Extensions* | ||
|
||
[none] | ||
* 2a. The list is empty. | ||
+ | ||
Use case ends. | ||
|
||
* 3a. The given index is invalid. | ||
+ | ||
[none] | ||
** 3a1. AddressBook shows an error message. | ||
+ | ||
Use case resumes at step 2. | ||
|
||
* 5a. The given command is invalid. | ||
+ | ||
[none] | ||
** 5a1. AddressBook shows the correct command usage to edit pet patient's information. | ||
+ | ||
Use case resumes at step 2. | ||
|
||
[discrete] | ||
=== Use case: Retrieve medical history of a pet patient | ||
|
||
*MSS* | ||
|
||
1. User requests to find a pet patient with the name "Joseph" | ||
2. AddressBook shows a list of pet patients with the name "Joseph" | ||
3. User requests to view medical history of a specific pet patient | ||
4. AddressBook shows the pet patient's medical history | ||
+ | ||
Use case ends. | ||
|
||
*Extensions* | ||
|
||
[none] | ||
* 2a. The list is empty. | ||
+ | ||
Use case ends. | ||
|
||
* 3a. The given index is invalid. | ||
+ | ||
[none] | ||
** 3a1. AddressBook shows an error message. | ||
+ | ||
Use case resumes at step 2. | ||
|
||
* 4a. No medical history (empty). | ||
+ | ||
Use case ends. | ||
|
||
[discrete] | ||
=== Use case: Retrieve information of a particular owner (contact details, pet patients owned by him/her, and appointments made) | ||
|
||
*MSS* | ||
|
||
1. User requests to find an owner named "Mavis" | ||
2. AddressBook shows a list of owners with "Mavis" as part of their name | ||
3. User requests to view information of a specific owner | ||
4. AddressBook shows information about the owner | ||
+ | ||
Use case ends. | ||
|
||
*Extensions* | ||
|
||
[none] | ||
* 2a. The list is empty. | ||
+ | ||
Use case ends. | ||
|
||
* 3a. The given index is invalid. | ||
+ | ||
[none] | ||
** 3a1. AddressBook shows an error message. | ||
+ | ||
Use case resumes at step 2. | ||
|
||
[discrete] | ||
=== Use case: Generate a pdf report of a pet patient's medical history and owner's contact information | ||
|
||
*MSS* | ||
|
||
1. User requests to find a pet patient with the name "Joseph" | ||
2. AddressBook shows a list of pet patients with the name "Joseph" | ||
3. User requests for a pdf report of a specific pet patient on the list | ||
4. AddressBook generates a pdf report for the user | ||
+ | ||
Use case ends. | ||
|
||
*Extensions* | ||
|
||
[none] | ||
* 2a. The list is empty. | ||
+ | ||
Use case ends. | ||
|
||
* 3a. The given index is invalid. | ||
+ | ||
[none] | ||
** 3a1. AddressBook shows an error message. | ||
+ | ||
Use case resumes at step 2. | ||
|
||
[discrete] | ||
=== Use case: Generate a pdf report of a particular owner's full information e.g. contact details, list of pet patients under this owner and their medical histories | ||
*MSS* | ||
|
||
1. User requests to find an owner with the name "Mavis" | ||
2. AddressBook shows a list of owners with the name "Mavis" | ||
3. User requests for a pdf report of a specific owner on the list | ||
4. AddressBook generates a pdf report for the user | ||
+ | ||
Use case ends. | ||
|
||
*Extensions* | ||
|
||
[none] | ||
* 2a. The list is empty. | ||
+ | ||
Use case ends. | ||
|
||
* 3a. The given index is invalid. | ||
+ | ||
[none] | ||
** 3a1. AddressBook shows an error message. | ||
+ | ||
Use case resumes at step 2. | ||
|
||
[discrete] | ||
=== Use case: Add tag(s) to a pet owner | ||
|
||
*MSS* | ||
|
||
1. User requests to find an owner with the name "Mavis" | ||
2. AddressBook shows a list of owners with the name "Mavis" | ||
3. User requests to add tags to a specific owner on the list | ||
4. AddressBook shows updated owner information | ||
+ | ||
Use case ends. | ||
|
||
*Extensions* | ||
|
||
[none] | ||
* 2a. The list is empty. | ||
+ | ||
Use case ends. | ||
|
||
* 3a. The given index is invalid. | ||
+ | ||
[none] | ||
** 3a1. AddressBook shows an error message. | ||
+ | ||
Use case resumes at step 2. | ||
|
||
* 3b. The given tag(s) is/are invalid. | ||
+ | ||
[none] | ||
** 3b1. AddressBook shows a list of valid tags. | ||
+ | ||
Use case resumes at step 2. | ||
|
||
_{More to be added}_ | ||
|
||
[appendix] | ||
== Non Functional Requirements | ||
|
||
. Should work on any <<mainstream-os,mainstream OS>> as long as it has Java `1.8.0_60` or higher installed. | ||
. Should be able to hold up to 1000 persons without a noticeable sluggishness in performance for typical usage. | ||
. A user with above average typing speed for regular English text (i.e. not code, not system admin commands) should be able to accomplish most of the tasks faster using commands than using the mouse. | ||
. The system should work on Windows, Linux and macOS as long as it has Java `1.8.0_60` or higher installed. | ||
. A user (vet or vet assistant) with above average typing speed for regular English text (i.e. not code, not system administrative commands) should be able to accomplish most of the tasks faster using commands than using the mouse. | ||
. The system should be accessible, even without any Internet connection (or with poor Internet connection). | ||
. The system should be able to hold the information of at least 1000 patients (pets) and their respective owners without noticeable sluggishness in performance for typical usage. | ||
. The system should be stable (runs without crashing, even for extended hours) and responsive (with a maximum lag of 2 seconds) due to the possibility of patient emergencies. | ||
. The system should be reliable and accurate (i.e. information keyed in is guaranteed to be saved, information retrieved is guaranteed to be accurate based on what was keyed in previously). | ||
. The system must have sufficient security (such as password protection / encrypted storage file) to protect the confidentiality of the patients (pets) and their respective owners. This is also to ensure compliance with PDPA. | ||
. Patient's and owner's information should be easily and accurately backed up, with zero errors in the information. | ||
. Restoring patient's and their respective owner's information should be an easy process. | ||
. The system should have sufficient commands / functions to ensure that information can be maintained and managed easily. Basic operations such as add, delete, find, update must be included for patients and their respective owners. | ||
|
||
_{More to be added}_ | ||
|
||
|
@@ -861,8 +1093,15 @@ _{More to be added}_ | |
[[mainstream-os]] Mainstream OS:: | ||
Windows, Linux, Unix, OS-X | ||
|
||
[[private-contact-detail]] Private contact detail:: | ||
A contact detail that is not meant to be shared with others | ||
[[assistants]] Assistants:: | ||
People who help Veterinarians (receptionist, technicians etc.) | ||
|
||
[[cli]] CLI:: | ||
Command Line Interface | ||
|
||
[[pet_patients]] Pet Patients:: | ||
Domestic animals which seek veterinary services | ||
|
||
|
||
[appendix] | ||
== Product Survey | ||
|
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.
Do remember to update this to your product name!